Приемы профессиональной работы в UNIX


ОПИСАНИЕ - часть 2


То есть, вывелся список всех файлов данных. А если бы я выполнил такую последовательность команд:

$ cd /etc $ kind -d *

то при выводе убрался бы маршрут, использованный в вызывающей последовательности, и напечаталось бы следующее:

| | mnttab | utmp | wtmp |

Затем выход в таком виде может быть использован во внешней команде для распечатки и анализа файловой информации.

Допустимыми опциями команды kind являются -a для файлов архивов, -d для файлов данных, -t для текстовых файлов (что является умолчанием) и -x для исполняемых файлов. Определение этих типов соответствует команде UNIX file. Заметим, что критерии того, что файл является исполняемым, в команде file отличаются от тех, которые применяет команда ls: ls проверяет биты x в индексном дескрипторе файла, в то время как file проверяет, являются ли первые несколько байтов содержимого файла "магическим числом". Это магическое число является идентификатором структуры a.out (см. /usr/include/a.out.h), который сообщает "Я являюсь скомпилированной Си-программой".

Имена файлов появляются в командной строке после опций. Эти имена могут быть порождены любым стандартным методом системы UNIX. Если в командной строке нет имен файлов, то kind превращается в фильтр и читает стандартный ввод для получения списка имен файлов. (Обратите внимание, что я сказал "имен файлов", а не "файлов". Можно использовать опции, поскольку они убираются из командной строки командой shift по мере того, как они встречаются.) Таким образом, вы можете использовать другие команды для того, чтобы передать по конвейеру список файлов утилите kind. Она отфильтровывает и выводит только те из них, которые соответствуют нужному вам типу.




- Начало -  - Назад -  - Вперед -