Я всегда использую ncdu
. Это интерактивно и очень быстро.
Linux утилита для поиска самых больших файлов / каталогов
Я ищу программу, которая показывает мне, какие файлы / каталоги занимают больше всего места, например:
74% music \- 60% music1 \- 14% music2 12% code 13% other
Я знаю, что это возможно в KDE3, но я бы предпочел этого не делать - KDE4 или командная строка предпочтительнее.
17 ответов на вопрос
- Популярные
- Новые
- С комментариями
- Активные
Чтобы найти 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
.
Обрабатывает файлы с пробелами в именах и создает удобочитаемые размеры файлов в выходных данных. Самый большой файл указан последним. Аргументом tail является количество результатов, которые вы видите (здесь 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
Для быстрого просмотра:
du | sort -n
перечисляет все каталоги с наибольшим последним.
du --max-depth=1 * | sort -n
или, опять же, избегая лишних *:
du --max-depth=1 | sort -n
перечисляет все каталоги в текущем каталоге с наибольшим последним.
(параметр -n для сортировки требуется, чтобы первое поле сортировалось как число, а не как текст, но это исключает использование параметра -h для du, так как нам нужно значительное число для сортировки)
Другие параметры для du доступны, если вы хотите следовать по символическим ссылкам (по умолчанию они не должны следовать по символическим ссылкам) или просто показывать размер содержимого каталога, исключая, например, подкаталоги. du может даже включить в список дату и время последнего изменения какого-либо файла в каталоге.
Для большинства вещей я предпочитаю инструменты CLI, но для использования дисков мне действительно нравится файловая подсветка . Презентация для меня более понятна, чем любой другой инструмент управления пространством, который я видел.
Filelight лучше для пользователей KDE, но для полноты (название вопроса является общим), я должен упомянуть, что Baobab включен в Ubuntu, также известный как Disk Usage Analyzer:
Инструмент с графическим интерфейсом KDirStat показывает данные как в виде таблицы, так и графически. Вы можете очень быстро увидеть, где используется большая часть пространства.
Я не уверен, что это именно тот инструмент KDE, который вам не нужен, но я думаю, что его все равно следует упомянуть в таком вопросе. Это хорошо, и многие, вероятно, этого не знают - я узнал об этом только недавно.
Комбинация - это всегда лучший трюк на Unix.
du -sk $(find . -type d) | sort -n -k 1
Покажет размеры каталогов в килобайтах и отсортирует, чтобы получить самый большой в конце.
Древовидному представлению, однако, понадобится больше фу ... действительно ли это необходимо?
Обратите внимание, что это сканирование вложено в каталоги, поэтому оно будет снова подсчитывать подкаталоги для каталогов более высокого уровня, а базовый каталог .
будет отображаться в конце как общая сумма использования.
Однако вы можете использовать контроль глубины для поиска на определенной глубине.
И, на самом деле, принимайте участие в сканировании намного больше ... в зависимости от того, что вы хотите. Контроль глубины find
с помощью -maxdepth
и -mindepth
может ограничивать определенную глубину подкаталога.
Вот изощренный вариант для вашей длинной проблемы
find . -type d -exec du -sk {} \; | sort -n -k 1
Хотя он не дает вам такой вложенный вывод, попробуйте 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
Вот скрипт, который делает это для вас автоматически.
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% ***
Вы можете найти этот скрипт очень удобным и полезным!
Похожие вопросы
-
12
Почему папка / winsxs становится такой большой и ее можно уменьшить?
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux