то она выдаст информацию о трех файлах. Если про каждый из них получить подробную информацию (например, командой file), то окажется, что среди них нет исполнимых файлов. Заметим, что для режима пользователя asplinux вывод этой команды содержит большое количество строк. Они сообщают о том, что многие каталоги файловой системы не доступны в этом сеансе. Поэтому выполнять описанные в работе действия лучше в сеансе пользователя root.
Такая команда
find / -name cd 2 > errlist
будет выводить сообщение об ошибках (параметр 2) не на экран, а в текстовый файл с именем errlist.
После выполнения такой команды
find / -name ls 2 > errlist
Найдется файл с именем ls, расположенный в директории /bin. Он является исполнимым файлом, а значит, соответствует внешней команде. Его свойства команда
File
определит так
ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
Внешние команды можно, в свою очередь, поделить на две группы. Первая из них – это программы в машинных кодах. Вторая же состоит из сценариев, о которых мы уже коротко упоминали.
Задание 11.
Определите (используя системные утилиты find иfile), какие из перечисленных команд
Arch
Dir
bg
Cmp
являются внутренними, а какие команды – внешними.
В конкретной системе, инсталлированной на компьютере, состав команд разный. В процессе работы могут быть добавлены новые команды (представленные исполнимым файлом), а некоторые – удалены. Какой же состав команд можно считать минимальным стандартом? Сколько таких команд 10, 100 или 1000? Абсолютно точного и однозначного ответа нет. Но имеются косвенные указания. В стандартах, связанных с UNIX, перечисляется список утилит. Например, по адресу www.unix.org/version3/apis/headers.html их чуть менее 200. Это первый ответ на вопрос о минимальном количестве системных команд UNIX. Другой список системных утилит можно получить так. Различные версии UNIX/Linux включают систему помощи man, в которой информация собрана в определенном месте диска (каталоге с именем ../man).
В версии ASPLinux 14 Live CD файлы системы помощи расположены по адресу
/usr/share/man
Все файлы там разделены по подкаталогам, подчиненным главному. Информация о родственных объектах собираются в одном подкаталоге и называются разделом. Содержимое подкаталога ../man1 и раздела 1 – это системные команды, а подкаталога ../man8 – команды пользователя. Для конкретной версии, упомянутой выше, в первый подкаталог включено 1930 файлов, а второй – 667.