Як знайти найбільші каталоги чи найбільші файли? [дублікат]


33

На це питання вже є відповідь тут:

Під Linux я шукаю команду для переліку найбільшого файлу та / або найбільших каталогів під каталогом.


Найбільш корисний інструмент, який я знайшов, - це xdiskusage ( xdiskusage.sourceforge.net ) Це графічно показує, де файли - за розміром. Чудовий інструмент! (і це працює безпосередньо з X11)
jcoppens

Як це дублюється якесь питання, яке було закрито як поза темою? Не має сенсу.
kenorb

Відповіді:


17

З будь-якого каталогу:

du -a | sort -n -r


1
це показує окремі файли, але питання стосується і каталогів
knocte

du без аргументів узагальнює використання диска в каталогах. du with -a створює ту саму інформацію про каталог і включає використання диска для окремих файлів.
Brent Worden

не вдається розібратися, коли не вистачає місця: = (
Джонатан Хенсон

28

Наступна команда показує вам один рівень каталогів та їх розміри

du - max-глибина = 1 / шлях | сортувати -r -k1,1n

Якщо одна з них дійсно стикається (останній у списку є найбільшим завдяки sort -r), ви повторно запускаєте команду в цьому каталозі, а потім продовжуєте дію, поки не знайдете каталогів / файлів, що ображають.

Якщо все, що ви хочете, це десять найбільших файлів, просто зробіть

find / home -тип f -exec du -s {} \; | сортування -r -k1,1n | голова


найбільше число закінчується внизу для мене незалежно від того, додаю я sort -rчи ні. Чи є спосіб отримати найбільшу кількість на вершині?
squarecandy

Ви повинні вказати, щоб сортувати, за яким стовпцем ви хочете сортувати, і що він є числовим (не буквено-цифровим). Ось що -k1,1rn зробив би. За замовчуванням сортування використовує алфавітно-цифрове сортування у першому стовпці.
Марцін

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

2
З у sortмене ( sort (GNU coreutils) 8.13в Ubuntu 12.04.3) опція -rне працює, якщо -nвідразу слідує -k( -k1,1n). Цей порядок варіантів роботи: sort -rnk1,1.
пабук

27

Визвана утиліта ncduнадасть вам інформацію, яку ви шукаєте.

sudo apt-get install ncdu

В OS X його можна встановити за допомогою Homebrew:

brew install ncdu

2
+1 Я ніколи раніше не чула про це - чудово працювала і на Mac.
Андрій Е

Це набагато приємніше рішення, ніж обидва вищі відповіді.
AlexLordThorsen

Це вражаюче. Запропонуйте це над усіма іншими відповідями!
Аллен Гінгріх

4

дю -ск * | сортувати -nr | голова -1

Це покаже найбільший каталог / файл у каталозі в КБ. Зміна головного значення призведе до початку x файлів / каталогів.



2

Наступна команда поверне найкращі 10 найбільших файлів із заданих /path

du -a -h / шлях | сортувати -h -r | голова -n 10

Мені подобається використовувати -hваріанти для читабельності. І те, duі sortпотрібно мати -h.


1

Використовуйте

ls -A | xargs -I artifact du -ms artifact | sort -nr

За бажанням можна додати трубу та використовувати head -5



0

Спробуйте наступний однокласник (відображає топ-20 найбільших файлів у поточному каталозі):

ls -1Rs | sed -e "s/^ *//" | grep "^[0-9]" | sort -nr | head -n20

або з читаними для людини розмірами:

ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20

Друга команда, щоб правильно працювати на OSX / BSD (як sortне має -h), потрібно встановити sortз coreutils.

Тож ці псевдоніни корисно мати у своїх rc- файлах (кожного разу, коли вам це потрібно):

alias big='du -ah . | sort -rh | head -20'
alias big-files='ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20'

-5
du -sh /path * | sort -nr | grep G

G для GIG (для вилучення менших) файлів / каталогів


Тут перелічені всі файли та папки із зазначенням розміру. Він не сортує розмір за значеннями байтів K, M або G, якщо ви його НЕ ОЧИТАЄТЕ так, як показали
Канадський Лука REINSTATE MONICA

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