Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Linux_asp_2_rabota.doc
Скачиваний:
14
Добавлен:
16.08.2019
Размер:
322 Кб
Скачать
☆

2.5. Изучим, что такое команда

С помощью команд пользователь инициирует выполнение всех действий программно-аппаратного комплекса.

При работе в командном режиме задается набор символов, который должен интерпретироваться оболочкой. Это накладывает жесткие ограничения на порядок записи элементов командной строки. В последней может быть записано несколько команд, но для каждой из них на первом месте обязательно должно стоять ее имя, а затем – параметры

ИМЯ_КОМАНДЫ ПАРАМЕТРЫ

Имя команды и параметры отделяются пробелами (их количество может быть любым). Сначала рассмотрим то, что относится к имени команд. Далее мы подробнее рассмотрим, что такое параметры.

Само имя команды содержит буквы английского алфавита и цифры. Использование других символов ограничено, о чем речь пойдет далее.

2.5.1. Рассмотрим типы и количество команд

Прежде всего, отметим, что существуют команды двух типов. К первому относятся внутренние команды системы. Они не имеют отдельного исполнимого файла на диске, как другой тип – внешние, последние представлены исполнимыми файлами. Зная имя, его расположение можно найти специальной командой поиска (ее имя find). Принято, что основные системные команды располагаются в определенных каталогах. Прежде всего, как мы говорили выше, такие каталоги зафиксированы в переменной окружения оболочки с именем PATH.

Убедимся в том, что существуют команды двух типов. Если дать команду, выполняющую поиск всех файлов с именем cd (в ней / указывает на необходимость поиска во всей файловой системе, а -name фиксирует имя искомого файла)

find / -name cd

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

В противоположность этому

find / -name ls

найдет 5 файлов

/usr/share/epic/help/8_Scripts/ls

/usr/share/epic/script/ls

/bin/ls

/media/idedisk/bin/ls

/media/idedisk/usr/share/locate/I10n/ls

один из которых, расположенный в директории /bin, является исполнимым файлом. Его свойства команда file определит так

ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped

Внешние команды можно, в свою очередь, поделить на два вида. Первый из них – это программы в машинных кодах. Второй же составляется из сценариев, о которых мы уже коротко упоминали.

Задание 12

Определите (используя системные утилиты find и file), какие из перечисленных команд

arch

dir

bg

cmp

являются внутренними, а какие – внешними.

В конкретной системе, инсталлированной на компьютере, состав команд разный. В процессе работы могут быть добавлены новые команды, а некоторые – удалены. Какой же состав команд можно считать минимальным стандартом? Сколько таких команд 100 или 1000? Абсолютно точного и однозначного ответа нет. Но имеются косвенные указания. В стандартах, связанных с UNIX перечисляется список утилит. Например, по адресу www.unix.org/version3/apis/headers.html их чуть менее 200. Это первый ответ на вопрос о минимальном количестве системных команд. UNIX. Другой способ подсчета количества системных команд, заключается в следующем. Различные версии UNIX/Linux включают систему помощи man, в которой информация собрана в определенном месте диска (каталоге с именем ../man).

В версии ASPLinux 10 Live CD файлы системы помощи расположены по адресу

/usr/share/man

Все файлы там разделены по подкаталогам, подчиненным главному. Информация о родственных объектах собираются в одном подкаталоге и называются разделом. Содержимое подкаталога ../man1 и раздела 1 – это системные команды, а подкаталога ../man8 – команды пользователя. Для конкретной версии, упомянутой выше, в первый подкаталог включено 1691 файлов, а второй – 511.

Задание 13

Проанализируйте состав подкаталогов /bin, /sbin и ../man1, ../man8/.

Отметим, что некоторые файлы системы помощи man, переведены на разные языки и расположены в разных подкаталогах. Например, есть два подкаталога.

/usr/share/man/man1

/usr/share/man/ru/man1

В первом из них содержатся основные файлы, а во втором – их перевод на русский язык. К примеру, в этих каталогах есть файлы, описывающие команду arch. Если вызвать файл из первого каталога, будет представлено описание на английском языке, а из второго (находящееся в подкаталоге ../ru/man1 – перевод на русский язык. Приоритет вызова одного из двух файлов определяется файлами конфигурации системы man.

Задание 14

Проанализируйте состав каталогов, подчиненных /usr/share/man.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]