Команда find в Linux: поиск файлов и папок

Команда 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).

Что будем искать? Например,программа