压缩文件列表与目录列表的计数不同

压缩文件列表与目录列表的计数不同

我正在备份一个文件夹,我在其中使用了以下命令:

sudo tar -zcvf www.tar.gz /var/www/

它成功压缩,只是为了验证压缩存档中的文件数量,以及我运行以下命令的目录:

sudo tar -ztvf www.tar.gz | wc -l ->186364

ls -R /var/www | wc -l->196440

为什么计数不同,我错过了什么?

答案1

查看没有管道的输出以wc查看差异

$ ls -R www | cat
www:
dir1
dir2
file1

www/dir1:
file1

www/dir2:
file1
file2
$ ls -R www | wc -l
11

$ tar xvfz www.tar.gz
www/
www/dir1/
www/dir1/file1
www/dir2/
www/dir2/file1
www/dir2/file2
www/file1
$ tar xvfz www.tar.gz |wc -l
7

ls -R 只是产生更多的输出。

答案2

ls -R在输出中添加一些额外的空行,这会导致计数增加。

您可以通过运行命令来测试它,ls -R而无需通过管道将其传递到wc -l

答案3

使用tree命令

tree -i |tail

这将为您提供特定文件夹中的文件夹和文件的数量。

相关内容