Справочник

Команда find в Linux: как найти файл по имени, размеру и дате

find перебирает папки и показывает файлы, которые подходят под условия: имя, размер, дата изменения. Так находят wp-config.php, большие файлы, из-за которых кончилось место, и файлы, которые поменялись за последний час.

Обновлено 11.10.2026≈ 4 мин чтения
Содержание 9

Что сделать прямо сейчас

  1. Подключитесь к серверу — инструкция.
  2. Найдите файл по имени: sudo find /var/www -name 'wp-config.php'.
  3. Найдите большие файлы: sudo find /var -type f -size +100M.
  4. Найдите, что менялось за последний час: sudo find /var/www -type f -mmin -60.
  5. Чтобы удалить найденное, сначала посмотрите список и только потом добавьте -delete в конец — как это делать.

Как устроена команда

find /var/www -type f -name '*.php'
ЧастьЧто значит
findкоманда
/var/wwwгде искать: find зайдёт и во все вложенные папки
-type fусловие: только файлы
-name '*.php'условие: имя заканчивается на .php

Если не указать, где искать, find ищет в текущей папке. Все условия должны выполниться сразу. Шаблон имени берите в кавычки — иначе bash подставит вместо *.php файлы из текущей папки, и find получит не то.

Условия поиска

УсловиеЧто найдёт
-name 'wp-config.php'файл с точно таким именем
-name '*.log'имена, которые заканчиваются на .log
-iname 'readme*'то же без учёта больших букв: README, Readme, readme
-type fтолько файлы
-type dтолько папки
-size +100Mбольше 100 МБ (M — мебибайты, k — кибибайты, G — гибибайты)
-size +1Gбольше 1 ГБ
-mmin -60менялись меньше 60 минут назад
-mtime -1менялись меньше суток назад
-mtime +7менялись больше недели назад
-emptyпустые файлы и папки
-user ivanфайлы пользователя ivan
-maxdepth 1не заходить во вложенные папки глубже первого уровня

Плюс значит «больше», минус — «меньше», число без знака — «ровно». Размер find округляет вверх, а дни считает целыми сутками, отбрасывая остаток. Поэтому -mtime +7 найдёт файлы, которые не менялись восемь суток и дольше.

Примеры для сервера

ЗадачаКоманда
Где лежит конфиг WordPresssudo find /var/www -name 'wp-config.php'
Что занимает местоsudo find / -xdev -type f -size +500M
Что менялось за часsudo find /var/www -type f -mmin -60
Старые архивы копийfind ~/backup -name '*.tar.gz' -mtime +30
Файлы только в этой папкеfind . -maxdepth 1 -name '*.log'
Папки с конфигами nginxfind /etc/nginx -name '*.conf'

Ключ -xdev не даёт find уходить на другие диски и в служебные файловые системы вроде /proc. Если место на диске кончилось, разбор по шагам — No space left on device.

Строки Permission denied

find заходит во все папки подряд, и в те, что вашему пользователю закрыты, тоже. На каждую такую папку он выводит строку со словами Permission denied. Есть два способа:

  • запустить с sudo — тогда find сможет зайти и туда;
  • спрятать сообщения об ошибках, дописав 2>/dev/null в конец.
find / -name 'wp-config.php' 2>/dev/null

2>/dev/null прячет все сообщения об ошибках, а не только эти. Если find ничего не нашёл, запустите команду без этой приписки и прочитайте, что он пишет.

Как удалить найденные файлы

Ключ -delete удаляет всё, что нашлось, без вопросов и без корзины. Делайте в два шага:

  1. Запустите поиск без удаления и прочитайте список: find ~/backup -name '*.tar.gz' -mtime +30.
  2. Если в списке только то, что не жалко, добавьте -delete в самый конец той же команды: find ~/backup -name '*.tar.gz' -mtime +30 -delete.

Ставьте -delete только последним. find читает команду слева направо, и -delete в начале удалит всё в папке поиска, не глядя на условия. Папки -delete удаляет, только если они пустые.

Как настроить, чтобы старые копии удалялись сами, — Резервные копии сайта.

Команда для каждого найденного файла

-exec запускает другую команду с найденными файлами. На место {} find подставит имена, а + в конце собирает их в один запуск:

find . -name '*.log' -exec ls -lh {} +

Так меняют права сразу у всех папок или всех файлов сайта — примеры в статье Команда chmod.

Источники

Сверено 11 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 11.10.2026