Как найти большие файлы в Linux

12 set 2022 2 min di lettura
Как найти большие файлы в Linux
Indice dei contenuti

Введение

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

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

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

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

sudo find. -xdev -type f -size +100M

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

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

/var/lib/libvirt/images/archlinux.img
 /var/lib/libvirt/images/slackware.img

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

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

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

Вывод будет выглядеть следующим образом:

-rw------- 1 root root 40967M Sep 6 11:42 /var/lib/libvirt/images/archlinux.img
 -rw------- 1 root root 3725M Sep 6 13:19 /var/lib/libvirt/images//slackware.img

Разберем команду:

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

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

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

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

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

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

Первый столбец включает размер файла, а второй — имя файла:

55G.
 24G./.random.d/linux
 24G./.random.d
 13G./Articoli
 5.2G./.news

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

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

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

Вывод

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

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.