我知道这个问题以前曾被问过,例如这里递归统计目录中的所有文件,但这让我抓狂了。让我解释一下:我在服务器上有一个名为“data”的目录,其中包含大量子目录。如果我调用
find data -type f | wc -l
上面写着 23609。
如果我使用 Transmit(Mac 应用程序)通过 FTP 下载整个目录,完成后应用程序会显示“已下载 35968 个项目”,这与文件+目录匹配,所以没问题。
如果我在本地目录运行相同的命令,我会得到 23609。
现在。
如果我使用 gzip 压缩服务器上的同一目录,则使用:
tar -zcvf /mydir/data.tar.gz /.....directories/data
通过 FTP 将该单个文件解压,然后在解压后的目录上运行相同的命令,我得到了 23441!因此,gzip 文件中缺少 168 个文件。压缩文件大小为 9.54 GB。
我对其运行了 diff,发现有 2 个子目录中缺少文件,而这些文件在 gz 中完全缺失,另外 2 个目录仅包含部分文件。
我无论如何也想不出为什么会有所不同。两个目录一些丢失的文件有 3478 和 1589 个文件。完全丢失的只有几个。
我看不出权限和大小有什么区别。它们都有随机生成的文件名,比如'7eac63ce-75b3-4b7a-b569-1c5fb0f57f7b'
我被难住了。希望有人能解释一下为什么没有包含所有文件,我在这方面不是很在行。
(使用 gzip 1.5 版权所有 (C) 2007、2010、2011 自由软件基金会,Inc. 版权所有 (C) 1993 Jean-loup Gailly。)