ls -l
时得到的格式。问题是,有一个单行命令可以执行此操作吗?我看到其他人只有很长的命令才能输出此命令。那太长了。
哪个命令可以执行此操作,或者可以轻松键入哪些命令组合?
du -h
给出了它,但是它显示了我不想要的所有子文件夹。只是当前目录文件夹。#1 楼
您可能想查看按大小排序的目录:$ du -hs * | sort -hr
856M lib
746M share
612M lib64
312M src
267M java
239M bin
179M sbin
173M local
93M i686-w64-mingw32
72M libexec
26M include
20M puppet
772K X11R6
20K man
4.0K games
4.0K etc
0 tmp
#2 楼
试试这个du -h --max-depth=1
输出
oliver@home:/usr$ sudo du -h --max-depth=1
24M ./include
20M ./sbin
228M ./local
4.0K ./src
520M ./lib
8.0K ./games
1.3G ./share
255M ./bin
2.4G .
替代
如果
--max-depth=1
是对于您的口味来说太长了,您也可以尝试使用:du -h -s *
这使用
-s
(--summarize
),并且默认情况下只会打印文件夹本身的大小。通过传递当前工作目录(*
)中的所有元素,它将产生与--max-depth=1
类似的输出:Output
oliver@cloud:/usr$ sudo du -h -s *
255M bin
8.0K games
24M include
520M lib
0 lib64
228M local
20M sbin
1.3G share
4.0K src
区别是微妙。前一种方法将显示当前工作目录的总大小以及其中包含的所有文件夹的总大小...但是只能显示深度为1。
后一种方法将计算单独通过的所有项目的总大小。因此,它在输出中包括符号链接
lib64
,但不包括隐藏项(其名称以点开头)。它还缺少当前工作目录的总大小,因为它没有作为参数传递。评论
完美的答案。在Mac OSX上,无法识别--depth参数。使用du -h -d 1可获得相同的结果。
–迪伦
2014年9月4日在21:46
#3 楼
打印磁盘上所有文件文件夹和隐藏文件的大小:el@dev /home/el $ du -sh `ls -a`
258M .
265M ..
4.0K .classpath
258M .git
4.0K .gitignore
9.0K nbactions.xml
12K README
20K .README.swp
4.0K run.sh
23K XmlPostPropagate.php
评论
但是要当心!为什么不应该解析ls(1)的输出
–卡米尔·马乔洛夫斯基(Kamil Maciorowski)
17年11月24日在7:03
#4 楼
值得一提的是“ NCurses磁盘使用率” shell命令。Ncdu是具有ncurses接口的磁盘使用率分析器。它被设计为在没有完整图形设置可用的远程服务器上查找太空猪,但是即使在常规台式机系统上,它也是一个有用的工具。 Ncdu旨在快速,简单和易于使用,
并且应该能够在安装了
ncurses的任何最小的POSIX类似环境中运行。
评论
如果目录中有大量条目,则此方法不起作用。 bash:/ run / current-system / sw / bin / du:参数列表过长
–克里斯·斯特里钦斯基(Chris Stryczynski)
19年2月23日在19:13