find
  поиск файлов  

СИНТАКСИС
 
find [маршрут] [выражение]

ОПИСАНИЕ
 

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

Выражение строится из элементарных опций (которые задают общие операции, а не обработку конкретного файла, всегда возвращают "истину"), проверок (которые возвращают значения "истина" или "ложь") и действий (которые также возвращают "истину" или "ложь", но имеют побочные эффекты) и операторов.


ОПЦИИ
 
-daystart   Задает измерение времени в проверках -amin, -atime, -cmin, -ctime, -mmin, -mtime от начала сегодняшнего дня, а не от текущего часа.
-depth   Изменяет способ просмотра каталогов: сначала просматриваются входящие в каталог файлы, а затем уже сам каталог.
-follow    Задает обработку символических связей (по умолчанию символические связи не рассматриваются).
-maxdepth число    Задает максимальный уровень глубины обработки подкаталогов относительно каталога заданного в командной строке (уровень 0).
-mindepth число    Задает минимальный уровень глубины обработки подкаталогов относительно каталога заданного в командной строке (уровень 0). К каталогам, лежащим ниже заданного уровня никакие проверки и действия не применяются.

ПРОВЕРКИ
  Числовые аргументы проверок n могут задаваться как:
  n   - точно равно n
  -n   - меньше, чем n
  +n   - больше, чем n
 
-atime n  
-ctime n  
-mtime n  
Доступ к файлу осуществлялся последний раз (-atime), файл модифицировался последний раз (-mtime) или изменялся его статус (- ctime) точно n дней назад. Использовать +n случае "больше n" или -n случае "меньше n"
-amin n  
-cmin n  
-mmin n  
Доступ к файлу осуществлялся последний раз (- amin), файл модифицировался последний раз (-mmin) или изменялся его статус (-cmin) точно n минут назад. Использовать +n в случае "больше n", или -n случае "меньше n".
-anewer файл  
-cnewer файл  
-newer файл  
Последний доступ к файлу (anewer) или последнее изменение характеристик файла (сnewer) или последняя модификация файла (newer) производилась позднее указанного файла.
-empty    Файл или каталог пустой
-name шаблон_файлов    Истина, если текущий файл удовлетворяет шаблону_файлов. Символы шаблона, имеющие для shell'а специальный смысл, должны быть экранированы.
-path шаблон
-lname шаблон
-iname шаблон
-ipath шаблон
-ilname шаблон
Имя (-name), путь (-path) или символьная ссылка (-lname) искомого файла должна соответствовать заданному шаблону командного процессора, который может включать в себя групповые символы *, ?, и []. Пути задаются относительно дерева директорий, в котором осуществляется поиск. Опции -iname, -ipath and – i lname аналогичны опциям -name, -path и -lname соответственно, но нечувствительны к регистру
-regex regexp    Путь (относительно дерева директорий, в котором осуществляется поиск) должен соответствовать заданному регулярному выражению regexp.
-links n    На файл имеется n ссылок.
-perm режим    Режим доступа к текущему файлу в точности равен указанному режиму [см. chmod].
-perm -режим    Все биты указанного режима установлены в текущему файле.
-perm +режим    Хотя бы один из битов указанного режима установлен в текущему файле. Используйте -режим для того, чтобы проверить, что установлены все заданные биты, или +режим, чтобы проверить, что установлен хотя бы один из этих битов
-size n[bckw]    Искать среди файлов размера n. Необязательный символ задает размер единицы измерения:
b - блоки по 512 байт (по умолчанию);
c - байты;
c - килобайты;
c - 2-байтные слова.
-type c    Искать файлы определенного типа c, где c:
b блочный специальный файл;
c символьный специальный файл;
d каталог;
f обычный файл;
l символическая связь;
p именованный канал;
s сокет.
-user пользователь    Файл принадлежит данному пользователю. Пользователь может задаваться символьным именем или числом - идентификатором пользователя.
-group группа    Файл принадлежит данной группе. Группа может задаваться символьным именем или числом - идентификатором группы.

ДЕЙСТВИЯ
 
-exec команда   
-ok команда   
Выполнение команды. Возвращает "истину", если команда выполнена успешно.
Запись команды должна заканчиваться экранированной точкой с запятой (\;). Аргумент команды { } заменяется именем текущего файла.Т.е. команда выполняется так:
find маршрут опции параметры -exec команда {} \;
ok, в отличие от exec запрашивает подтверждения выполнения команды, на которое следует отвечать 'y' или 'Y'.
-print [формат]   
-fprint файл [формат]   
Вывод полного имени текущего файла в стандартный вывод (print) или в файл (fprint).
Формат - символьная строка, в которой задаются спецификации печати. Некоторые из спецификаций:
%a время последнего доступа к файлу;
%b размер файла (в блоках по 512 байт);
время последнего изменения характеристик файла;
%d уровень в дереве каталогов;
%f имя файла без маршрута;
%g имя группы файла;
%G ID группы файла;
%h маршрут к файлу (без имени файла);
%k размер файла (в Кбайтах);
%m биты доступа файла;
%n число жестких связей файла;
%p полное имя файла;
%s размер файла (в байтах);
%t время последней модификации файла;
%u имя пользователя - владельца файла;
%U ID пользователя - владельца файла;
%% литерал %;
\f перевод страницы;
\n перевод строки;
\t возврат каретки;
\r горизонтальная табуляция;
\\ литерал \.

ОПЕРАЦИИ
(в порядке уменьшения приоритета)
 
(выражение)    Изменение порядка выполнения.
! выражение
или
-not выражение
  
Унарное ЛОГИЧЕСКОЕ НЕ.
выражение1 выражение2
или
выражение1 -a выражение2
или
выражение1 -and выражение2
  
ЛОГИЧЕСКОЕ И.
выражение1 -o выражение2
или
выражение1 -or выражение2
  
ЛОГИЧЕСКОЕ ИЛИ.
выражение1 , выражение2   Список. Оба выражения вычисляются, конечный результат - результат вычисления выражения2.


Список команд