find.
Updated: MOPS 1.0
Index Return to Main Contents
НАЗВАНИЕ
find -осуществляет поиск файлов.СИНТАКСИС
find [путь...] [выражение]ОПИСАНИЕ
find осуществляет поиск файлов и каталогов. В качестве аргументов используются имена каталогов, за которыми слуют несколько опций, задающих тип и критерии поиска. Если в командной строке указываются знаки '-', '(', ')', ',', или '!' , значит используется сложный поиск с выражениями; первый параметр это всегда путь, а остальные параметры - это выражения. Если путь не указан значит искать необходимо в текущем каталоге. Если не указаны выражения значит используется опция '-print'.
find возвращает 0, если поиск завершился успешно, больше 0, если произошла ошибка.
ВЫРАЖЕНИЯ
Выражения состоят из опций (которые выполняют все операции раньше чем обрабатывается файл, и всегда возвращают истину), тестов (которые возвращают истину или ложь), и действия (которые имеют побочные эффекты и возвращают истину или ложь).ОПЦИИ
Все опции всегда возвращают истину. Лучше всего их размещать перед выражениями.- -daystart
- Измерение времени (для -amin, -atime, -cmin, -ctime, -mmin, and -mtime)
- -depth
- Выполняет содержимое директории Process each directory's contents before the directory itself.
- -follow
- Разименование символических ссылок.
- -help, --help
- Выводит краткое содержание командной строки find и выходит.
- -version, --version
- Выводит номер версии команды find и выходит.
ТЕСТЫ
Числовые аргументы могут быть определены как- +n
- больше n,
- -n
- меньше n,
- n
- ровно n.
- -amin n
- Ищет файл, последний раз к которому обращались n минут назад.
- -anewer файл
- Ищет файл, последний раз к которому обращались раньше чем был изменен файл.
- -atime n
- Ищет файл, последний раз к которому обращались n*24 часов назад.
- -cmin n
- Ищет файл, статус которого изменялся n минут назад.
- -cnewer файл
- Ищет файл, статус которого изменялся раньше чем статус файла.
- -ctime n
- Ищет файл, статус которого изменялся n*24 часов назад.
- -empty
- Ищет пустой файл или каталог.
- -false
- Всегда ложь.
- -fstype тип
- Ищет файл в файловой системе с указанным типом.
- -gid n
- Ищет файл с иденитфикатором группы равным n.
- -group gname
- Ищет файл, принадлежащий группе gname.
- -inum n
- Ищет файл с номером inode равным n.
- -links n
- Ищет файлы, которые имеют n ссылок.
- -lname образец
- Ищет файлы, чьи символические ссылки соответствует образцу
- -mmin n
- Ищет файлы, которые последний раз изменялись n минут назад.
- -mtime n
- Ищет файлы, которые в последний раз изменялись n дней назад.
- -name образец
- Ищет файлы, в именах которых есть образец.
- -newer образец
- Ищет файлы, которые изменялись после изменения файла, соответствующего заданному образцу.
- -nouser
- Ищет файлы, для которых ни один пользователь не соответствует идентификатору создателя файла.
- -nogroup
- Ищет файлы, для которого ни одна группа не соответствует идентификатору группы-создателя файла.
- -path образец
-
Ищет файлы, имена которых совпадают с образцом. Метасимволы специально не
обрабатывают '/' или '.', например,
find . -path './sr*sc'
выведет содержимое каталога с именем './src/misc' (если такой существует). Чтобы игнорировать все дерево каталогов, используется опция -prune, она также игнорирует все файлы в дереве. Например, чтобы перепрыгнуть каталог 'src/emacs' и все файлы и каталоги по ним и вывести имена других найденных файлов, необходимо ввести следующюю команду:
find . -path './src/emacs' -prune -o -print
- -perm режим
- Ищет файлы с указанным в поле режим битом прав файла (в восьмиричном виде или символически).
- -perm -режим
- Ищет файлы, у которого установлены все биты разрешения в поле режим.
- -perm +режим
- Ищет файлы, у которого установлены любые биты разрешения в по е режим.
- -regex образец
- Имя файла соответствует выражению образец. Это соответствие не является поиском. Например для соответствия имени файла './fubar3', можно использовать выражение '.*bar.' или '.*b.*3', но не 'b.*r3'.
- -size n[bckw]
- Ищет файлы размером n блоков. Если после n стоит 'c', размер указан в байтах, если после n стоит 'k' - в килобайтах n, если 'w', то 2-байтовые слова.
- -true
- всегда истина.
- -type c
-
Ищет файлы указанного типа c:
- b
- блок-ориентированный файл устройства
- c
- байт-ориентированный файл устройства
- d
- каталог
- p
- именованный канал (FIFO)
- f
- обычный файл
- l
- символическая ссылка
- s
- сокет
- -uid n
- Ищет файлы с идентификатором пользователя равным n.
- -used n
- Ищет файлы, последний доступ к которым был n после того, как последний раз был изменен их статус.
- -user uname
- Ищет файлы принадлежащие пользователю uname.
ДЕЙСТВИЯ
- -exec команда ;
- Выполнение команды; при успешном выполнении возвращает 0. Все последующие аргументы за find берутся как параметры команды пока не встретится аргумент заключенный в «;». Команды выполняется в начальном каталоге.
- -fls файл
- Истина; работает как -ls, но результат выводит в файл как -fprint.
- -fprint файл
- Истина; выводит полное имя файла в файл. Если файл не существует, то он создается, если существует, то обрезается.
- -fprint0 файл
- Истина; работает как -print0, но результат записывает файл как -fprint.
- -fprintf файл формат
- Истина; работает как -printf, но результат записывает файл как -fprint.
- -ok команда ;
- Работает как -exec, но сначала спрашивает пользователя (стандартный ввод); если ответ не начинается с букв «y» или «Y», не запускает команду и возвращает ложь.
- Истина; выводит полное имя файла в стандартный вывод в новой строке.
- -print0
- Истина; выводит полное имя файла в стандартный вывод с новой строки, но затем не переводит курсор на новую строку.
- -printf формат
-
Истина; выводит формат в стандартный вывод интерпретируя символы перехода
«\» и указатели «%». Ширина поля и длина слова могут быть определены С-функцией
в «printf». В отличии от -print, -printf не добавляет символ перевода строки в
конце строки. Символы перехода и указатели:
- \a
- Аварийный сигнал.
- \b
- Возвращение.
- \c
- Немедленно остановить печать и выключить вывод.
- \f
- Перевод страницы.
- \n
- Перевод строки.
- \r
- Перевод каретки.
- \t
- Горизонтальная табуляция.
- \v
- Вертикальная табуляция.
- \\
- Обратный слэш ('\').
Символ '\' сопровождаемый любым другим символом обрабатывается как обычный символ, поэтому они печатаются оба.
- %%
- Процент.
- %a
- Последнее время доступа к файлу возвращается С-функцией ('ctime').
- %Ak
-
Последнее время доступа к файлу в формате определенном k. Возможные
значения для k.
- @
- Секунды с 1 января, 1970, 00:00.
Поля времени:
- H
- Часы (00..23)
- I
- Часы (01..12)
- k
- Часы ( 0..23)
- l
- Часы ( 1..12)
- M
- Минуты (00..59)
- p
- Утро и вечер
- r
- Время, 12-часов (чч:мм:сс)
- S
- Секунды (00..61)
- T
- Время, 12-часов (чч:мм:сс)
- X
- Представление времени (H:M:S)
- Z
- Часовой пояс, или ничего, если часовой пояс не определен.
Поля даты:
- a
- Сокращенное название дня (Пн, Вт, .. Вс)
- A
- Полное название дня (Понедельник .. Воскресенье)
- b
- Сокращенное название месяца (Янв .. Дек)
- B
- Полное название месяца (Январь .. Декабрь)
- c
- Дата и время (Пн Янв 04 12:02:33 EST 1989)
- d
- День месяца (01..31)
- D
- Дата (мм/дд/гг)
- h
- Тоже что b
- j
- День года (001..366)
- m
- Месяц (01..12)
- U
- Номер недели в году с воскресеньем как первым днем недели (00..53)
- w
- День недели (0..6)
- W
- Номер недели в году с понедельником как первым днем недели (00..53)
- x
- Представление даты региона (мм/дд/гг)
- y
- Последнии цифры года (00..99)
- Y
- Год (1970...)
- %b
- Размер файла в блоках размером 512 байт.
- %c
- Последнее изменение статуса в формате, возвращенном функцией 'ctime'.
- %Ck
- Последнее изменение статуса в формате, определенном k, также как %А.
- %d
- Глубина файла в дереве каталогов; 0 означает, что файл это аргумент командной строки.
- %f
- Имя файла с любыми удаленными каталогами (только последний элемент).
- %F
- Тип файловой системы; это значение может быть использовано для -fstype.
- %g
- Имя группы файла, или идентификатор, если группа не имеет имени.
- %G
- Идентификатор круппы файла.
- %h
- Загрузка имен каталогов.
- %H
- Аргумент командной строки, по которому был найден файл.
- %i
- Номер инода файла (десятичный).
- %k
- Размер файла в 1К блоках.
- %l
- Объектная или символическая ссылка (пустая строка, если файл не имеет символической ссылки).
- %m
- Бит разрешения файла (восьмиричный)
- %n
- Число жестких ссылок файла.
- %p
- Имя файла.
- %s
- Размер файла в байтах.
- %t
- Последнее время модификации в формате возвращаемое функцией 'ctime'
- %Tk
- Последнее время модификации в формате определенное k, как для %A.
- %u
- Имя пользователя-собственника файла, или идентификатор, если пользователь не имеет имени.
- %U
- Файловый идентификатор пользователя.
Символ "%", сопровождаемый любым другим символом отбрасывается (а другой символ печатается).
- -prune
-
Если -depth не задан, то истина; не уменьшает текущий каталог.
Если -depth задан, то ложь; никакого эффекта. - -ls
- Истина; Выводит текущий файл в формате 'ls -dils' в стандартный вывод.
ОПЕРАТОРЫ
Перечислено в порядке уменьшающего старшинства:- ( expr )
- ! expr
- Отрицание от expr.
- -not expr
- То же, что ! expr.
- expr1 expr2
- Умножение; expr2 не оценивается, если expr1 ложь.
- expr1 -a expr2
- То же что expr1 expr2.
- expr1 -and expr2
- То же чтоexpr1 expr2.
- expr1 -o expr2
- Или; expr2 не оценивается, если expr1 истина.
- expr1 -or expr2
- То же что expr1 -o expr2.
- expr1 , expr2
- Список; и expr1 и expr2 всегда оцениваются. Значение expr1 отбрасывается; значение списка это значение expr2.
Index
- НАЗВАНИЕ
- СИНТАКСИС
- ОПИСАНИЕ
- ВЫРАЖЕНИЯ
- ОПЦИИ
- ТЕСТЫ
- ДЕЙСТВИЯ
- ОПЕРАТОРЫ