Нахождение файлов, которые используют большую часть дискового пространства

Если Вы обращаетесь к Семейству шрифтов Ubuntu, то да это доступно другим дистрибутивам (например, существует пакет Arch в АУРЕ), но это было бы одинаково просто, чтобы загрузить его и установить его вручную, если бы пакет не был доступен для Вашего дистрибутива.

Шрифт здесь: http://font.ubuntu.com/download/ubuntu-font-family-0.71.2.zip

44
24.04.2012, 19:44
10 ответов

Со стандартными доступными инструментами:

Перечислять лучшие 10 самых больших файлов из текущего каталога: du . | sort -nr | head -n10

Перечислять самые большие каталоги из текущего каталога: du -s * | sort -nr | head -n10

ОБНОВИТЕ В эти дни, я обычно использую больше удобочитаемой формы (как Jay Chakra объясняет в другом ответе, и кончите | head -n10, просто позвольте ему прокрутить от экрана. Последняя строка имеет самый большой файл или каталог (дерево).

Иногда, например, когда у Вас есть много точек монтирования в текущем каталоге вместо использования -x или несколько --exclude=PATTERN, более удобно смонтировать файловую систему на неиспользованной точке монтирования (часто /mnt) и работа оттуда.

Обратите внимание, это при работе с большим (NFS) объемов, можно вызвать существенную нагрузку на бэкенд устройства хранения данных (файловый сервер) при выполнении du по большому количеству (sub) каталогов. В этом случае лучше рассмотреть установку quota на объеме.

49
27.01.2020, 19:34
  • 1
    Для Вашей первой опции, не может Вы просто перечислить их с ls -Sl | head? –  Bernhard 24.04.2012, 21:23
  • 2
    Нет, du пересекает целое дерево каталогов, тогда как ls-S только проверяет текущий каталог. –  jippie 05.06.2012, 20:25

Попробовать ncdu, поскольку это может дать Вам обзор использования диска. С его веб-сайта:

Анализатор использования диска с интерфейсом ncurses, нацеленным, чтобы быть выполненным на удаленном сервере, где Вы не имеете всей установки gaphical, но имеете отношение к простому соединению SSH. ncdu имеет целью быть быстрым, простым и легким для использования, и должен смочь работать в любой минимальной подобной POSIX среде с установленным ncurses.

14
27.01.2020, 19:34

Существует простой и эффективный способ найти размер каждого файла и каталога в Ubuntu:

Приложения> Аксессуары> Использование диска Анализатор

в этом окне нажимают кнопку "Scan Filesystem" на панели инструментов. после короткого времени (секунды) у Вас есть использование диска каждого каталога и файла.

2
27.01.2020, 19:34

Можно попробовать этой командой, она перечислит все файлы, больше, чем 20 МБ.

find / -type f -size +20000k -exec ls -lh {} \; 2> /dev/null \
  | awk '{ print $NF ": " $5 }'  | sort -hrk 2,2
0
27.01.2020, 19:34
  • 1
    Если бы самый большой файл в Вашей файловой системе составляет 20 МБ, Вы, вероятно, не испытали бы нехватку дискового пространства. По крайней мере, с любым HD, сделанным этим тысячелетием –  Kevin 24.04.2012, 20:15
  • 2
    Это - только пример, Вы помещаете там независимо от того, что Вы хотите. Это найдет все больше, чем 20 МБ, не файлы только 20 МБ. –  patseb 24.04.2012, 22:25
  • 3
    ls -lh затем sort?? ls -s или stat -c %b вероятно, лучше. –  Mikel 24.04.2012, 22:54
  • 4
    я не добираюсь. Мое использование в качестве примера ls и вид. Он хотел найти файлы по целому диску не каталогом. –  patseb 24.04.2012, 22:57

(GNU)

DU -MAX / DIR | Sort -n будет отображать большие файлы, а также большие каталоги, могут использоваться для идентификации того, где вам нужно сделать некоторую очистку.

du -max | sort -n | tail -1000
...
46632   ./i386/update/SuSE-SLES/8/rpm/i586/kernel-source-2.4.21-138.i586.rpm
49816   ./UnitedLinux/apt/i386/RPMS.updates/k_debug-2.4.21-138.i586.rpm
679220  ./UnitedLinux/apt/i386/RPMS.updates
679248  ./UnitedLinux/apt/i386
679252  ./UnitedLinux/apt
691820  ./UnitedLinux/i586
691836  ./i386/update/SuSE-SLES/8/rpm/i586
695192  ./i386/update/SuSE-SLES/8/rpm
695788  ./i386/update/SuSE-SLES/8
695792  ./i386/update/SuSE-SLES
695804  ./i386/update
695808  ./i386
1390184 ./UnitedLinux

(Я знаю, что это довольно старое дерево: P)

3
27.01.2020, 19:34

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

ls -lrS | tail -1
-2
27.01.2020, 19:34

Добавление к ответу Джиппи

Чтобы перечислить самые большие каталоги из текущего каталога в удобочитаемом формате:

du -sh * | sort -hr | head -n10

Пример:

[~]$ du -sh * | sort -hr | head -n10
48M app
11M lib
6.7M    Vendor
1.1M    composer.phar
488K    phpcs.phar
488K    phpcbf.phar
72K doc
16K nbproject
8.0K    composer.lock
4.0K    README.md

Это упрощает чтение:)

35
27.01.2020, 19:34
du -csb `ls` | sort -nr | head -n10
-3
27.01.2020, 19:34

Если вы предпочитаете графический инструмент,https://github.com/shundhammer/qdirstat

1
27.01.2020, 19:34

введите следующую команду

cd /

, затем введите

du -sh * | grep G

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

0
27.01.2020, 19:34

Теги

Похожие вопросы