はじめて学ぶバイナリ解析を読んでいて
echoコマンドで-eを指定すると
数字で渡したASCIIコードを文字に変換する事が出来ると知った
そもそも、echo コマンドのオプションeは
エスケープシーケンスを解釈するという意味
echoコマンド
echo -e "\x21"
!
エスケープシーケンス
\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
↧