Поиск файлов в Linux: простые примеры с find, locate и fd | SecureFlow

Поиск файлов в Linux: простые примеры с find, locate и fd

Постер статьи

Содержание

В Linux часто возникает задача — найти нужный файл: конфигурацию, лог или скрипт, особенно если не знаешь точный путь. В этой статье рассмотрим основные команды поиска файлов: find, locate, fd, а также which и whereis. Всё с примерами и объяснениями.

Команда find — мощный инструмент поиска файлов в Linux

Команда find — мощный и гибкий инструмент, позволяющий искать файлы по множеству параметров. Подходит для точного поиска в реальном времени.

Найти файл по имени (с учётом регистра)

find / -name "example.txt"
  • / — каталог, где начинается поиск (можно заменить на . для текущей директории).
  • -name — ищет точное совпадение имени (регистр имеет значение).

Поиск файла без учёта регистра

find / -iname "example.txt"
  • -iname — как -name, но без учёта регистра.

Поиск по расширению файла (например, .log)

find /var/log -name "*.log"

Полезно при поиске логов, конфигов и других типов файлов.

Как убрать ошибки Permission denied при поиске

Чтобы убрать ошибки доступа при поиске по всей системе:

find / -name "example.txt" 2>/dev/null

Или запускай от имени суперпользователя:

sudo find / -name "example.txt"

Быстрый поиск файлов с помощью команды locate

locate — сверхбыстрый способ найти файлы, так как использует заранее построенную базу данных. Отлично подходит для повседневного поиска.

Установка locate (plocate) в разных дистрибутивах

На большинстве систем используется plocate — более современная и быстрая версия:

Ubuntu / Debian

sudo apt install plocate

CentOS / Red Hat

sudo dnf install plocate

Обновление базы данных

sudo updatedb

Рекомендуется запускать хотя бы раз в день или в неделю (можно через cron).

Поиск файла

locate nginx.conf

Если файл только что создан — обнови базу:

sudo updatedb

Удобный и быстрый поиск файлов с помощью fd (fdfind)

Если хочешь быстрый, минималистичный и красивый CLI-интерфейс — попробуй fd (часто называется fdfind).

Установка fd

Ubuntu / Debian

sudo apt install fd-find

Red Hat / Fedora / RedOS

sudo dnf install fd-find

ALT Linux

sudo apt-get install fd

Использование fd

Поиск в текущем каталоге

fdfind example.txt

Без лишних опций — ищет быстро и удобно.

Поиск по всей системе

fdfind auth.log /

Если команда fd не работает, попробуй использовать fdfind — это то же самое.

Поиск бинарников с помощью which и whereis

Когда нужно узнать путь до установленной команды или бинарника:

Где находится команда nano?

which nano

Где находятся бинарники, man-страницы и исходники?

whereis bash

Они показывают путь до бинарника и связанных файлов.

Таблица сравнения команд поиска файлов в Linux

Инструмент Когда использовать Преимущества
find Точный и гибкий поиск по параметрам Гибкость, встроен в систему
locate Быстрый поиск по имени Мгновенный результат
fd Альтернатива find с удобным интерфейсом Простота и скорость
which Найти путь к команде Удобство и простота
whereis Полная информация о бинарниках Расширенный вывод

Часто задаваемые вопросы

Как найти файл в Linux, если не знаешь точное имя?

Используй find с маской:

find / -name "*часть_имени*"

Почему locate не находит только что созданный файл?

locate использует базу данных. Обнови её командой:

sudo updatedb

Что лучше: find или fd?

fd проще и быстрее для повседневного поиска, find — мощнее для сложных условий.

Заключение

Для повседневной работы удобнее всего locate или fd — они быстрые и простые. В скриптах и автоматизации лучше использовать find, особенно если нужен точный контроль. Освой все три инструмента и используй подходящий под задачу!