ВВЕДЕНИЕ В СИСТЕМНОЕ АДМИНИСТРИРОВАНИЕ UNIX. Solaris 2.5

       

Команда find


find рекурсивно обходит указанные каталоги и файлы, проверяет

для них выполнение указанных условий, и может вдобавок выполнять с найденными файлами указанные действия. Например самое простое действие - распечатать имя файла.

find файл [ ... ] ключи/условия/действия

Ключи-условия команды find:

-name "*.c"- простое имя подходит под шаблон *.c
-type f- брать только обыкновенные файлы
-type d- брать только каталоги
-size +500- файлы размером БОЛЬШЕ 500*512 байт
-mtime -3- дата модификации МЕНЬШЕ 3-х дней
-newer filename- дата модификации нашего файла МЕНЬШЕ чем у заданного файла filename

ВНИМАНИЕ: Команда find использует стандартные SHELL'овские



шаблоны. Команда grep использует шаблоны другого формата,

называемые регулярными выражениями.

Ключи-действия команды find

-print - просто распечатать маршрутное имя файла

-exec команда над файлом {} \; - выполнить команду над файлом

Примеры

Напечатать имена всех обыкновенных Си-шных файлов, изменившихся

за последние 4 дня в текущем каталоге и его подкаталогах.

find . -type f -mtime -4 -print

Уничтожить все файлы с окончаниями *.bu, *%, которые не менялись больше месяца.

find / \( -name "*.bu" -o -name "*%" \) -type f \

-atime +30 -exec rm {} \;

запись "rm {} \;" - обозначает команду Unix, которая будет выполняться для всех таких найденных файлов. Вместо значка "{}"

будет подставляться каждый раз имя найденного файла. Естественно, что таким образом мы их все и уничтожим.

[]

[]

[]



Содержание раздела