【发布时间】:2012-06-21 18:25:57
【问题描述】:
如果我在 ubuntu 中像这样创建一个文件:“echo "asd" > file.txt" 并执行 ls -l file.txt 它说它的大小是 4 个字节,但我只写了 3 个(asd) .如果我执行“cat file.txt”,它会显示我添加的 3 个字符。为什么文件有 4 个字节大?
【问题讨论】:
如果我在 ubuntu 中像这样创建一个文件:“echo "asd" > file.txt" 并执行 ls -l file.txt 它说它的大小是 4 个字节,但我只写了 3 个(asd) .如果我执行“cat file.txt”,它会显示我添加的 3 个字符。为什么文件有 4 个字节大?
【问题讨论】:
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 字符。那是第四个字符,换行符。
【讨论】: