Утилиты CLI: утилита find, введение
Итак, апофеоз командного файлового менеджмента -- утилита find
. Строго говоря, вопреки своему имени, команда эта выполняет не поиск файлов как таковой, но -- рекурсивный обход дерева каталогов, начиная с заданного в качестве аргумента, отбирает из них файлы в соответствие с некоторыми критериями и выполняет над отбракованным файловым хозяйством некоторые действия. Именно эту ее особенность подчеркивает резюме команды find
, получаемое (в некоторых системах) посредством
$ whatis find find(1) -- walk a file hierarchy
что применительно случаю можно перевести как "прогулка по файловой системе".
Команда find
по своему синтаксису существенно отличается от большинства прочих Unix-команд. В обобщенном виде формат ее можно представить следующим образом:
$ find аргумент [опция_поиска] [значение] [опция_действия]
В качестве аргумента здесь задается путь поиска, то есть каталог, начиная с которого следует совершать обход файловой системы, например, корень ее:
$ find / [опция_поиска] [значение] [опция_действия]
или домашний каталог пользователя:
$ find ~/ [опция_поиска] [значение] [опция_действия]
Опция поиска -- критерий, по которому следует отбирать файл (файлы) из определенных в аргументе частей файловой системы. В качестве таковых могут выступать имя файла (-name
), его тип (-type
), атрибуты принадлежности, доступа или времени.
Ну а опция действия определяет, что же надлежит сделать с отобранными файлом или файлами. А сделать с ними, надо заметить, можно немало -- начиная с вывода на экран (-print
, опция действия по умолчанию) и кончая передачей в качестве аргументов любой другой команде (-exec
).
Как можно видеть из примера, опция поиска и опция действия предваряются знаком дефиса, значение первой отделяется от ее имени пробелом.
Содержание . .