Если вы часто работаете в командной строке на компьютере или на сервере, где вообще нет графической оболочки, перед вами рано или поздно встанет задача поиска файлов. К счастью, в Linux уже встроена команда, которая позволяет найти файл в системе.
Сегодня мы поговорим об использовании команды find — поверьте, стоит научиться работать с этим мощным и удобным инструментом.
Как использовать команду find
Если говорить упрощённо, базовый синтаксис команды find выглядит следующим образом:
find /путь параметры имя_файла
Давайте разбираться с возможностями команды
Поиск файла по имени
Первый параметр — это путь. Если вы понятия не имеете, где может скрываться файл, ставьте вместо пути /
— этого достаточно. Однако, поиск по всему диску может быть достаточно длительным, и если вы знаете, где может находиться файл, укажите папку, с которой надо начинать искать (например ~
для поиска в домашней папке пользователя).
Теперь перейдём к параметрам поиска. Есть два варианта поиска файла по имени:
name
— поиск с учетом регистра имени файлаiname
— поиск без учета регистра имени файла
Нужно помнить, что в Linux регистр имени файла имеет значение, и если нужно найти, например, файл Ubuntu.txt, то следующая команда не даст никаких результатов:
find / -name ubuntu.txt
Но можно воспользоваться командой iname
и выполнить поиск без учета регистра:
find / -iname ubuntu.txt
Поиск по типу
Команда find позволяет искать не только файлы. Вот какие типы дескрипторов поддерживает поиск:
f
— обычный файлd
— директорияl
— символическая ссылкаc
— символьное устройствоb
— блочное устройство
Например, для поиска всех директорий внутри домашней директории текущего пользователя, названиt которых начинается с «config», выполните следующую команду:
find ~ -type d -name config*
Вывод результатов поиска в файл
Удобная функция вывода результата выполнения команды в файл будет крайне полезна, если результатов поиска много или есть необходимость работать с ними позже. Например, для того, чтобы сохранить список всех найденных конфигурационных файлов в файл conf_search, выполните следующую команду:
find /etc -type f -name “*.conf” > conf_search
Поиск файлов по размеру
Это очень полезный параметр, когда место на диске заканчивается и нужно понять, куда оно делось. Например, чтобы найти файлы размером больше 1000 Мб, выполните следующую команду:
find / -size +1000M
Можно использовать следующие сокращения размеров:
c
— байтыk
— килобайтыM
— мегабайтыG
— гигабайтыb
— блоки по 512 байт
Это всего несколько способов применения мощной команды . Больше способов можно найти в руководстве, выполнив команду
man find