Пошук того, що використовує весь простір у * nix


21

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

Переважно просто з регулярними командами unix'y.

Якщо можливо, спробуйте зберегти його сумісним із Sun OS 5.10 (можливо, крім звичайних відповідей Linux, а не як замінника, щоб зберегти його якнайбільше).


Є два голоси за SU і два за SF. Що більше підходить? На мою думку, це може належати будь-якому одному.
mmyers

5
@mmyers: передав SU ... SU потребує реальних питань!
Shog9

1
Але в СУ вже є дуже схоже питання! superuser.com/questions/9847/…
Jonik

Відповіді:


11

Мені особисто подобається використовувати, du -sh *щоб побачити, наскільки великий каталог у поточному каталозі.

Крім того, ви можете сортувати мати великі папки першими: du -shx * | sort -hr. Для du:

  • -s, --summarize: відобразити лише загальний для кожного аргументу
  • -h, --human-readable: розміри друку у читаному для людини форматі (наприклад, 1K 234M 2G)
  • -x, --one-file-system: пропуск каталогів у різних файлових системах

Для sort:

  • -h, --human-numeric-sort: порівняйте читані людиною цифри (наприклад, 2K 1G)

Це на самому справі дуже корисно з невеликою мод: du -s * | sort -nr.
Олексій Будовський

5
Ви можете зберігати розміри файлів у читаному для людини форматі за допомогою du -sh * | sort -hr.
Хорхе Ізраїль Пенья

du -shx * | sort -hrдобре, але він повертає лише поточний каталог. Як би я зробив цю систему широко? І як я міг виключити все під 100mb? Спасибі.
тем

Це до її виклику в оболонці. Отже, *це змушує його застосовуватись до всього, що знаходиться в поточному каталозі, але ви можете так само легко змінити це на наприклад some/other/path/*, або, якщо ви просто хочете запустити його в одній директорії в цілому, опустіть *глобальну схему. Щодо фільтрації речей, можливо, поставте окреме запитання.
Хорхе Ізраїль Пенья

Щоб запустити його рекурсивно на загальносистемному рівні, можливо, ви захочете з'єднати його з findдеяким коренем каталогу та використовувати його -execпараметр для виклику du. Сама findпрограма, можливо, може фільтрувати на основі розміру файлу щось подібне size +100M. Дивіться це питання . Можливо, щось на кшталт find / -size +100M -exec du -sh {} \; | sort -hr, хоча це не перевірено.
Хорхе Ізраїль Пенья

13

ncdu

Просто чудово: CLI, заснований на нуклеусі, швидкий, простий. Встановіть його за допомогою sudo apt install ncdu.

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


5

в основному ви можете використовувати команду du. щось на зразок цього

du -a /home | sort -rn |head -1

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

Або ви можете використовувати GNU find.

find /home/ -type f -printf "%s:%p\n" | sort -t":" -rn| head -1  

Чи є "знайти" в Sun OS 5.10 альтернатива, яку я можу використовувати для -printf?
Олексій Будовський

Крім того, чи є спосіб отримати першу команду (du ...) для фільтрації каталогів? Мене дуже цікавлять файли, як, наприклад, з вашої другої команди.
Олексій Будовський

5

Не командний рядок, але все ще unix'y: kdirstat

Я використовую його, щоб дізнатися, куди пішов весь простір, і мені це подобається набагато краще, ніж Disk Usage Analyzer (він же Baobab). Це одне з небагатьох додатків KDE, яке допускається в моєму середовищі GNOME ;-)

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

За даними kdirstat.sourceforge.net, він працює на Solaris.

Хоча KDirStat є програмою KDE, вона працює добре на кожному робочому столі X11, тобто працює на Linux, BSD та багатьох інших системах типу Unix (Solaris, HP-UX, AIX, ...).


В ubuntu: k4dirstat і qdirstat. Останній ще останній. Мені не подобається, що вони дозволяють видаляти папки
develCuy

4

Philesight запускається з командного рядка і призводить до веб-сервера PNG plus, щоб ви могли переглянути його в Інтернеті.

Я знайшов це через цей список програм використання дисків. Корисний перелік програм, окрім ncdu(який лише невеликий, zippy та командного рядка): http://www.makeuseof.com/tag/how-to-analyze-your-disk-usage-pattern-in- linux /


3
du -a | sort -n

зробив би цю роботу. Використовуючи baobab (це частина утиліт gnome, тому він, ймовірно, вже встановлений у вашій системі), ви отримуєте досить непогану графічну розбивку використовуваного простору.


Будь-яка причина використовувати -g замість -n? "Використовуйте цей параметр, лише якщо немає альтернативи; він набагато повільніше, ніж - числовий-сортування (-n), і він може втратити інформацію при переході в плаваючу точку." Gnu.org/software/coreutils/manual/html_node/…
звідти

@therefromhere: Я використовував manpage, який не такий багатослівний, як веб-сайт, який ви пов’язали. Я просто вибрав перший варіант, який працював у конкретному випадку. Але ти маєш рацію; Я відредагував свою віщу. Спасибі!
balpha

3

Аналізатор використання диска

Якщо ви використовуєте дистрибутив на основі Debian / Ubuntu, у сховищах є кілька графічних інтерфейсів, які ви можете знайти за допомогою синаптики.

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


3
du . -ha | sort -hr
  • -a, --all: записує рахунки для всіх файлів, а не лише каталогів
  • -h, --human-readable: розміри друку у читаному для людини форматі (наприклад, 1K 234M 2G)

1
Я знаходжу той факт, що ви можете вимовити цю команду дуже цікавою. Це теж звучить смішно.
jtbandes

2
-1, це неправильно. Команда "-h" у команді du порушує сортування.
звідти

1
Це не помиляється, просто не портативно. -h - це GNUism. Використовуйте -k замість Sun OS.
Людвіг Вайнцерль

+ Людвіг, я не думаю, що ти зрозумів. Додаючи -h, це робить цифри людськими читаними, тому вони більше не є числами, які можуть використовуватися командою сортування. наприклад, речі були б відсортовані так: "760K 784M 788K 860K 944K 985M" Це має бути du -ha | sort -hrабо du -ha | gsort -hr(на ОСХ після встановлення основних утиліт)
Геррі,

2

Опівночі командир

Якщо ви хочете вивести список із приємними параметрами графічного інтерфейсу та навігації, встановіть програму Midnight Commander ( mcу більшості менеджерів пакетів) та встановіть прапорець у меню команд "Показати розміри каталогів". Також ви можете Ctrl+ space.

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

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