Как проанализировать использование диска в командной строке Linux?

99

duи dfэто хорошо, но я не знаю, как фильтровать данные, которые они предоставляют, как я это делаю с SequoiaView . Я хотел бы знать, какие самые большие папки и самые большие файлы с первого взгляда.

Джадер Диас
источник
Ты истолковал ncdu?
SDsolar

Ответы:

141

Вы также можете попробовать NCurses Disk Usage 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)

Спасибо Сорину Сбарнеа.

heinrich5991
источник
1
Доступно и под OS X, через brew. Это может быть хорошая идея, чтобы назвать это с помощьюncdu -x -q
Сорин
1
классно! лучший вариант для меня был ncdu -q, даже в ssh.
Вальтер Сильва
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
1
Я отправил предложение @RedGrittyBrick и перенаправление ошибки /dev/nullв качестве правки, подлежащей утверждению.
Джадер Диас
Я бы тоже использовал эту du -Hопцию, но это нарушает sortповедение
Jader Dias
2
@jumpnett: он перенаправляет standard error(в данном случае в черную дыру /dev/null).
Яап Старейшина
3
Вы можете использовать sort -hдля сортировки значений с удобочитаемыми суффиксами.
Алло
4

Вы, вероятно, хотите xdu.

du -ax | xdu -n

Есть также более сложный основанный на KDE Filelight .

Тедди
источник
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
nachoparker
источник
1
du -h 2> /dev/null | sort -hr | head -n20

du -h дает оценку пространства на диске для удобочитаемого списка с общим значением
2> / dev / null подавляет любые ошибки, такие как отказ в доступе на чтение,
сортировка -hr сортирует читаемый человеком размер файла в обратном порядке:
-n20 уменьшает список до 20

Имейте в виду, что каталоги и файлы, в которых запрещен доступ для чтения, исключены

база данных
источник