Основные опции
Попробуйте искать и обрабатывать файлы в файловой системе, комбинируя различные опции команды `find`.
1. Базовый поиск
2. Условия по времени
3. Условия по размеру и правам
4. Действия
Сгенерированная команда:
Комбинируйте команды.
Описание:
`find` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Логические операторы
Команда `find` предоставляет логические операторы для выполнения более точного поиска путем комбинирования нескольких условий.
| Оператор | Описание | Пример |
|---|---|---|
| -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 ГБ.