mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк 

Златоуст.Ru

 

 

      FIND(1)                                                 FIND(1)

      НАЗВАНИЕ
              find - поиск файлов

      СИНТАКСИС
              find  список_поиска выражение

      ОПИСАНИЕ
              Команда find рекурсивно просматривает каждый из катало-
              гов, перечисленных в  списке_поиска,  отыскивая  файлы,
              удовлетворяющие логическому выражению,  построенному  с
              помощью описанных ниже средств. В  список_поиска  могут
              входить и обычные файлы. Далее n обозначает целое деся-
              тичное число, на месте которого могут также указываться
              комбинации +n, что означает "больше, чем n", и -n,  что
              означает "меньше, чем n". Элементарные логические выра-
              жения и их результаты:

              -name шаблон_файлов
                   Истина, если текущий файл удовлетворяет  шаблону_-
                   файлов. Символы шаблона, имеющие для shell'а  спе-
                   циальный смысл, должны быть экранированы.

              [-perm] [-]восьмеричное_число
                   Истина, если режим доступа к текущему файлу в точ-
                   ности равен  восьмеричному_числу  [см.  chmod(1)].
                   Если перед восьмеричным_числом указан знак  -,  то
                   для сравнения из режима файла берутся только биты,
                   соответствующие битам восьмеричного_числа,  равным
                   единице.

              -type c
                   Истина, если файл имеет тип c, где c есть b, c, d,
                   p или f - блочный или символьный специальный файл,
                   каталог, именованный канал или обычный файл.

              -links n
                   Истина, если на файл имеется n ссылок.

              -user имя_пользователя
                   Истина, если файл принадлежит пользователю с  дан-
                   ным именем. Если имя_пользователя является  числом
                   и не встречается в файле /etc/passwd, оно рассмат-
                   ривается как идентификатор пользователя.

              -group имя_группы
                   Истина, если файл принадлежит группе с данным име-
                   нем. Если имя_группы является числом и не встреча-
                   ется в файле /etc/group, оно  рассматривается  как
                   идентификатор группы.

              -size n[c]
                   Истина, если файл занимает n блоков (по 512 байт).
                   Если указана буква c, то размер файла  задается  в
                   символах. Напомним, что с помощью комбинаций +n  и
                   -n можно проверять размер (и  три  указанные  ниже
                   характеристики) не только на равенство,  но  и  на
                   неравенство.

              -atime n
                   Истина, если последний доступ к файлу производился
                   n дней назад. Сама команда  find  изменяет   время
                   доступа к каталогам, входящим в список_поиска.

              -mtime n
                   Истина, если файл последний раз модифицировался  n
                   дней назад.

              -ctime n
                   Истина, если характеристики файла  (размер,  режим
                   доступа) последний раз изменялись n дней назад.

              -exec команда
                   Истина, если после выполнения команды возвращается
                   нулевой код завершения. Запись команды должна  за-
                   канчиваться экранированной точкой с  запятой.  Ар-
                   гумент команды { } заменяется  текущим  маршрутным
                   именем файла.

              -ok команда
                   Эквивалентно -exec за исключением того, что  перед
                   выполнением команды запрашивается подтверждение (в
                   виде сгенерированной командной  строки  со  знаком
                   вопроса в конце) и она выполняется только при  от-
                   вете y.

              -print
                   Всегда истина; вызывает выдачу  маршрутного  имени
                   текущего файла.

              -cpio устройство
                   Всегда истина; вызывает вывод  текущего  файла  на
                   указанное устройство в формате  cpio(1)  (записями
                   по 5120 байт).

              -newer файл
                   Истина, если текущий файл был модифицирован  позд-
                   нее указанного файла.

              -depth
                   Всегда истина; изменяет способ  просмотра  катало-
                   гов: сначала просматриваются  входящие  в  каталог
                   файлы, а затем уже сам каталог. Этот предикат  по-
                   лезен в сочетании с cpio(1) для переноса файлов из
                   каталогов, на запись в которые нет прав.

              -mount
                   Всегда истина; ограничивает поиск файловой  систе-
                   мой, содержащей указанный в списке_поиска каталог.
                   Если в списке_поиска не указан  ни  один  каталог,
                   используется текущий.

              -local
                   Истина, если файл физически находится на локальной
                   системе.

              (выражение)
                   Истина, если истинно заключенное в скобки  выраже-
                   ние (скобки должны быть экранированы от  интерпре-
                   тации shell'ом).

              Элементарные логические выражения могут комбинироваться
              с помощью следующих операций (в порядке уменьшения при-
              оритета):

              1.   Унарная операция отрицания, обозначается !.

              2.   Логическое И, обозначается пробелом.

              3.   Логическое ИЛИ, обозначается -o.

      ПРИМЕР
              1.  Удалить все файлы с именами a.out или *.o, доступ к
              которым не производился в течение недели:

                   find / \( -name a.out -o -name '*.o' \) \
                          -atime +7 -exec rm {} \;

              2. Удалить из текущего каталога и его подкаталогов  все
              файлы нулевого размера, запрашивая подтверждение:

                   find . -size 0c -ok rm {} \;

      ФАЙЛЫ
              /etc/passwd
              /etc/group

      СМ. ТАКЖЕ
              chmod(1), cpio(1), sh(1), test(1).
              stat(2), umask(2), cpio(4), fs(4) в  Справочнике  прог-
              раммиста.

      СЮРПРИЗЫ
              Команда

                   find / -depth

              всегда завершается неудачей с сообщением

                   find: stat failed: : No such file or directory

              Она исправно обходит все файлы, кроме корневого катало-
              га.



 

 

Бернадинер Марк Абрамович

Мое резюме

Компьютерная страничка

Ресурсы сети

Фотоальбом

 

 

 

mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк