Table of Contents
Топ-20 самых полезных флагов find#
| Флаг | Назначение |
|---|---|
-name |
Поиск по имени |
-iname |
Поиск без учёта регистра |
-type f |
Только файлы |
-type d |
Только папки |
-size |
Поиск по размеру |
-mtime |
Фильтр по дате изменения |
-atime |
Фильтр по дате последнего доступа |
-user |
Фильтр по владельцу |
-group |
Фильтр по группе |
-perm |
Фильтр по правам доступа |
-empty |
Пустые файлы и папки |
-maxdepth |
Ограничение глубины поиска |
-mindepth |
Минимальная глубина поиска |
-delete |
Удаление найденных файлов |
-exec |
Выполнение команды для найденных файлов |
-execdir |
Выполнение команды из директории найденного файла |
-print0 |
Нулевой разделитель для безопасной работы с пробелами |
-regex |
Поиск по регулярным выражениям |
-ls |
Детальный вывод как ls -l |
-newer |
Фильтр по “новее, чем файл” |
🟢 Уровень 1 — Базовые команды (разогрев)#
find .
- Найти все файлы и папки в текущем каталоге
find /path -name file.txt
- Найти файл
file.txtпо имени
find . -type f
- Найти только файлы
find . -type d
- Найти только директории
find . -maxdepth 1
- Искать только в текущем каталоге, без рекурсии
find . -name "*.txt"
- Найти все
.txtфайлы
🟡 Уровень 2 — Поиск по условиям#
find . -iname "*.jpg"
- Поиск без учёта регистра (
.jpg,.JPG)
find . -type f -size +10M
- Файлы больше 10MB
find . -type f -size -100k
- Файлы меньше 100KB
find . -empty
- Пустые файлы и каталоги
find . -type f -perm 644
- Файлы с правами
644
find . -type f -executable
- Исполняемые файлы
🟠 Уровень 3 — По дате и времени#
find . -type f -mtime -1
- Файлы, изменённые за последние сутки
find . -type f -mtime +30
- Файлы старше 30 дней
find . -type f -atime -7
- Файлы, к которым обращались за последние 7 дней
find . -newer file.txt
- Файлы, изменённые позже, чем
file.txt
find . -cmin -10
- Файлы, изменённые за последние 10 минут
🔵 Уровень 4 — Действия с файлами#
find . -type f -delete
- Удалить все найденные файлы
find . -name "*.log" -exec rm {} \;
- Удалить все
.logфайлы
find . -name "*.sh" -exec chmod +x {} \;
- Сделать все
.shфайлы исполняемыми
find . -name "*.txt" -exec cp {} /backup/ \;
- Скопировать все
.txtв/backup/
find . -name "*.conf" -exec grep "DEBUG" {} \;
- Ищет
DEBUGвнутри всех.confфайлов
🟣 Уровень 5 — Оптимизация и комбинирование#
find . -name "*.txt" -o -name "*.md"
- Найти файлы с расширениями
.txtили.md
find . -type f \( -name "*.jpg" -o -name "*.png" \)
- Найти все картинки
.jpgи.png
find . -type f ! -name "*.txt"
- Все файлы, кроме
.txt
find . -type f -size +10M -and -name "*.mp4"
- Видео больше 10MB
find . -type f -mtime -7 -and -name "*.log"
- Логи, изменённые за неделю
🔴 Уровень 6 — Мощные комбинации#
find . -type f -print | xargs wc -l
- Подсчёт строк во всех файлах
find . -name "*.log" -exec gzip {} \;
- Сжать все
.logфайлы
find . -name "*.tar.gz" -exec tar -tf {} \;
- Просмотреть содержимое архивов
find . -type f -name "*.c" -exec grep -H "main" {} \;
- Найти функцию
mainво всех.cфайлах
find / -name "*.conf" 2>/dev/null
- Искать
.confпо всей системе (скрывая ошибки доступа)
🟤 Уровень 7 — Гуру-режим#
find . -type f -print0 | xargs -0 rm
- Удалить файлы с пробелами в именах
find . -type f -size +100M -print0 | xargs -0 -n 1 -P 4 mv -t /mnt/large/
- Переместить большие файлы параллельно
find . -type f -exec sha256sum {} +
- Посчитать хэши всех файлов
find . -type f -printf "%p %k KB\n"
- Показать размер файлов в KB (GNU find)
find . -regex ".*\(jpg\|png\|gif\)$"
- Поиск по регулярному выражению
find . -type f -execdir cp {} /backup/ \;
- Копировать найденные файлы из их директорий