我需要知道文件夹及其子文件夹的大小。因此,我尝试使用杜命令。
我光盘进入正确的目录,然后尝试(在狂欢):
[xxx@yyy TEST]$ du -sh .
4.1G .
[xxx@yyy TEST]$ du -sh *AAA
3.2G 123_AAA
[xxx@yyy TEST]$ du -sh . *A
4.1G .
2.7G 123_AAA
我怎么可能得到不同的结果123_AAA(3.2GB 然后 2.7GB)用我的第二条和第三条命令?
先感谢您
答案1
我认为 du 知道硬链接。尝试一下du -shl . *A
。
答案2
du
按顺序处理参数并跟踪 inode,以便它们只被计算一次(如果使用 ,则为两次-c
)。但是,我不明白123_AAA
在 之后列出时如何计算.
。我想到的第一个解释是,在命令行上列出时,符号链接可能会被不同地处理,但那是使用选项-D
,而不是默认的。不跨越文件系统边界可能是另一个候选者,但-x
默认情况下也不启用。
答案3
但是,当我检查手册页时,我无法复制此错误:
SYNOPSIS
du [OPTION]... [FILE]...
所以我认为你一次只能有一个文件参数。不知道为什么你甚至会得到最后一个命令的结果:
wilhelm@server ~ $ du -sh .
2.1G .
wilhelm@server ~ $ du -h wa
4.0K wa
wilhelm@server ~ $ du -sh wa
4.0K wa
wilhelm@server ~ $ du -sh . wa
2.1G .