Вопрос: Утилита Linux для поиска самых больших файлов / каталогов [закрыта]


Я ищу программу, показывающую, какие файлы / каталоги занимают больше всего места, например:

74% music
 \- 60% music1
 \- 14% music2
12% code
13% other

Я знаю, что это возможно в KDE3, но я бы предпочел не делать этого - предпочтительны KDE4 или командная строка.


128
2017-07-21 06:54


Источник


для пользователей Mac, я просто хочу рекомендовать это бесплатное программное обеспечение под названием Disk Inventory X. скачать его здесь derlien.com его просто использовать для mac osx - Adam Delarosa


Ответы:


Чтобы найти самые большие 10 файлов (linux / bash):

find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}

Чтобы найти самые большие 10 каталогов:

find . -type d -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}

Только разница -type {d:f},

Обрабатывает файлы с пробелами в именах и создает на выходе пользовательские размеры файлов. Самый последний файл указан последним. Аргументом для хвоста является количество результатов, которые вы видите (здесь 10 крупнейших).

Для обработки пробелов в именах файлов используются два метода. find -print0 | xargs -0 использует пустые ограничители вместо пробелов, а второй xargs -I{} использует новые строки вместо пробелов для завершения ввода элементов.

пример:

$ find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}

  76M    ./snapshots/projects/weekly.1/onthisday/onthisday.tar.gz
  76M    ./snapshots/projects/weekly.2/onthisday/onthisday.tar.gz
  76M    ./snapshots/projects/weekly.3/onthisday/onthisday.tar.gz
  76M    ./tmp/projects/onthisday/onthisday.tar.gz
  114M   ./Dropbox/snapshots/weekly.tgz
  114M   ./Dropbox/snapshots/daily.tgz
  114M   ./Dropbox/snapshots/monthly.tgz
  117M   ./Calibre Library/Robert Martin/cc.mobi
  159M   ./.local/share/Trash/files/funky chicken.mpg
  346M   ./Downloads/The Walking Dead S02E02 ... (dutch subs nl).avi

129
2018-03-06 19:56





Я всегда использую ncdu, Это интерактивно и очень быстро.


185
2017-07-07 15:31



Да, и это мало! - Luke Stanley
Я люблю нку. Это один из моих любимых находок Google. - Rob
Вау. как я не знал, что это существовало. Благодаря! - pixel
+1000 для ncdu --- это как htop для дискового пространства. Супер полезно! - Noah Sussman
поскольку флаги не имеют значения или параметр .config, вот последовательность клавиш, которую вы, вероятно, будете набирать каждый раз при ее запуске, если вам нравится видеть смешанные файлы и папки и относительную процентную статистику: [t] [g] [g], - rymo


Для быстрого просмотра:

du | sort -n

перечисляет все каталоги с наибольшим последним.

du --max-depth=1 * | sort -n

или, опять же, избегая избыточных *:

du --max-depth=1 | sort -n

перечисляет все каталоги в текущем каталоге с наибольшим последним.

(параметр -n для сортировки требуется, чтобы первое поле сортировалось как число, а не как текст, но это исключает использование параметра -h для du, поскольку нам нужно значительное число для сортировки)

Другие параметры для du доступны, если вы хотите следовать символическим ссылкам (по умолчанию не следует символические ссылки) или просто показывать размер содержимого каталога, исключая, например, подкаталоги. du может даже включать в список дату и время, когда последний файл в каталоге был последним изменен.


37
2017-07-21 07:19



Действительно ли это необходимо. Разве это по умолчанию не включает все файлы в текущем каталоге? - Josh Hunt
Нет, * должен быть избыточным. Я не уверен, пользуется ли это признаком хорошей привычки или плохой. Спасибо, что указали это. Я изменил ответ, чтобы отразить его как необязательный. - mas
Это хорошо, но результаты не очень дружелюбны. Я обычно обращаюсь к этому: find {/path/to/directory} -type f -size +{file-size-in-kb}k -exec ls -lh {} \; | awk '{ print $8 ": " $5 }' - deed02392
roman # du --max-depth = 1 | sort -n du: незаконный вариант - - использование: du [-A] [-H | -L | -P] [-a | -s | -d depth] [-c] [-l] [-h | -k | -m | -B bsize] [-n] [-x] [-I маска] [файл ...] - holms
du -h --max-depth=1 2>/dev/null | sort -nr | grep -v ^0 - немного более аккуратный - Stuart Cardall


Для большинства вещей я предпочитаю инструменты CLI, но для использования диска мне очень нравится Filelight, Представление более интуитивно понятное для меня, чем любой другой инструмент управления пространством, который я видел.

Filelight screenshot


23
2017-07-24 04:26



Filelight - мой инструмент для обрезки пространства, который можно выбрать. - Ryan Thompson
Очень хорошее приложение. +1 - rpax
Визуально, это художественно интригующе, но интуитивно? Просто взглянув на него, я понятия не имею, что он представляет. Может кто-нибудь объяснить это? Я пошел на сайт, и я не видел никаких объяснений. - G-Man
Аналогичным инструментом на Mac является DaisyDisk, доступный в daisydiskapp.com - computingfreak


Filelight лучше для пользователей KDE, но для полноты (название вопроса является общим) я должен упомянуть баобаб включен в Ubuntu, aka Disk Usage Analyzer:

enter image description here


20
2018-02-18 04:35



Если вы ищете эквивалент этого на платформе Mac, проверьте DaisyDisk. - computingfreak


Инструмент GUI, KDirStat, показывает данные как в табличной форме, так и графически. Вы можете быстро увидеть, где используется большая часть пространства.

enter image description here

Я не уверен, что это именно тот инструмент KDE, который вам не нужен, но я думаю, что он еще должен упоминаться в таком вопросе. Это хорошо, и многие люди, вероятно, этого не знают, я недавно узнал об этом.


7
2017-07-22 10:00



Спасибо за ответ. Это точный тот же инструмент, который у меня был в KDE3, но я перешел в KDE 4. - Robert Munteanu
Вы уверены, что не можете получить kdirstat для KDE4? - Jonik
Kdirstat очень медленный. использование ncdu вместо. - Daenyth
Я просто нажал ctrl + f, чтобы найти ncdu, и увидел, что я уже поддерживал @Daenyth - Rob
В KDE это просто называется k4dirstat, - phihag


Комбинация - всегда лучший трюк в Unix.

du -sk $(find . -type d) | sort -n -k 1

Покажет размеры каталогов в КБ и сортирует, чтобы получить наибольшее значение в конце.
Однако для просмотра дерева потребуется еще несколько фу ... действительно ли это требуется?

Обратите внимание, что это сканирование вложенно в каталоги, поэтому он будет подсчитывать подкаталоги снова для более высоких каталогов и базового каталога . будет отображаться в конце как общая сумма использования.

Тем не менее, вы можете использовать элемент управления глубиной в поиске для поиска на определенной глубине.
И, на самом деле, гораздо больше задействуйте свое сканирование ... в зависимости от того, что вы хотите. Контроль глубины findс -maxdepth а также -mindepth может ограничивать конкретную глубину подкаталога.


Вот уточненная вариация для вашей слишком долгой проблемы

find . -type d -exec du -sk {} \; |  sort -n -k 1

5
2017-07-21 07:06



Я пробовал это, и у меня было много «дю: Задача: нет такого файла или каталога» - Josh Hunt
Спасибо за ответ. К сожалению, я получаю bash: / usr / bin / du: слишком длинный список аргументов - Robert Munteanu


мне нравится gt5, Вы можете перемещаться по дереву и открывать подкаталоги для детализации. Он использует текстовый веб-браузер, такой как lynx, для отображения результатов. устанавливать ELinks для лучших результатов.

alt text


3
2017-07-21 11:35





Хотя это и не дает вам вложенного вывода, попробуйте du

du -h /path/to/dir/

Запуск этого в папке «Мои документы» выплевывает следующее:

josh-hunts-macbook:Documents joshhunt$ du -h
  0B    ./Adobe Scripts
  0B    ./Colloquy Transcripts
 23M    ./Electronic Arts/The Sims 3/Custom Music
  0B    ./Electronic Arts/The Sims 3/InstalledWorlds
364K    ./Electronic Arts/The Sims 3/Library
 77M    ./Electronic Arts/The Sims 3/Recorded Videos
101M    ./Electronic Arts/The Sims 3/Saves
 40M    ./Electronic Arts/The Sims 3/Screenshots
1.6M    ./Electronic Arts/The Sims 3/Thumbnails
387M    ./Electronic Arts/The Sims 3
387M    ./Electronic Arts
984K    ./English Advanced/Documents
1.8M    ./English Advanced
  0B    ./English Extension/Documents
212K    ./English Extension
100K    ./English Tutoring
5.6M    ./IPT/Multimedia Assessment Task
720K    ./IPT/Transaction Processing Systems
8.6M    ./IPT
1.5M    ./Job
432K    ./Legal Studies/Crime
8.0K    ./Legal Studies/Documents
144K    ./Legal Studies/Family/PDFs
692K    ./Legal Studies/Family
1.1M    ./Legal Studies
380K    ./Maths/Assessment Task 1
388K    ./Maths
[...]

Затем вы можете сортировать вывод, прокладывая его до sort

du /path/to/dir | sort -n

2
2017-07-21 07:00



Спасибо, но он не показывает, какие каталоги являются самыми большими. Если я запустил его в своем домашнем каталоге, выход будет непригодным. - Robert Munteanu


Вот сценарий, который делает это для вас автоматически.

http://www.thegeekscope.com/linux-script-to-find-largest-files/

Ниже приведен пример вывода сценария:

**# sh get_largest_files.sh / 5**

[SIZE (BYTES)]     [% OF DISK] [OWNER]         [LAST MODIFIED ON]        [FILE] 

56421808           0%           root           2012-08-02 14:58:51       /usr/lib/locale/locale-archive
32464076           0%           root           2008-09-18 18:06:28       /usr/lib/libgcj.so.7rh.0.0
29147136           0%           root           2012-08-02 15:17:40       /var/lib/rpm/Packages
20278904           0%           root           2008-12-09 13:57:01       /usr/lib/xulrunner-1.9/libxul.so
16001944           0%           root           2012-08-02 15:02:36       /etc/selinux/targeted/modules/active/base.linked

Total disk size: 23792652288 Bytes
Total size occupied by these files: 154313868 Bytes  [ 0% of Total Disc Space  ]

*** Note: 0% represents less than 1% ***

Вы можете найти этот скрипт очень удобным и полезным!


1
2017-09-06 05:27



В то время как связанный веб-сайт дает инструкции, вам лучше перефразировать, а затем ссылаться на внешний сайт (так или иначе похожий на личный блог). Это предотвратит гниение ссылки и поможет большему количеству людей на этом сайте - Canadian Luke
Ссылка не работает? - Danijel