Главная > Управление файлами и каталогами > find

Освоение команды find

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

Основные опции

Попробуйте искать и обрабатывать файлы в файловой системе, комбинируя различные опции команды `find`.

1. Базовый поиск

2. Условия по времени

3. Условия по размеру и правам

4. Действия

Сгенерированная команда:

Комбинируйте команды.

Описание:

`find` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Логические операторы

Команда `find` предоставляет логические операторы для выполнения более точного поиска путем комбинирования нескольких условий.

Основные логические операторы Операторы, используемые для объединения нескольких условий. По умолчанию применяется AND (-a).
Оператор Описание Пример
-and (или опускается) Когда оба условия, левое и правое, истинны find . -name "*.txt" -and -size +1M
-or Когда хотя бы одно из условий, левое или правое, истинно find . -name "*.log" -or -name "*.tmp"
-not (или !) Когда условие ложно find . -not -name "*.txt"
( ) Группировка условий (требует экранирования) find . \( -name "*.txt" -or -name "*.doc" \)

Приоритет операторов

Операторы команды find обычно оцениваются таким образом, что действия обрабатываются после выражений. Внутри условий можно использовать скобки (()) для явного указания приоритета. При использовании скобок их необходимо экранировать обратной косой чертой (\), так как они имеют специальное значение в оболочке.

Примеры использования

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

Найти все файлы с расширением '.log' в текущем каталоге

find . -name "*.log"

Ищет все файлы, заканчивающиеся на `.log`, в текущем местоположении.

Найти файлы размером более 50 МБ

find /var -size +50M

Ищет все файлы размером более 50 МБ в каталоге `/var` системы.

Найти файлы 'conf', измененные за последние 7 дней

find . -name "*.conf" -mtime -7

Находит файлы `.conf`, измененные в течение последних 7 дней в текущем каталоге.

Найти все каталоги с правами доступа 777

find / -type d -perm 777

Ищет каталоги с правами, установленными на 777, по всей системе, чтобы проверить риски безопасности.

Удалить старые файлы '.tmp'

find /tmp -name "*.tmp" -mtime +30 -delete

Находит и удаляет все файлы `.tmp` старше 30 дней в каталоге `/tmp`.

Выполнить определенную команду для найденных файлов (chmod)

find . -name "*.sh" -exec chmod 755 {} \;

Предоставляет права на выполнение (755) всем файлам с расширением `.sh` в текущем каталоге.

Найти файлы размером более 1 ГБ, принадлежащие определенному пользователю

find /home -user user1 -size +1G

Ищет в каталоге `/home` файлы, принадлежащие `user1` и имеющие размер более 1 ГБ.



Те же команды в категории