如何在命令行Linux中分析磁盘使用情况?


Answers:


141

您可能还想尝试NCurses磁盘使用 aka ncdu

就像ncdu -x -q远程调用(例如,通过ssh)调用它一样,否则请使用它ncdu -x

ncdu 1.6 ~ Use the arrow keys to navigate, press ? for help
    --- /home/geek -----------------------------------------------------------------
       27.6MiB  /qm test 1 rework
      312.0kiB  /sidebar
       88.0kiB  /rackerhacker-MySQLTuner-perl-6add618
        8.0kiB  /.w3m
        4.0kiB  /.cache
    e   4.0kiB  /.ssh
      160.0kiB   ng.tar.gz
       76.0kiB   plowshare_1~svn1673-1_all.deb
        4.0kiB   .bashrc
        4.0kiB   .bash_history
        4.0kiB   .profile
        4.0kiB   .htoprc
        4.0kiB   .bash_logout
        0.0  B   .lesshst

Mac OS X也提供此功能。

命令行的以下标志可能会有所帮助:

-q Quiet mode, doesn't update the screen 10 times a second
   while scanning, reduces network bandwidth used

-x Don't cross filesystem borders (don't descend into a
   directory which is a mounted disk)

感谢Sorin Sbarnea。


1
也可以通过brew在OS X下使用。使用ncdu -x -q
sorin 2012年

1
太棒了!对我来说最好的选择是ncdu -q,即使在ssh中。
Valter Silva

46

使用命令和选项的某种组合:

du --max-depth=1 2> /dev/null | sort -n -r | head -n20

仅查看最大的几个。如果您想经常使用它,则将其绑定到别名,例如在bash中通过添加〜/ .bashrc

alias largest='du --max-depth=1 2> /dev/null | sort -n -r | head -n20'

2
要查看最多的几个,需要-r排序选项。
RedGrittyBrick 2011年

1
我提交了@RedGrittyBrick建议和一个错误重定向至,以/dev/null作为需要批准的编辑。
贾德·迪亚斯

我也会使用该du -H选项,但会破坏sort行为
Jader Dias11年

2
@jumpnett:它重定向standard error(在本例中为进入黑洞/dev/null)。
Jaap Eldering

3
您可以使用sort -h具有人类可读后缀的值对值进行排序。
allo 2015年


3

我通常使用

du -hsc * | sort -h

每个选项意味着什么du

  • h:以人类可读的格式显示尺寸(1K,1M,1G等)
  • s:摘要:每个参数仅显示总计
  • c:同时显示总计

上的-h选项sort使其了解上的-h格式(人类可读)du。该选项在上是相对较新的sort,因此也许您的系统不支持它,而迫使您使用它du -sc | sort -n

如果在远程计算机上执行此过程,并且该过程花费很长时间,则可能要在后台或内部screen或类似环境中执行此过程,以防止连接丢失。


3

我想推荐dutree,它提供了层次化的可视化效果。

您可以选择更多或更少的详细程度,并排除路径以更好地控制可视化。您还可以比较不同的路径。

在此处输入图片说明

它在Rust中实现,快速高效。

$ dutree -h
Usage: dutree [options] <path> [<path>..]

Options:
    -d, --depth [DEPTH] show directories up to depth N (def 1)
    -a, --aggr [N[KMG]] aggregate smaller than N B/KiB/MiB/GiB (def 1M)
    -s, --summary       equivalent to -da, or -d1 -a1M
    -u, --usage         report real disk usage instead of file size
    -b, --bytes         print sizes in bytes
    -f, --files-only    skip directories for a fast local overview
    -x, --exclude NAME  exclude matching files or directories
    -H, --no-hidden     exclude hidden files
    -A, --ascii         ASCII characters only, no colors
    -h, --help          show help
    -v, --version       print version number

1
du -h 2> /dev/null | sort -hr | head -n20

du -h给出磁盘空间的可读列表估计,总共
2> / dev / null抑制任何错误,例如读取访问被拒绝
sort
-hr以相反的顺序对可读文件大小进行排序-n20将列表减少到20

请注意,排除了拒绝读取访问的目录和文件


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.