⌨️Команда find

Основной синтаксис команды

find [папка][параметры]критерий шаблон[действие]

Параметры

-P

Никогда не открывать символические ссылки

-L

Получает информацию о файлах по символическим ссылкам. Важно для дальнейшей обработки, чтобы обрабатывалась не ссылка, а сам файл.

-maxdepth

Максимальная глубина поиска по подкаталогам, для поиска только в текущем каталоге установите 1

-depth

Искать сначала в текущем каталоге, а потом в подкаталогах

-mount

Искать файлы только в этой файловой системе

-version

Показать версию утилиты find

-print

Выводить полные имена файлов

-type f

Искать только файлы

-type d

Поиск папки в Linux

-type l

Искать симлинки

Критерии

-name

Поиск файлов по имени

-perm

Поиск файлов в Linux по режиму доступа

-user

Поиск файлов по владельцу

-group

Поиск по группе

-mtime

Поиск по времени модификации файла

-atime

Поиск файлов по дате последнего чтения

-nogroup

Поиск файлов, не принадлежащих ни одной группе

-nouser

Поиск файлов без владельцев

-newer

Найти файлы новее чем указанный

-size

Поиск файлов в Linux по их размеру

Эта команда найдёт как php, так и html файлы:

find -name "*.html" -o -name "*.php"

Найти файлы с определенной маской прав, например, 0664:

find . -type f -perm 0664

Найти только исполняемые файлы:

find /bin -maxdepth 2 -perm /a=x

Найти все файлы размером 50 мегабайт:

find / -size 50M

От пятидесяти до ста мегабайт:

find / -size +50M -size -100M

Поиск пустых файлов и папок:

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 {} \;

Last updated