Команда find в Linux позволяет легко находить файлы и директории. Её структура включает обычные опции, аргументы и выражения. Выражение, в свою очередь, состоит из различных опций. Команда find —help отобразит полный список доступных опций.
Структура команды find
Структура команды find:
- Обычные опции: -H, -L, -P
- Аргумент (опциональный): Путь к файлу или папке.
- Выражение: Содержит опции.
Практическое использование
Создадим файлы для тестирования:
touch file1.pdf
touch file2.pdf
Поиск file1.pdf в текущей директории:
find . -name file1.pdf
Результат: полный путь к файлу. . обозначает текущую директорию. Использование точки в качестве аргумента даёт тот же результат.
Поиск в родительской директории:
find .. -name file1.pdf
Поиск занимает больше времени из-за поиска в корневой директории. Результат содержит путь вида ../root/file1.pdf. Аналогично можно найти file2.pdf. Использование абсолютного пути (например, /) вместо .. даст аналогичный результат, но с абсолютным путём в выводе. Абсолютный путь начинается с /.
Поиск по шаблону
Найдём все файлы .pdf:
find . -name "*.pdf"
Аналогично найдём все файлы .txt:
find . -name "*.txt"
Поиск во всей файловой системе:
find / -name "*.txt"
Результат покажет все файлы .txt, включая те, что расположены во вложенных папках (например, /usr/share/vim/size.txt).