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

49487
Jader Dias

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

90
Ты истолковал `ncdu`? SDsolar 7 лет назад 0

6 ответов на вопрос

132
heinrich5991

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

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

Доступно и под OS X, через brew. Это может быть хорошей идеей для вызова с помощью `ncdu -x -q` sorin 11 лет назад 1
классно! лучший вариант для меня был `ncdu -q`, даже в ssh. Valter Silva 11 лет назад 1
44
Jaap Eldering

Используйте некоторую комбинацию команд и опций:

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' 
Чтобы просмотреть ** наибольшие **, вам нужна опция `-r` для сортировки. RedGrittyBrick 13 лет назад 1
Я отправил предложение @RedGrittyBrick и перенаправление ошибки в `/ dev / null` в качестве правки, подлежащей утверждению. Jader Dias 13 лет назад 0
Я бы также использовал опцию `du -H`, но это нарушает поведение` sort` Jader Dias 13 лет назад 0
Что делает `2>`? jumpnett 11 лет назад 0
@jumpnett: он перенаправляет `стандартную ошибку` (в данном случае в черную дыру, которая называется` / dev / null`). Jaap Eldering 11 лет назад 1
Вы можете использовать `` sort -h`` для сортировки значений с удобочитаемыми суффиксами. allo 8 лет назад 2
Моя модифицированная версия для отображения значений в удобочитаемом формате: `du -h --max-deep = 1 2> / dev / null | сортировать -h -r` Jose B 8 лет назад 0
4
Teddy

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

du -ax | xdu -n 

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

2
emi

Я обычно использую

du -hsc * | sort -h 

Что означает каждый вариант du:

  • h: показать размеры в удобочитаемом формате (1K, 1M, 1G, ...)
  • s: резюмировать: отображать только сумму для каждого аргумента
  • c: также отображать итоговую сумму

-hВариант на sortпозволяет понять -hформат (человеческий читаемый) на du. Этот параметр является относительно новым sort, поэтому, возможно, ваша система не поддерживает его и заставляет вас использовать его du -sc | sort -n.

Если вы делаете это на удаленной машине, а процесс занимает много времени, вы, вероятно, захотите выполнить этот процесс в фоновом режиме или внутри screenили что-то подобное, чтобы предотвратить потерю соединения.

2
nachoparker

Я хотел бы порекомендовать 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
D-B
du -h 2> /dev/null | sort -hr | head -n20 

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

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