はじめて学ぶバイナリ解析を読んでいて
echoコマンドで-eを指定すると
数字で渡したASCIIコードを文字に変換する事が出来ると知った
そもそも、echo コマンドのオプションeは
エスケープシーケンスを解釈するという意味
エスケープシーケンス
\a
アラート文字(ベル,beep音)を表示します。
echo -e "ALERT\a"
ALERT
\b
バックスペース文字を表示します
echo -e "BACK\b "
BAC
echo -e "BACK\bH"
BACH
\c
\cの後ろに指定した文字は出力されない
echo -e "TEST\cTEST"
TEST
\f
フォームフィード文字(改ページ)
フォームフィードはプリンターで改ページすること
紙送りをして、次の用紙の先頭から印刷すること。 また、そのための制御文字(FF)のこと。
echo -e "TEST\fTEST"
TEST
TEST
\n
改行文字
echo -e "TEST1\nTEST2"
TEST1
TEST2
echo -e "TEST1\n\nTEST2"
TEST1
TEST2
\r
復帰文字 同じ行の先頭に戻る
echo -e "TEST1\rTEST2"
TEST2
\t
タブ文字
echo -e "TEST1\tTEST2"
TEST1 TEST2
\v
垂直タブ文字
垂直タブ文字を使うと垂直方向的なカーソル移動(タブ挿入)が行われる。
echo -e "TEST1\vTEST2"
TEST1
TEST2
echo -e "TEST1\v\vTEST2"
TEST1
TEST2
\0nnn
ASCIIコードがnnn(8進数)の文字。
nnnは0から3個の8進数字
1〜3桁の8進数で表されたASCIIコードの文字(0〜7)
echo -e "\0101"
A
ASCII ⇔ 8進数変換表
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
---|---|---|---|---|---|---|---|---|
0 | NULL | SOH | STX | ETX | EOT | ENQ | ACK | BEL |
1 | BS | HT | LF | VT | FF | CR | SO | SI |
2 | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB |
3 | CAN | EM | SUB | ESC | FS | GS | RS | US |
4 | SP | ! | " | # | $ | % | & | ' |
5 | ( | ) | * | + | , | - | . | / |
6 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
7 | 8 | 9 | : | ; | < | = | > | ? |
10 | @ | A | B | C | D | E | F | G |
11 | H | I | J | K | L | M | N | O |
12 | P | Q | R | S | T | U | V | W |
13 | X | Y | Z | [ | \ | ] | ^ | _ |
14 | ` | a | b | c | d | e | f | g |
15 | h | i | j | k | l | m | n | o |
16 | p | q | r | s | t | u | v | w |
17 | x | y | z | { | | | } | ~ | DEL |
\xnn
nnに16進数を表記すると16進数に対応したASCII文字が出力される
echo -e "\x21"
!
ASCII ⇔ 16進数変換表
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | NULL | SOH | STX | ETX | EOT | ENQ | ACK | BEL | BS | HT | LF | VT | FF | CR | SO | SI |
1 | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | CAN | EM | SUB | ESC | FS | GS | RS | US |
2 | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
3 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
4 | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
5 | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
6 | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
7 | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | DEL |