mac via terminal上的文件和目录大小与实际大小不同

时间:2016-12-06 12:59:33

标签: bash macos size du

在Mac上,我想计算文件夹的大小:

ls -la产生以下输出:

PC:aggregations user$ ls -la
total 16
drwxr-xr-x   4 user  staff   136 Dec  6 14:33 .
drwxr-xr-x  23 user  staff   782 Dec  6 11:29 ..
-rw-r--r--@  1 user  staff  1954 Dec  6 14:33 test_agg_1.csv
-rw-r--r--@  1 user  staff  1954 Dec  4 11:00 test_agg_2.csv

为什么当前目录(.)的大小仅为136字节,而csv文件总和为~4000个字节?

此外,du -s产生:

PC:aggregations user$ du -s *
8   test_agg_1.csv
8   test_agg_2.csv
PC:aggregations user$ du -s
16  .

有人可以给出解释并建议我如何计算目录的实际大小?

2 个答案:

答案 0 :(得分:3)

使用-c中的du标记获得总计。

根据man du页面

-c      Display a grand total.

因此,假设我当前文件夹中有以下内容。

dudeOnMac:myScripts freddy$ du -ch .
  0B    ./a
4.9M    ./abcd
4.0K    ./b
  0B    ./hello-images/first-black
  0B    ./hello-images/second-atlas
  0B    ./hello-images
  0B    ./temp/a
  0B    ./temp/b
4.0K    ./temp
5.0M    .
5.0M    total

单独获得总额。

dudeOnMac:myScripts freddy$ du -ch . | tail -1
5.0M    total

在MacOS上测试。

答案 1 :(得分:1)

  

du(1) - Linux手册页

     

名称

     

du估计文件空间使用情况

     

...

     

描述

     

以递归方式为目录汇总每个FILE的磁盘使用情况。

我认为'du'在加载到内存后会查看'磁盘大小'而不是实际大小。

使用量子的8kb的块大小,'du'的结果对第一个('ls -la')的比较有意义。