为什么cat大小比实际文件小?

时间:2015-05-23 08:25:59

标签: bash cat

我想知道这里发生了什么,如果事实上我正在正确地连接文件或者正在丢失其中一些文件。因此,我想将文件夹(称为de)中的所有文件(所有txt)捕获到单个txt文件中。以下是我的两种方式:

cat de/* >> de_merged_all
du -h de_merged_all
353M    de_merged_all

现在如果我检查文件夹de的大小,我得到:

 du -h de
 383M   de

那么,为什么这些数字不匹配?

1 个答案:

答案 0 :(得分:8)

du衡量磁盘使用情况。由于文件系统将每个文件向上舍入到更大的块,因此单个小文件比单个组合文件占用更多存储空间。

例如:

$ echo >a
$ ls -l a
-rw-r--r-- 1 user group 1 May 23 18:33 a
joe@seashell:/tmp$ du -h a
4.0K    a

一个单字节文件在磁盘上占用4KiB。