我是 Linux 新手,很抱歉我问了一个简单的问题。我在Ubuntu上。
我有这个目录:
$ ls -al
total 16
drwxr-xr-x 2 alberto alberto 4096 2011-04-03 16:02 .
drwxr-xr-x 4 alberto alberto 4096 2011-04-03 16:01 ..
-rw-r--r-- 1 alberto alberto 7 2011-04-03 16:02 .hidden
-rw-r--r-- 1 alberto alberto 4 2011-04-03 15:51 testfile
当我跑步时du
,我期待这个:
$ du
4 testfile
4 .hidden
但我得到这个:
$ du
12 .
$ du *
4 testfile
$ du .*
12 .
20 ../snippet
12 ../test
52 ..
4 .hidden
为什么会发生这种情况?
答案1
du
按目录汇总磁盘使用情况。在您的示例中,由于当前目录没有子目录,因此输出是一行。
如果在命令行上传递文件名,则会报告其大小。如果传递多个文件的名称,则相当于运行du
多次;因此du .*
相当于du .; du ..; du .hidden
.
运行du -a
查看每个文件占用的空间。
$ du -a
4 .hidden
4 testfile
12 .
几乎
:在某些系统上,如果常规文件具有多个硬链接,则仅在特定调用中第一次到达时才对其进行计数du
。