3 способа найти самые большие файлы в Linux

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

Мы будем использовать команду "du", команду "find" и команду "ls" для поиска самых больших файлов. Давайте начнем!

Для поиска самых больших файлов можно использовать следующие команды.

  • find /path/to/directory -type f -exec du -hs {} \;| sort -rh | head -n 1
  • du -sh * | sort -rh | head -1
  • ls -lSh /bin | head -1
  • find ./ -type f -exec du -sh {} \; |sort -h|tail -1
  • du -ah /home | sort -h -r | head -n 1
  • find $directory -type f -exec ls -s {} \; | sort -n | tail -n 1

Поиск самых больших файлов с помощью команды find в Linux

Вы можете легко найти самые большие файлы в Linux с помощью этой команды.

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

Команда find в Linux - это утилита командной строки для просмотра иерархии файлов. Она может использоваться для поиска файлов и каталогов и выполнения последующих операций над ними.

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

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

  • find /path/to/directory -type f - Перечислить все файлы в указанном каталоге и подкаталогах
  • du -sh - Вывести размер файла в человекочитаемом формате
  • sort -rh - Перевернуть результат на основе человекочитаемых чисел
  • head -1 - Вывести первый по величине файл

Если вы хотите найти самые большие файлы во всей системе, вы можете использовать следующую команду:

Эта команда займет много времени, если у вас много файлов на сервере.

Например, если вы хотите найти самый большой файл в каталоге /home/user/documents, вы можете выполнить:

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

Пример вывода:

В этом примере /home/user/documents/large_file.txt - самый большой файл в указанном каталоге, его размер составляет 2,5 гигабайта.

Вот еще примеры.

Найти самые большие файлы в текущем каталоге, включая подкаталоги

Найти самый большой каталог под текущим каталогом

Поиск самых больших файлов с помощью команды du в Linux

Команда du используется для оценки пространства, занимаемого файлом или каталогом. Мы можем передать вывод команды du команде sort, чтобы отсортировать файлы по размеру. Затем используйте команду head для печати первых нескольких строк вывода.

Откройте терминал и введите эту команду. Она выведет список самых больших файлов и каталогов в текущем каталоге.

В наших примерах мы используем следующие команды.

  • du -sh Вывести размер файлов и каталогов в человекочитаемом формате
  • sort -rh Перевернуть результат на основе человекочитаемых чисел
  • head -1 Вывести первые по величине файлы

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

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

или

Команды du -sh * | sort -rh | head -1 и find ./ -type f -exec du -sh {} \; | sort -rh | head -n 1 служат схожей цели - найти самый большой файл в каталоге, но отличаются подходом.

Эта команда использует команду du для расчета использования диска каждым файлом и каталогом в текущем каталоге (*).

  • Часть du -sh * выводит список использования диска каждым файлом и каталогом в человекочитаемом формате.
  • Затем вывод передается в sort -rh для сортировки результатов в обратном порядке на основе человекочитаемых размеров.
  • Наконец, head -1 выводит только первую строку, которая представляет самый большой файл или каталог.

Эта команда использует команду find для поиска всех обычных файлов (-тип f), начиная с текущего каталога (./).

  • Часть -exec du -sh {} \; выполняет команду du для каждого найденного файла и выводит информацию об использовании диска в удобочитаемом формате.
  • Затем вывод передается в sort -rh для сортировки результатов в обратном порядке на основе человекочитаемых размеров.
  • Наконец, head -n 1 отображает только первую строку, которая представляет самый большой файл.

Обе команды достигают одной и той же цели - найти самый большой файл, но они отличаются тем, как они формируют список файлов. Первая команда (du -sh *) включает все файлы и каталоги в текущем каталоге, в то время как вторая команда (find ./ -type f) фокусируется на обычных файлах в текущем каталоге и его подкаталогах.

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

Поиск самых больших файлов с помощью команды ls в Linux

Команда ls - одна из самых основных команд в Linux, она используется для вывода списка содержимого каталога.

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

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

Если вы хотите увидеть размеры файлов в человекочитаемом виде, вы можете использовать параметр -lhS. Это покажет файлы в виде длинного списка и отсортирует их по размеру файла, читаемому человеком.

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

Если вы хотите увидеть обратный порядок размеров файлов, вы можете использовать опцию -lrhS. Это покажет вам файлы в виде длинного списка и отсортирует их в обратном порядке по размеру файлов.

Команда Описание
find / -type f -exec du -hs {} ; | sort -rh | head -n 1 Находит все обычные файлы, начиная с корневого каталога ("/"), вычисляет использование диска для каждого файла, сортирует их в обратном порядке по размеру, читаемому человеком, и отображает информацию о самом большом файле.
ls -lSh /path/to/directory | head -1 Перечисляет файлы и каталоги в указанном каталоге ("/path/to/directory"), отображает подробную информацию о файлах в длинном формате, сортирует их по размеру в порядке убывания и показывает только информацию о самом большом файле или каталоге.
du -sh * | sort -rh | head -1 Рассчитывает использование диска для всех файлов и каталогов в текущем каталоге, отображает размеры в человекочитаемом формате, сортирует их по размеру в обратном порядке и показывает только информацию о самом большом файле или каталоге.

 

Понравилась статья? Поделиться с друзьями:
Добавить комментарий