В Linux я ищу команду для вывода списка самых больших файлов и / или самых больших каталогов в каталоге.
10 ответов
Следующая команда показывает вам один уровень каталогов и их размеры
du --max-глубина = 1 / путь | сортировать -r -k1,1n
Если один из них действительно выпирает (последний из списка является самым большим из-за sort -r
), то вы повторно запускаете команду для этого каталога, а затем продолжаете, пока не найдете проблемный каталог / файл.
Если вам нужно только десять самых больших файлов, просто сделайте
find /home -type f -exec du -s {} \; | сортировать -r -k1,1n | голова
Утилита ncdu
предоставит вам информацию, которую вы ищете.
sudo apt-get install ncdu
На OS X его можно установить с помощью Homebrew:
brew install ncdu
Из любого каталога:
du -a | sort -n -r
дю -ск * | сортировать -nr | голова -1
Это покажет самый большой каталог / файл в каталоге в КБ. Изменение значения заголовка приведет к появлению топовых файлов / каталогов.
Этот пост поможет вам хорошо:
cd /path/to/some/where
du -a /var | sort -n -r | head -n 10
du -hsx * | sort -rh | head -10
Следующая команда вернет 10 самых больших файлов из указанного /path
du -a -h /path | сортировать -h -r | голова -n 10
Мне нравится использовать опции -h
для удобства чтения. И du
и sort
должны иметь -h
.
использование
ls -A | xargs -I artifact du -ms artifact | sort -nr
При желании вы можете добавить трубу и использовать head -5
Используйте du. Попробуйте это, чтобы заказать результат:
du | sort -n
Попробуйте следующий однострочный (отображает 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'
du -sh /path * | sort -nr | grep G
G для GIG (чтобы отсеять меньшие) файлы / каталоги