Рассмотрим типы и количество команд — КиберПедия 

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

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

2022-09-15 97
Рассмотрим типы и количество команд 0.00 из 5.00 0 оценок
Заказать работу

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

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

Find / -name cd

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

Такая команда

find / -name cd 2>errlist

будет выводить сообщение об ошибках (параметр 2) не на экран, а в текстовый файл с именем errlist

 

Итак после выполнения такой команды (обратите внимание, что команда выполняется когда активен домашний каталог пользователя - символ ~ до знака $)

stud@Live-Astra:~$ find / -name cd 2>errlist

выводится информация о шести файлах с именем cd 1)/lib/live/mount/rootfs/filesystem.squashfs/usr/share/X11/xkb/symbols/ cd

 

2)/lib/live/mount/rootfs/filesystem.squashfs/usr/share/doc/texlive-doc/latex/ cd

 

3)/lib/live/mount/rootfs/filesystem.squashfs/usr/share/texlive/texmf-dist/tex/latex/ cd

 

4)/usr/share/X11/xkb/symbols/ cd

 

5)/usr/share/doc/texlive-doc/latex/ cd

 

6)/usr/share/texlive/texmf-dist/tex/latex/ cd

 

Далее командой file можно узнать тип файла.

stud@Live-Astra:~$ file /usr/share/texlive/texmf-dist/tex/latex/ cd

Файл cd в такой директории является каталогом (директорией)

/usr/share/texlive/texmf-dist/tex/latex/cd: directory

Файл cd в такой директории является текстом. Дана команда

stud@Live-Astra:~$ file /lib/live/mount/rootfs/filesystem.squashfs/usr/share/X11/xkb/symbols/ cd
и ее результат:

/lib/live/mount/rootfs/filesystem.squashfs/usr/share/X11/xkb/symbols/cd: ASCII text

В программе терминал можно копировать текст, выводимый на экран. Например, можно копировать полный путь к файлу в последних двух командах. Для этого надо выделить необходимый текст и нажав правую кнопку мышки выбрать команду копировать, а далее в нужном месте (в нашем случае после команды file) нажав правую кнопку мышки выполнить команду Вставить. Теперь найдем исполнимый файл (внешнюю команду) утилиты ls. Она выводит информацию о содержимом каталога. Сначала найдем его расположение.

stud@Live-Astra:~$ find / -name ls 2>errlist

Она найдет шесть файлов
/bin/ls
/lib/live/mount/rootfs/filesystem.squashfs/bin/ls
/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/klibc/bin/ls
/lib/live/mount/rootfs/filesystem.squashfs/usr/lib/mc/fish/ls
/usr/lib/klibc/bin/ls
/usr/lib/mc/fish/ls

Определим тип первого

stud@Live-Astra:~$ file /bin/ls

Результат будет таким:

/bin/ls: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=03939d6c76800b64003f260ff6cda1e48a52d10c, stripped

Это описание исполнимого файла ELF (англ. Executable and Linkable Format). 

Внешние команды можно, в свою очередь, поделить на две группы. Первая из них – это программы в машинных кодах. Вторая же состоит из сценариев, о которых мы уже коротко упоминали. Выполним команду file для файла xinitrc расположенный в каталоге /etc/X11/xinit. Результат будет таким.

/etc/X11/xinit/xinitrc: POSIX shell script, ASCII text executable/

 

Задание 10.

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

cp

Dir

bg

Dmsg

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

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

В версии Astra Linux Orel файлы системы помощи расположены по адресу

/usr/share/man

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

Задание 11.

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

Вновь обратим внимание на то, что некоторые файлы системы помощи man, переведены на разные языки и расположены в разных подкаталогах. Для нашей версии Linux по адресу /usr/share/man имеются подкаталоги, содержащие страницы справочного руководства man переведенного на различные языки. Там есть два подкаталога.

/usr/share/man/man1

/usr/share/man/ru/man1

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


Поделиться с друзьями:

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

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

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.