find папка параметри критерій шаблон дія
-mount – шукати файли тільки в цій файловій системі.
-name – пошук файлів за іменем.
-perm – пошук файлів у Linux за режимом доступу.
-user – пошук файлів за власником.
-group – пошук за групою.
-mtime – пошук за часом модифікації файлу.
-atime – пошук файлів за датою останнього читання.
-nogroup – пошук файлів, що не належать до жодної групи.
-nouser – пошук файлів без власників.
-newer – знайти файли новіші за вказаний.
-size – пошук файлів у Linux за їхнім розміром.
find .
Показати всі файли в зазначеній директорії:
find ./Изображения
Шукати файли за іменем у поточній папці:
find . -name "*.png
Не враховувати регістр під час пошуку за ім’ям:
find . -iname "TeStFile*"
Пошук файлів на ім’я в Linux тільки в цій папці:
find . -maxdepth 1 -name "*.php"
Знайти файли, які не відповідають шаблону:
find . -not -name "test*"
Пошук командою find в Linux за кількома критеріями, з оператором виключення:
find . -name "test" -not -name "*.php"
Знайде всі файли, що починаються на test, але без розширення php. А тепер розглянемо оператор АБО:
find -name ".html" -o -name ".php"
Ця команда знайде як php, так і html файли.
За замовчуванням find шукає як каталоги, так і файли. Якщо вам необхідно знайти тільки каталоги, використовуйте критерій type з параметром d. Наприклад:
find . -type d -name "Загрузки"
Для пошуку тільки файлів необхідно використовувати параметр f:
find . -type f -name "Загрузки"
find ./test ./test2 -type f -name "*.c"
Знайти приховані файли тільки в поточній папці. Імена прихованих файлів у Linux починаються з крапки:
find . -maxdepth 1 -type f -name ".*"
Найти файлы с опреЗнайти файли з певною маскою прав, наприклад, 0664:деленной маской прав, например, 0664:
find . -type f -perm 0664
Права також можна задавати буквами для u (user) g (group) і o (other). Наприклад, для того щоб знайти всі файли зі встановленим прапором Suid у каталозі /usr, виконайте:
sudo find /usr -type f -perm /u=s
Пошук файлів доступних власнику тільки для читання тільки в каталозі /etc:
find /etc -maxdepth 1 -perm /u=r
Знайти тільки виконувані файли:
find /bin -maxdepth 2 -perm /a=x
Знайти всі файли, що належать користувачеві:
find . -user sergiy
Пошук файлів у Linux, що належать групі:
find /var/www -group www-data
Пошук файлів за датою в Linux здійснюється за допомогою параметра mtime. Знайти всі файли модифіковані 50 днів тому:
find / -mtime 50
Пошук файлів у Linux відкритих N днів тому:
find / -atime 50
find / -mtime +50 -mtime -100
find . -cmin 60
Знайти всі файли розміром 50 мегабайт:
find / -size 50M
Від п’ятдесяти до ста мегабайт:
find / -size +50M -size -100M
find . -type f -exec ls -s {} ; | sort -n -r | head -5
find . -type f -exec ls -s {} ; | sort -n | head -5
find /tmp -type f -empty find ~/ -type d -empty
Для виконання довільних команд для знайдених файлів використовується опція -exec. Наприклад, для того щоб знайти всі порожні папки та файли, а потім виконати ls для отримання детальної інформації про кожен файл використовуйте:
find . -empty -exec ls -ld {} ;
Видалити всі текстові файли в tmp
find /tmp -type f -name "*.txt" -exec rm -f {} ;
Видалити всі файли понад 100 мегабайт:
find /home/bob/dir -type f -name *.log -size +100M -exec rm -f {} ;