
KTNI_Kozlov_otvety / 38
.doc38. Поиск файлов с помощью команды find. Выражения, действия.
Основным ее преимуществом является то, что она дает возможность искать файлы по заданным критериям, таких как имя файла, дата создания или последней модификации, размер, тип, поиск файлов, к которым производился доступ в разное время, поиск файлов, которые имеют соответствующие права.
Формат команды: find путь выражение(я) действие(я).
Путь – последовательность переходов к объекту из одной папки в другую (может использоваться абсолютный и относительный пути). Под выражением понимается параметр, который должен использоваться совместно с впередистоящим тире (-). Действие – операция, которая должна быть выполнена с объектом поиска, также используется совместно с тире (-). Действие может быть опущено. В таблицах 6-7 покажем основные выражения и действия при команде find.
Таблица 6 – Выражения команды find.
Выражение |
Описание |
-name имя_файла |
Поиск файлов по имени. Могут использоваться метасимволы в “”. |
-size [+|-]n |
Поиск объектов, размер которых меньше чем –n и больше чем +n или равны n. n задается в 512-байтных блоках. |
-atime [+|-]n |
Поиск файлов, к которым производился доступ более чем +n дней назад, менее чем –n дней назад или n дней. |
-mtime [+|-]n |
Поиск файлов, которые были изменены более чем +n дней назад, менее чем –n дней или ровно n дней. |
-user loginID |
Поиск файлов, которые принадлежат пользователю loginID |
-type |
Поиск по типу объекта, например: f(файл) или d(директория). |
-perm |
Поиск файлов, которые имеют соответствующие права доступа. |
Таблица 7 – Действия с командой find.
Действие |
Описание |
-exec команда {} \; |
Автоматическое выполнение указанной команды на каждый найденный файл. Перед знаком обратной черты обязательно должен быть указан пробел. |
-ok команда {} \; |
Ручное выполнение указанной команды (интерактивная форма) на каждый найденный файл. Перед знаком обратной черты обязательно должен быть указан пробел. |
|
Дает команду выводить каждый найденный файл на экран. Команда по умолчанию. |
-ls |
Выводит расширенную информацию о найденном файле: inode, размер в килобайтах, права доступа, количество жестких ссылок и информацию о владельце. |
Выполним поиск файла passwd в папке /etc . Для этого нам требуется использовать опцию –name .
В конце выдадим интерактивный запрос на удаление найденного файла. Для этого потребуется использовать действие: -ok rm {} \;