2010-08-03 17:58:26 +0000 2010-08-03 17:58:26 +0000
142
142

用终端列出当前文件夹的大小?

我想要一个当前目录下的文件夹列表,或者是我指定的文件夹的大小。

我试过用du,但我只得到我指定的目录的大小(du . ./f1),而ls不显示文件夹的大小。

答案 (9)

223
223
223
2010-08-03 18:29:55 +0000

如果你想显示当前目录中的所有目录:

$ du -sh */
788K foo/
500K bar/
931K baz/

要显示从另一个目录开始的目录:

$ du -sh /path/to/dir/*/
48K /path/to/dir/dir1/
4.0K /path/to/dir/dir2/
6.7M /path/to/dir/dir3/
20K /path/to/dir/dir4/
8.0K /path/to/dir/dir5/
44K /path/to/dir/dir6/

如果你想确保以点开头的目录被包含在内,请先做shopt -s dotglob

19
19
19
2013-03-02 05:23:56 +0000

在 Mac 上, –max-d [深度]选项被 -d [深度]所取代。因此,要查看根目录驱动器加上两层深度的可读列表,请使用下面的命令:

du -hd 2 /*

注意:此命令将显示根目录以外的最上面两层目录。这包括遍历一层到你的Volumes_,并将列出每个附加卷中的每个顶层目录的大小。根据你所附加的内容,这个命令可能需要一些时间来完成。

14
14
14
2010-08-03 19:32:55 +0000
du -h --max-depth=1 .

&001

将列出当前文件夹下的所有目录和文件的大小。

5
5
5
2010-08-03 18:09:10 +0000

试试:

$ du -s ./f1

$ du -sh ./f1

,以获得更友好的可读尺寸。

4
4
4
2018-03-02 22:17:45 +0000

在接受答案的基础上,这个命令将显示出目录中文件夹的大小,并且_还将按大小列出这些文件夹,以便于你更容易理解:

$ du -sh */ | sort -rn
2
2
2
2015-06-30 15:39:04 +0000

$ du --max-depth=1 /var/www/ | sort -n -r

2
2
2
2016-06-12 12:26:54 +0000

值得一提的是NCurses Disk Usage shell命令。

Ncdu是一个带有ncurses界面的磁盘使用情况分析器。它的目的是为了在远程服务器上寻找空间占用者,在没有整个图形化设置的情况下,即使在普通的桌面系统上也是一个有用的工具。Ncdu的目标是快速、简单、易用,应该可以在任何安装了ncurses的类似POSIX的环境中运行。

1
1
1
2017-03-27 23:47:09 +0000

下面是一个POSIX脚本,它可以与以下内容一起工作:

  • 一个文件
  • 文件
  • 文件
  • 目录
  • 目录
  • 目录 #!/bin/sh ls -ARgo "$@" | awk '{q += $3} END {print q}'
1
1
1
2017-09-28 15:32:12 +0000

在Mac上,你可以用Homebrew(du)安装GNU(Linux)的实现。然后,例如

gdu folder -shL --exclude=.git

其中 - brew install coreutils是给gdu的GNU实现的名称 (默认情况下,Homebrew不会隐藏du); - /usr/bin/du会产生指定文件夹的总和 (如果你想看明细表,请省略); - s会输出人类可读的大小; - h会按照symlinks的方式进行操作;

- L会在指定文件夹中排除git目录 (这只是一个例子)。

你可以通过添加--exclude=.git来忽略更多的文件夹。你也可以同时指定多个文件夹(即--exclude=blah),在这种情况下,你可以使用选项gdu folder1 folder2 ...将所有的子文件夹合并成一个大小。