Как найти самые большие каталоги или самые большие файлы? [Дубликат]


33

На этот вопрос уже есть ответ здесь:

В Linux я ищу команду для вывода списка самых больших файлов и / или самых больших каталогов в каталоге.


Самый полезный инструмент, который я нашел, это xdiskusage ( xdiskusage.sourceforge.net ). Он показывает графически, где файлы - по размеру. Отличный инструмент! (и это работает напрямую с X11)
jcoppens

Как это дублирует некоторый вопрос, который был закрыт как не по теме? Не имеет смысла
Кенорб

Ответы:


17

Из любого каталога:

du -a | sort -n -r


1
это показывает отдельные файлы, но вопрос также о каталогах
knocte

du без аргументов суммирует использование диска каталогами. Программа du с параметром -a создает ту же информацию каталога и включает использование диска для отдельных файлов.
Брент Уорден

не могу выполнить сортировку, когда вы находитесь вне пространства: = (
Джонатан Хенсон

28

Следующая команда показывает вам один уровень каталогов и их размеры

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

Если один из них действительно выпирает (последний из списка является самым большим из-за sort -r), то вы повторно запускаете команду для этого каталога, а затем продолжаете, пока не найдете проблемный каталог / файл.

Если вам нужно только десять самых больших файлов, просто

find / home -type 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

Это покажет самый большой каталог / файл в каталоге в КБ. Изменение значения заголовка приведет к появлению топовых файлов / каталогов.



2

Следующая команда вернет 10 самых больших файлов из данного /path

du -a -h / path | сортировать -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 (чтобы отсеять меньшие) файлы / каталоги


Здесь перечислены все файлы и папки, показаны их размеры. Он не сортирует размер по
значению

Также он найдет что-нибудь с Gименем в имени файла.
Кевин Панко
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.