Як проаналізувати використання диска в командному рядку Linux?


99

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


Ви вірили ncdu?
SDsolar

Відповіді:


141

Ви також можете спробувати використання NCurses Disk Usage ака 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)

Завдяки Соріну Сбарнеа.


1
Доступно і в OS X через заварку. Можливо, буде гарною ідеєю назвати це за допомогоюncdu -x -q
sorin

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поведінку
Джадер Діас

2
@jumpnett: він переспрямовує standard error(в даному випадку в чорну діру, яка є /dev/null).
Jaap Eldering

3
Ви можете використовувати sort -hдля сортування значень за допомогою людських читаних суфіксів.
Алло

4

Ви, мабуть, хочете xdu.

du -ax | xdu -n

Існує також більш досконалий Filelight на основі KDE .


3

Я зазвичай використовую

du -hsc * | sort -h

Що означає кожен варіант du:

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

Цей -hпараметр sortдозволяє зрозуміти -hформат (зрозумілий для людини) du. Цей параметр відносно новий sort, тому, можливо, ваша система не підтримує його і змушує вас використовувати його du -sc | sort -n.

Якщо ви робите це на віддаленій машині, і процес займає багато часу, ви, ймовірно, хочете виконати цей процес у фоновому режимі або всередині screenабо щось подібне, щоб запобігти втраті з'єднання.


3

Я хотів би порекомендувати dutree , який пропонує ієрархічну візуалізацію.

Ви можете вибрати більш-менш рівні деталізації та виключити контури для кращого контролю візуалізації. Ви також можете порівняти різні шляхи.

введіть тут опис зображення

Він реалізований в іржі, швидко та ефективно.

$ 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 пригнічує будь-які помилки, такі як доступ для читання заборонено
сортувати -hr сортує розмір файлу, який читається людиною у зворотному порядку,
голова -n20 зменшує список до 20

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


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.