find команда — это мощный инструмент как для системных администраторов Linux, так и для пользователей. Она позволяет искать файлы и каталоги в иерархии каталогов по определённым критериям. Независимо от того, управляете ли вы локальными системами или облачными средами, освоение find команды может значительно повысить вашу эффективность.
В этой статье мы рассмотрим наиболее распространённые сценарии использования find команды, а также примеры, которые помогут вам начать работу.
Наиболее распространённые сценарии использования find
1. Поиск файлов по имени
find </path/to/look/into> -name <filename>
Используйте эту команду для поиска файлов, соответствующих определённому имени. Для поиска без учёта регистра используйте параметр -iname :
find </path/to/look/into> -iname <filename>
2. Поиск каталогов по имени
find </path/to/look/into> -type d -name <directory_name>
Эта команда находит каталоги, соответствующие указанному имени. Используйте -iname для поиска без учёта регистра:
find </path/to/look/into> -type d -iname <directory_name>
3. Поиск файлов по расширению
find </path/to/look/into> -name "*.txt"
Ищите файлы с определённым расширением, например .txt, .log, .sh, и т. д.
4. Поиск скрытых файлов
find </path/to/look/into> -type f -name ".*"
Скрытые файлы (те, которые начинаются с точки .) можно найти с помощью этой команды.
5. Поиск скрытых каталогов
find </path/to/look/into> -type d -name ".*"
Используйте эту команду для поиска скрытых каталогов по указанному пути.
6. Поиск пустых файлов
find </path/to/look/into> -type f -empty
Находите пустые файлы — это может быть полезно для задач очистки.
7. Поиск пустых каталогов
find </path/to/look/into> -type d -empty
Эта команда определяет пустые каталоги, позволяя удалять ненужные папки.
8. Поиск файлов, изменённых за последние X дней
find </path/to/look/into> -type f -mtime -X
Замените X на количество дней, чтобы найти файлы, изменённые за последние X дней (например, -mtime -7 — для файлов, изменённых за последнюю неделю).
9. Поиск файлов больше определённого размера
find </path/to/look/into> -type f -size +500M
Найдите файлы размером более 500 МБ. Замените 500M на нужный размер, а для килобайт используйте K , а для гигабайт — G .
10. Выполнение команд над найденными файлами
find </path/to/look/into> -type f -name "*.log" -exec rm {} \;
Эта команда ищет файлы .log и удаляет их. Замените rm на любую команду, которую вы хотите выполнить над найденными файлами.
Справочная документация
Для более продвинутого использования и дополнительных параметров обратитесь к официальному руководству по команде find :
Страница руководства GNU/Linux для find