查找正在使用* nix中所有空间的内容


21

从特定目录(包括所有子目录)开始,哪个命令序列可以告诉我哪些文件最大?我想知道所有空间都去了哪里。

最好仅使用常规的unix'y命令。

如果可能,请尝试使其与Sun OS 5.10兼容(也许除了常规的Linux回答外,不能替代它,以使其尽可能通用)。


SU有两票,SF有两票。哪个更合适?我认为,这可能属于任何一个。
mmyers,2009年

5
@mmyers:交给SU ... SU需要真实的问题!
Shog9

1
但是SU已经有一个非常相似的问题!superuser.com/questions/9847/…–
约尼克,

Answers:


11

我个人比较喜欢du -sh *查看每个目录在当前目录中的大小。

您也可以先排序以拥有更大的文件夹:du -shx * | sort -hr。对于du

  • -s, --summarize:每个参数仅显示总计
  • -h, --human-readable:以人类可读的格式打印尺寸(例如1K 234M 2G)
  • -x, --one-file-system:跳过不同文件系统上的目录

对于sort

  • -h, --human-numeric-sort:比较人类可读的数字(例如2K 1G)

这实际上对于次要mod确实有用du -s * | sort -nr
Alex Budovski

5
您可以使用来将文件大小保持为可读格式du -sh * | sort -hr
豪尔赫·以色列·佩尼亚2014年

du -shx * | sort -hr很好,但是它只返回当前目录。我将如何在整个系统范围内使用?我又如何排除100mb以下的所有内容?谢谢。
TEM

这取决于它在shell上的调用。那么*是什么使得它适用于在当前目录中的一切,但是你可以很容易改变到例如some/other/path/*,或者如果你只是想在一个目录作为一个整体运行它,然后忽略*glob模式。至于过滤掉的东西,也许要问一个单独的问题。
豪尔赫·以色列·佩尼亚

要在系统范围内递归运行它,您可能希望将其与find某个目录根目录配对,并使用其-exec参数来调用du。该find程序本身或许可以筛选基于文件的大小与类似size +100M。看到这个问题。也许像find / -size +100M -exec du -sh {} \; | sort -hr,但未经测试。
豪尔赫·以色列·佩尼亚

13

南都

很棒:CLI,基于ncurses,快速,简单。使用进行安装 sudo apt install ncdu

在此处输入图片说明


5

基本上,您可以使用du命令。像这样的东西

du -a /home | sort -rn |head -1

请查看手册页或info du了解更多选项。

或者,您可以使用GNU查找。

find /home/ -type f -printf "%s:%p\n" | sort -t":" -rn| head -1  

在Sun OS 5.10上“查找”是否可以用-printf替代?
2009年

另外,有什么方法可以获取第一个命令(du ...)来过滤目录?我只对文件非常感兴趣,就像使用第二条命令一样。
2009年

5

不是命令行,但仍然是unix'y:kdirstat

我用它来查找所有空间的去向,并且它比Disk Usage Analyzer(又名Baobab)好得多。这是我的GNOME环境中可以接受的少数KDE应用程序之一;-)

在此处输入图片说明

根据kdirstat.sourceforge.net,它在Solaris上运行。

尽管KDirStat是KDE程序,但它可以在每个X11桌面上正常运行,即,它可以在Linux,BSD和许多其他Unix类型的系统(Solaris,HP-UX,AIX等)上运行。


在ubuntu中:k4dirstat和qdirstat。最后一个是最新的。我不喜欢他们允许删除文件夹
develCuy


3
du -a | sort -n

会做的工作。使用baobab(它是gnome utils的一部分,因此它很可能已经安装在您的系统中),您可以很好地图形化使用空间。


有什么理由使用-g而不是-n吗?“仅在没有其他选择时才使用此选项;它比--numeric-sort(-n)慢得多,并且在转换为浮点数时可能会丢失信息。” gnu.org/software/coreutils/manual/html_node/…
从这里开始

@therefromhere:我使用了手册页,它不如您链接的网站那么冗长。我只是选择了适用于特定情况的第一个选项。但是你是对的。我已经编辑了答案。谢谢!
balpha

3

磁盘使用情况分析器

如果您使用的是基于Debian / Ubuntu的发行版,则在存储库中有几个GUI,可以使用synaptic找到它们。

在此处输入图片说明


3
du . -ha | sort -hr
  • -a, --all:写入所有文件的计数,而不仅仅是目录
  • -h, --human-readable:以人类可读的格式打印尺寸(例如1K 234M 2G)

1
我发现您可以说该命令非常有趣。听起来也很有趣。
jtbandes

2
-1,这是错误的。du命令中的“ -h”中断了排序。
从这里开始

1
没错,只是不便携。-h是GNUism。在Sun OS中使用-k代替。
路德维希·威恩西尔

+路德维希,我认为你不明白。通过添加-h,可以使数字易于阅读,因此它们不再是sort命令可以使用的数字。例如,事情会像这样排序:“ 760K 784M 788K 860K 944K 985M”应该是du -ha | sort -hror du -ha | gsort -hr(安装核心工具后在osx上)
Gerry

2

午夜指挥官

如果您想要一个带有漂亮的GUI和导航选项的列表输出,请安装Midnight Commander(mc在大多数程序包管理器中),然后在命令菜单中选中“显示目录大小”。您也可以Ctrl+ space

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.