1

如果我像这样在 ubuntu 中创建一个文件:“echo "asd" > file.txt" 并执行 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 in echo 关闭换行符

hd向您显示流的十六进制转储。你会看到最后的0a角色。那是第四个字符,换行符。

于 2012-06-19T16:51:55.823 回答