Работа с системой Linux довольно часто сопровождается с поиском каких-либо файлов в системе, используя различные критерии отбора. В данном посту мы поговорим про методы поиска файлов, которые больше всего занимают места на диске. Этот метод поиска может быть полезным, к примеру, когда необходимо определить самые увесистые файлы на сервере, чтобы выполнить какие-либо манипуляции с данными.
Критерии поиска могут быть разные. Мы может выполнять поиск как файлов, так и папок. Для начала давайте рассмотрим пример поиска самых увесистых папок в директории.
Для поиска необходимых папок мы будем использовать стандартные команды в системе Linux, с которыми вы скорее всего знакомы. Это команды du, sort, а также head.
du -h | sort -hr | head -n 15
Выполнив эту команду в консоли, мы выполним поиск 15 папок, в текущем каталоге. Результат поиска будет отсортирован по размеру, в порядке убывания. Таким образом, мы получаем самые увесистые папки в самом начале списка.
Аналогичным образом, как и в предыдущем примере мы можем выполнить поиск файлов и папок в текущем каталоге. Для этого нужно выполнить аналогичный запрос, с дополнительным параметром.
du -ah | sort -hr | head -n 10
Давайте немного поясним назначение используемых команд, для тех кому они не знакомы. Команда du получает информацию об использовании диска, команда sort позволяет задать порядок сортировки файлов. Команда head используется в данном примере для задания лимита отображения 15-ти файлов.
Параметры, добавляемые к стандартным командам, позволяют получить результат в нужном нам виде. В Unix системах размеры файлов по умолчанию отображаются в байтах. Чтобы удобнее было воспринимать данные команды du, добавлен параметр «h» (сокр. от human), после чего мы будем видеть размеры файлов в привычном для нас виде с обозначением K, Mb, Gb, и т.д.
Для команды sort добавлен параметры «n» и «r». Первый параметр означает что сортировка строк будет выполнена по числовому значению. Второй параметр говорит о том, что сортировка будет выполнена в обратном порядке.
Для команды head так же задаётся параметр «n» который ограничивает количество выбираемых файлов. Лимит на количество указан после параметра, в нашем примере это 10.
По этим командам собственно всё, пост получился простым, но надеюсь информация будет вам полезна.