结果ls是 之间的差异*?例如:
ls | du -sh
将只显示当前目录的总大小的一行。
du -sh *
将显示当前目录中每个文件或子目录的大小。
为什么结果不一样?
ls | du -sh只报告的大小,.因为du不支持从标准输入读取目录名称。
因此,执行会ls | du -sh浪费ls并给出与仅运行相同的结果du -sh。
du -sh不从标准输入读取。所以whatever | du -sh是一样的du -sh。
du -sh *但是扩展为du -sh file1.txt file2.txt file3.txtfile1.txt, ... 是当前目录中的文件/目录。
当为du -sh输出指定多个文件时,将显示每个文件的总和,而du -sh仅显示当前目录的总和。
您可能会考虑将to的输出作为参数du $(ls)实际传递。但这可能不是一个好主意,因为文件名可能很难看(包含空格,甚至换行符等)并且只会对此感到困惑。lsdudu
考虑结合findanddu代替。