Чем выполнить поиск файла или папки в Linux

Самая универсальная и функциональная команда для поиска в Linuxfind. Данная статья представляет из себя шпаргалку с примерами ее использования.

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

find / -name "file.txt"

* в данном примере будет выполнен поиск файла с именем file.txt по всей файловой системе, начинающейся с корня /.

Поиск файла по части имени:

find / -name "*.tmp"

* данной командой будет выполнен поиск всех папок или файлов в корневой директории /, заканчивающихся на .tmp

Найти все файлы или папки, которые начинаются на sess_ и заканчиваются на cd

find . -name "sess_*" -a -name "*cd"

* -a: логическое И, -o: логическое ИЛИ.

Поиск по дате

Найти все файлы, которые менялись более 60 дней назад:

find . -mtime +60

По типу

Искать в текущей директории и всех ее подпапках только файлы:

find . -type f

* d — искать только папки.

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

find / -type f -exec grep -i -H "content" {} \;

* в данном примере выполнен рекурсивный поиск всех файлов в директории / и выведен список тех, в которых содержиться строка content.

С дальнейшим действием

Найти только файлы, которые начинаются на sess_ и удалить их:

find . -name "sess_*" -type f -print -exec rm {} \;

-print использовать не обязательно, но он покажет все, что будет удаляться, поэтому данную опцию удобно использовать, когда команда выполняется вручную.

Вывести на экран количество найденных файлов и папок, которые заканчиваются на .tmp:

find . -name "*.tmp" | wc -l

#UNIX #Linux
Фотография автора
Была ли полезна вам эта инструкция?

Да            Нет