Android

Найти большие файлы в Linux

Настя и сборник весёлых историй

Настя и сборник весёлых историй

Оглавление:

Anonim

Со временем ваш диск может загромождаться большим количеством ненужных файлов, занимающих много места на диске. Обычно в системах Linux не хватает места на диске из-за больших файлов журнала или резервных копий.

В этом руководстве объясняется, как найти самые большие файлы и каталоги в системах Linux с помощью команд find и du .

Найти большие файлы с помощью команды find

Команда find является одним из самых мощных инструментов в арсенале системных администраторов Linux. Это позволяет вам искать файлы и каталоги на основе различных критериев, включая размер файла.

Например, если вы хотите искать файлы размером более 100 МБ, в текущем рабочем каталоге вы должны использовать следующую команду:

sudo find. -xdev -type f -size +100M Заменить с путем к каталогу, где вы хотите искать самые большие файлы.

Вывод покажет список файлов без дополнительной информации.

/var/lib/libvirt/images/centos-7-desktop_default.img /var/lib/libvirt/images/bionic64_default.img /var/lib/libvirt/images/win10.qcow2 /var/lib/libvirt/images/debian-9_default.img /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img /var/lib/libvirt/images/centos-7_default.img

Команда find также может использоваться в сочетании с другими инструментами, такими как ls или sort для выполнения операций с этими файлами.

В приведенном ниже примере мы передаем выходные данные команды find в ls которая распечатает размер каждого найденного файла, а затем передаст эти выходные данные команде sort чтобы отсортировать их по 5-му столбцу, который является размером файла.

find. -xdev -type f -size +100M -print | xargs ls -lh | sort -k5, 5 -h -r

Вывод будет выглядеть примерно так:

-rw------- 1 root root 40967M Jan 5 14:12 /var/lib/libvirt/images/win10.qcow2 -rw------- 1 root root 3725M Jan 7 22:12 /var/lib/libvirt/images/debian-9_default.img -rw------- 1 root root 1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img -rw------- 1 root root 999M Jan 5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img -rw------- 1 root root 562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img -rw------- 1 root root 378M Jan 7 22:26 /var/lib/libvirt/images/bionic64_default.img

Если вывод содержит много строк информации, вы можете использовать команду head для печати только первых 10 строк:

find. -xdev -type f -size +100M -print | xargs ls -lh | sort -k5, 5 -h -r | head

Давайте разберем команду:

  • find. -xdev -type f -size +100M -print find. -xdev -type f -size +100M -print - искать только файлы ( -type f ) в текущем рабочем каталоге ( . ), размером более 100 МБ ( -size +100M ), не спускать каталоги в других файловых системах ( -xdev ) и напечатайте полное имя файла на стандартном выводе, а затем новую строку ( -print ). xargs ls -lh - выходные данные команды find xargs в xargs который выполняет команду ls -lh , которая выводит выходные данные в длинном листинговом формате, ls -lh человеку. sort -k5, 5 -h -r - сортировка строк на основе 5-го столбца ( -k5, 5 ), сравнение значений в удобочитаемом формате ( -h ) и обратный результат ( -r ). head : печатает только первые 10 строк конвейерного вывода.

Команда find поставляется с множеством мощных опций. Например, вы можете искать большие файлы старше x дней, большие файлы с определенным расширением или большие файлы, принадлежащие конкретному пользователю.

Найти большие файлы и каталоги с помощью команды du

Команда du используется для оценки использования файлового пространства и особенно полезна для поиска каталогов и файлов, которые занимают много места на диске.

Следующая команда напечатает самые большие файлы и каталоги:

du -ahx. | sort -rh | head -5

Первый столбец содержит размер файла, а второй - имя файла:

55G. 24G./.vagrant.d/boxes 24G./.vagrant.d 13G./Projects 5.2G./.minikube

Объяснение команды:

  • du -ahx. : оценить использование дискового пространства в текущем рабочем каталоге ( . ), подсчитать как файлы, так и каталоги ( a ), размеры печати в удобочитаемом формате ( h ) и пропустить каталоги в разных файловых системах ( x ). sort -rh : сортировка строк путем сравнения значений в удобочитаемом формате ( -h ) и обратный результат ( -r ). head -5 : печатает только первые 5 строк конвейерного вывода.

Команда du включает в себя другие параметры, которые можно использовать для уточнения вывода использования дискового пространства.

Вывод

Поиск больших файлов очень полезен, когда ваш диск заполнен, и вы хотите освободить его.

Теперь, когда вы нашли самые большие файлы в своей системе, вы можете прочитать наше руководство о том, как удалять файлы и каталоги с помощью командной строки Linux.

найти дисковый терминал