如何使用终端在我的主目录中按目录显示光盘使用情况?

mjw*_*ing 0 server command-line files disk-usage

有人可以让我知道我应该使用哪种工具吗?我正在尝试在 Ubuntu Server VM 上运行它。所以我相信我需要一个像铁饼这样的工具。

Vol*_*gel 5

用作基于屏幕的终端程序(curses/ncurses 等)

请参阅ncdu- 示例输出:

ncdu 1.10 ~ Use the arrow keys to navigate, press ? for help                    
--- /usr/share/icons -----------------------------------------------------------
  189.2MiB [##########] /oxygen                                                 
  169.3MiB [########  ] /hicolor
  130.2MiB [######    ] /HighContrast
  123.9MiB [######    ] /gnome
   74.0MiB [###       ] /nuvola
   57.9MiB [###       ] /Faience
   46.5MiB [##        ] /Breathe
   46.1MiB [##        ] /Faenza-Blue-Dark2
   43.2MiB [##        ] /AwOken
   40.1MiB [##        ] /elementary-xfce
   31.9MiB [#         ] /AwOkenDark
   26.4MiB [#         ] /elementary
 Total disk usage:   1.7GiB  Apparent size:   1.4GiB  Items: 308833             
Run Code Online (Sandbox Code Playgroud)



逐行文本模式的终端上使用

显示当前目录中子目录和文件的排序大小:(
不显示文件,见下文)

在包含您要测量的目录的目录中运行此命令,
在您的示例中为 $HOME:

du -sch .* * | sort -hr | less
Run Code Online (Sandbox Code Playgroud)

或者,在更详细的长选项形式中使用相同的命令:

du --summarize --total --human-readable .* *  | sort --human-numeric-sort --reverse | less
Run Code Online (Sandbox Code Playgroud)

这表明

  • du-当前目录内的磁盘使用情况
  • -s( --summarize) - 显示每件商品的总价值,
  • -c( --total) - 以及作为所有每项值的总和的全局总值,
  • -h( --human-readable) - 显示大小为 6.8G、4.0K、5M 等,而不是字节数,
  • .* - 列出以点为第一个字符命名的文件和目录,
  • * - 以及所有其他文件和目录,
  • | sort -hr - 对结果进行排序,以相反的顺序处理人类可读的文件大小,
  • | less - 并在寻呼机中显示结果列表,最大的在顶部。


注意:根据所使用的 shell 及其选项,.*在没有以exists 开头的文件名的目录中使用.可能会导致错误。在这种情况下, the.*是多余的,可以省略(这就是错误试图告诉你的)


输出行示例,按原始排序顺序:

39G     total
7.7G    Downloads
6.8G    .local
3.4G    .mozilla
2.6G    .thunderbird
1.6G    dev
1.4G    .cache
490M    work
7.3M    AnInterestingPaper.pdf
60K     .bazaar
8.0K    .gitconfig
4.0K    .tigrc
Run Code Online (Sandbox Code Playgroud)

要获得问题的确切答案,需要将文件从列表中排除。它使列表更具可读性,因此值得一试;只是在 shell 中手动键入命令时不会,因为它有点长。因此,用于脚本等:

用于find仅列出目录(不要使用find . -foo目录参数的通用语法来防止./结果列表中的文件名出现前缀):

find .* * -maxdepth 0 -type d -print0 | du --files0-from=- -sch | sort -hr | less
Run Code Online (Sandbox Code Playgroud)



用于图形桌面(不是要求的终端):(
没有要求,但为完成任务添加了有关良好 GUI 工具的简短提示。)

gdmapfilelight(或baobab)。两者都提供了非常有趣的图表,为了获得最佳的直观视图,值得尝试gdmap与其他两个结合使用。