1

「echo "asd" > file.txt」のようにubuntuでファイルを作成し、ls -l file.txtを実行すると、サイズは4バイトであると表示されますが、3(asd)しか書きませんでした。「cat file.txt」を実行すると、追加した 3 文字が表示されます。ファイルが 4 バイト大きいのはなぜですか?

4

1 に答える 1

10

asd+ 改行文字 = 4 バイト

$ echo asd | wc -c
4
$ echo -n asd | wc -c
3
$ echo asd | hd
00000000  61 73 64 0a                                       |asd.|
00000004

-n の echo スイッチで改行をオフにします

hdストリームの 16 進ダンプを表示します。最後に登場人物が見えます0a。それが 4 番目の文字、改行です。

于 2012-06-19T16:51:55.823 に答える