我想使用以下命令估计目录使用的磁盘空间量。
du -sh dir_name
它不计算隐藏目录。du 的手册页中没有关于它的信息。如何计算包括隐藏文件在内的目录使用的磁盘空间量。
答案1
事实上确实如此,证据如下:
mkdir .test
echo "hi" > .test/appo
du -a
4 ./.test/appo
8 ./.test
12 .
该-a
选项用于明确显示哪些文件已被计算。
你正在用吗du *
?
答案2
此命令使用正则表达式显示隐藏目录的汇总大小:
du -hs .[^.]*
答案3
正确的命令是:du -hs $(ls -A)
$ du -hs $(ls -A)
0 test
0 .test
du -hs .* *
正如另一个答案中提到的,如果您想列出所有文件和子目录(包括隐藏文件和子目录),这是不正确的。
例子 :
$ touch test
$ touch .test
$ echo *
test
$ echo .* *
. .. .test test
$ du -hs .* *
4,0K .
1,8G ..
为什么会du
这样?因为你使用了-s
总结结果,并且所有文件和子目录都是子目录,.
所以du -hs
没有列出它们!
答案4
du -ahd1 | sort -hr | head -10
-d
以下是选项的描述du --help
:
-d, --max-depth=N 仅当目录(或文件,使用 --all)低于命令行参数的级别为 N 或更少时才打印该目录的总数;--max-depth=0 与 --summarize 相同