我想使用以下命令来估计目录使用的磁盘空间量。
du -sh dir_name
不会计算隐藏目录。在du的手册页中没有关于它的信息。如何计算目录(包括隐藏文件)使用的磁盘空间量。
我想使用以下命令来估计目录使用的磁盘空间量。
du -sh dir_name
不会计算隐藏目录。在du的手册页中没有关于它的信息。如何计算目录(包括隐藏文件)使用的磁盘空间量。
Answers:
实际上,这是证明:
mkdir .test
echo "hi" > .test/appo
du -a
4 ./.test/appo
8 ./.test
12 .
该-a选项用于显式显示要计数的文件。
您正在使用du *吗?
此命令显示隐藏目录的摘要大小
du -hs .[^.]*
正确的命令是: 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不要列出它们!
仅供参考,为了估算各种目录占用的空间,使用ncdu更好
您可以在ncurses GUI中的各个目录之间导航,它将显示每个目录的大小。如果我使用du,则必须为要检查的每个目录执行du命令,这可能很麻烦。您也可以在ncurses GUI中根据占用的大小对目录进行排序。
du。除了更高级的显示方法外,没有任何功能差异的明显迹象。
d删除目录的绑定,因此您可以直接从界面中进行清理。
它有,但没有。例:
在主目录中:(仅存在一个用户)
du -sh /home/*
2.6G /home/user
在用户目录中:(总和之间的巨大差异)
du -sh *
61M bin
2.0M dump-20130124104823.tar.gz
651M public_html
472K twitter-2.0.0.gem
11M wkhtmltopdf-0.11.0_rc1-static-amd64.tar.bz2
原因是:
du -sh /home/user/.rvm/
1.9G /home/user/.rvm/
du 会在降级到子目录时计算隐藏目录,但是在当前目录中*根本不与.directory_name模式匹配,因此将省略当前目录的隐藏元素。
我花了一些时间才弄清楚,而且正如shadyabhi建议的那样,如果我使用过ncdu,那将是显而易见的。
find -maxdepth 1 -exec du -sh "{}" \; | sort -h
这给您:
它还对输出进行排序,以便于查看最大的输出。我还在~/.bash_aliases文件中将此别名作为别名。
alias big='find -maxdepth 1 -exec du -sh "{}" \; | sort -h'
alias sbig='sudo find -maxdepth 1 -exec du -sh "{}" \; | sort -h'
现在,只要需要sudo权限,我就可以执行big查找目录中最大的目录sbig。
du -ahd1 | sort -hr | head -10
以下是对-doption 的描述du --help:
-d,--max-depth = N仅在目录参数低于命令行参数N个或更少级别时才显示目录(或文件,带有--all)的总数;--max-depth = 0与--summarize相同
此命令将帮助您检查磁盘使用情况是否进入目录并执行以下操作。
“ du -sch。[!。] * * | sort -h”
这是有关如何计算特定目录的磁盘使用量的演示。我创建了一个名为Du_sh的目录,并在其中创建了两个文件(一个隐藏10 MB,通常20 MB)。
nikhil@debian:~$ mkdir Du_sh
nikhil@debian:~$ cd Du_sh/
nikhil@debian:~/Du_sh$ dd if=/dev/zero of=.10MB bs=1024 count=10240
10240+0 records in
10240+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.0299941 s, 350 MB/s
nikhil@debian:~/Du_sh$
nikhil@debian:~/Du_sh$ dd if=/dev/zero of=20MB bs=2048 count=10240
10240+0 records in
10240+0 records out
20971520 bytes (21 MB, 20 MiB) copied, 0.0342258 s, 613 MB/s
nikhil@debian:~/Du_sh$ du -sch .[!.]* *
10M .10MB
20M 20MB
30M total
nikhil@debian:~/Du_sh$ du -sch .[!.]* * | sort -h
10M .10MB
20M 20MB
30M total
nikhil@debian:~/Du_sh$
... you maybe using "du *" ?