Если вы часто работаете в командной строке на компьютере или на сервере, где вообще нет графической оболочки, перед вами рано или поздно встанет задача поиска файлов. К счастью, в 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