Команда find предназначена для поиска файлов и папок в файловой системе Linux. Она может быть использована для поиска файлов по имени, типу, размеру, дате изменения и другим критериям. Команда find может быть очень полезной в различных сценариях, например, при поиске конкретного файла в большой файловой системе или при поиске файлов, которые были изменены в течение определенного периода времени.

Как использовать команду find

Команда «find» имеет следующий синтаксис:

find [path] [expression]

где «path» — это путь к каталогу, в котором вы хотите искать файлы, а «expression» — это выражение, которое определяет критерии поиска.

Поиск по типу

Параметр -type позволяет искать файлы по типу, которые бывают следующих видов:

  • f – простые файлы.
  • d – каталоги.
  • l – символические ссылки.
  • b – блочные устройства (dev).
  • c – символьные устройства (dev).
  • p – именованные каналы.
  • s – сокеты.

Например, вот так, будут найдены только каталоги внутри текущего:

find . -type d
Поиск по имени

Для поиска по имени используется параметр -name. Например, команда для поиска всех файлов с расширением .txt в каталоге /home/ будет выглядеть так:

find /home/ -type f -name "*.txt"

Найти все папки с именем my_folder в текущем каталоге можно так:

find . -type d -name "my_folder"
Поиск по размеру файла

Для поиска по размеру используется параметр -size.

  • + — Поиск файлов больше заданного размера
  •  — Поиск файлов меньше заданного размера
  • Отсутствие знака означает, что размер файлов в поиске должен полностью совпадать.

Единицы измерения указываются так:

  • c — Байт
  • k — Кбайт
  • M — Мбайт
  • G — Гбайт

Например, найти все файлы, в каталоге /home/ с размером больше 100 Мбайт можно так:

find /home/ -size +100M
Поиск пустых файлов и каталогов

Для поиска пустых папок и файлов используется параметр -empty. Например, найдём все пустые файлы и папки в каталоге /home/:

find /home/ -empty
Поиск файлов по дате

Доступны следующие параметры:

  • -mtime — Время изменения файла. Указывается в днях.
  • -mmin — Время изменения в минутах.
  • -atime — Время последнего обращения к объекту в днях.
  • -amin — Время последнего обращения в минутах.
  • -ctime — Последнее изменение владельца или прав на объект в днях.
  • -cmin — Последнее изменение владельца или прав в минутах.

Например, найдём все файлы, изменённые в каталоге /home/ за последние 60 минут:

find /home/ -cmin -60

А если мы наоборот, хотим найти все файлы, изменённые раньше, чем час назад, то в команде минус меняем на плюс:

find /home/ -cmin +60

Можно также вывести список файлов с сортировкой по дате модификации.

Например, вот эта команда выведет все файлы из каталога /home/ с сортировкой по дате модификации. Файлы изменённые недавно, окажутся в начале списка:

find /home/ -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r

А вот так, мы изменим сортировку, то есть последние изменённые файлы окажутся в конце списка:

find /home/ -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -n

А так, мы можем ограничить количество выводимых результатов. Например вывести только 50:

find /home/ -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -n | head -n 50
Поиск по пользователю или группе

Для поиска файлов принадлежащих определённому пользователю, или группе, используются параметры -user и -group. Например, найдём в каталоге /home/ все файлы, принадлежащие пользователю admin:

find /home/ -user admin
Поиск по правам доступа

Для поиска по правам доступа используется параметр -perm. Например, найдём все файлы с правами 777 в каталоге /home/:

find /home/ -perm 777
Поиск с использованием логических операторов

При поиске можно использовать логические операторы:

  • -a — Логическое И. Объединяет несколько критериев поиска.
  • -o — Логическое ИЛИ. Ищем на основе одного из критериев поиска.
  • -not или ! — Логическое НЕ.

Например, найдём в каталоге /home/ все файлы начинающиеся на sess_ или заканчивающиеся на tmp:

find /home/ -type f -name "sess_*" -o -name "*tmp"
Исключить из поиска определённые папки

При поиске с помощью команды find, можно исключать определённые каталоги. Например мы хотим найти все файлы с расширением .php, изменённые за последние 2 дня во всех папках сайта, за исключением папок /bitrix/managed_cache/ и /bitrix/cache/:

find /home/www/ -type f -name "*.php" -mtime -1 -not -path "*/bitrix/managed_cache/*" -not -path "*/bitrix/cache/*"
Как удалить найденные файлы

Для удаления найденных файлов можно использовать параметр -delete, дописав его в конце команды поиска.

Например, удалим из папки /tmp/ все файлы старше 10 дней:

find /tmp/ -type f -mtime +10 -delete

Нужна профессиональная удалённая помощь с сервером, сайтом, компьютером или ноутбуком?

Свяжитесь со мной любым удобным для вас способом, и получите её быстро и не дорого.

Обсудить задачу

Помогла статья? Поблагодари автора!

Остались вопросы, или есть что добавить? Добро пожаловать в комментарии.

Угостить автора чашечкой кофе

Недавние записи

Критическая уязвимость в Elementor Pro

Критическая уязвимость в Elementor Pro — популярном плагине WordPress

В версии, 3.11.7, плагина Elementor Pro выпущенной  22 марта 2023 года, устранена...
Подробнее
Яндекс Метрика

Битрикс Веб-окружение и проблемы с Вебвизор Яндекс Метрики из-за заголовка X-Frame-Options

В Битрикс Веб-окружении по умолчанию в настройках Nginx прописан заголовок X-Frame-Options, который...
Подробнее
Массовый взлом сайтов на Битрикс 2023

Массовый взлом сайтов на Битрикс 2023

В последнее время ко мне массово обращаются клиенты с жалобой на взлом...
Подробнее
Битрикс - Резервное копирование по FTP

Битрикс: Веб-окружение — бэкапы на удалённый FTP сервер.

1С-Битрикс: Веб-окружение умеет создавать резервные копии только на тот же сервер, на...
Подробнее
find

Команда Find в Linux — как найти и удалить файлы и папки

Команда find предназначена для поиска файлов и папок в файловой системе Linux....
Подробнее
спам

Exim — мониторинг почтовой очереди для выявления исходящего спама

Очень часто случается так, что на сервере присутствуют сайты с неактуальными версиями...
Подробнее
Архиватор Linux

Как работать с архиваторами в консоли Linux (шпаргалка)

Часто при работе в консоли linux приходится создавать архивы, или наоборот распаковывать...
Подробнее
Логирование POST запросов

Логирование POST запросов к сайту

Довольно часто возникают ситуации, когда обычных логов, которые пишет вебсервер, бывает недостаточно....
Подробнее
Linux изменить текстовый редактор

Как в Linux изменить текстовый редактор по умолчанию

В Linux существует несколько текстовых редакторов. Vim, Nano, Mcedit, и другие. У...
Подробнее
выполнение всех агентов на cron

Битрикс — выполнение всех агентов на cron

В Битрикс по умолчанию агенты выполняются на хитах. То есть триггером для...
Подробнее
GA-H61M-S2PV (rev. 2.1) циклическая перезагрузка

Gigabyte GA-H61M-S2PV (rev. 2.1) циклическая перезагрузка (решено)

Принесли в ремонт компьютер с материнской платой Gigabyte GA-H61M-S2PV (rev. 2.1). Компьютер...
Подробнее
MySQL

Перенос большой базы MySQL, если не достаточно места для дампа

Сегодня при переносе сайта с огромной базой MySQL с одного виртуального сервера...
Подробнее
Telegram MTProto Proxy

Как поднять собственный Telegram MTProto Proxy

MTProto, это специальный протокол разработанный командой Дурова, предназначенный для шифрования трафика мессенджера...
Подробнее
Налог на профессиональный доход

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

С 1 января 2023 года в Беларуси появился новый налоговый режим -...
Подробнее
фсзн

ФСЗН — узнать свой стаж в Беларуси можно через мобильное приложении

1 февраля 2023 года ФСЗН Беларуси запустил мобильное приложение, с помощью которого...
Подробнее
RustDesk

RustDesk — как получить компьютерную помощь онлайн

RustDesk - новая программа с открытым исходным кодом для удалённого управления устройствами....
Подробнее
Microlab M-800 не включается

Акустика Microlab M-800 не включается — Ремонт

Принесли в ремонт компьютерную акустику Microlab M-800 с диагнозом "не включается". У...
Подробнее
умный бесперебойник с WiFi

Делаем умный бесперебойник с WiFi и подключаем его к умному дому с Алисой

Недавно я рассказывал как можно удалённо включать и выключать свой компьютер через...
Подробнее
перенос сайта на другой сервер через SSH

Быстрый перенос сайта на другой сервер через SSH

Современные сайты и их базы данных могут быть очень большими, и перенос...
Подробнее
Включаем и выключаем компьютер удалённо

Включаем и выключаем компьютер удалённо, или через умный дом.

Иногда бывают ситуации, когда нужно включить или выключить компьютер удалённо. Например, включить...
Подробнее
блокируем вредных ботов

Nginx — блокируем вредных ботов.

В сети существует огромное количество ботов, которые занимаются сканированием сайтов. Некоторые боты...
Подробнее
cron

Cron — переход по ссылке с параметрами в URL

Cron - планировщик в Linux для запуска задач по расписанию. Обычно он...
Подробнее

Contact Form 7 — удаляем значок Google reCaptcha со страниц сайта.

Популярный плагин для создания контактных форм на сайтах под управлением Wordpress, Contact...
Подробнее
MySQL

Автоматическое завершение долгих процессов Mysql

Бывают случаи, когда некоторые запросы Mysql подвисают и выполняются невероятно долго, создавая...
Подробнее

Шпаргалка по командам EXIM

Exim — это агент пересылки сообщений для ОС Linux. В этой шпаргалке,...
Подробнее
подборка полезных программ

Windows — подборка полезных программ.

Небольшая подборка полезных программ, которые я рекомендую к использованию на компьютерах и...
Подробнее
Это приложение не позволяет выключить компьютер

Отключаем уведомление «Это приложение не позволяет выключить компьютер»

При выключении компьютера Windows или при его перезагрузке часто можно встретить, как...
Подробнее

Windows 11 как установить Internet Explorer, как зайти в личный кабинет налоговой и портал ФСЗН

В новой Windows 11 компания Microsoft полностью удалила браузер Internet Explorer, который...
Подробнее

Удалённая компьютерная помощь. Что это и как?

Большинство проблем с вашим компьютером или ноутбуком можно решить удалённо, не выезжая...
Подробнее
Введите текст для поиска...