$ ls -lh file1.tar
-rw-r--r-- 1 wnice wnice 40K Aug 6 20:41 file1.tar
$ du -sh file1.tar
80K file1.tar
为什么显示同一个文件的大小不同?请帮我理解一下
答案1
该du
命令显示磁盘空间有多少用过的对于给定的文件。
相反,该ls
命令显示文件的大小。使用的空间可能大于文件大小,具体取决于使用的文件系统。
例如,我们可以像这样创建一个大小为 1 字节的文件(文件中只有一个换行符):
echo > tmp.txt
ls -l
然后使用显示一个字节大小的命令检查其大小:
ls -l tmp.txt
-rw-r--r-- 1 elias elias 1 aug 6 17:50 tmp.txt
然后使用 du 检查已用空间:
du -h tmp.txt
4,0K tmp.txt
因此,在这个例子中,虽然文件大小只有一个字节,但使用的磁盘空间是4千字节。