Литмир - Электронная Библиотека
Содержание  
A
A

Некоторые сервисы запускаются через «супердемон»

inetd
или более новую его реализацию –
xinetd
. В этом случае в конфигурационном файле
inetd/xinetd
описываются необходимые сервисы: команда запуска, на каком порту слушать, от имени какого пользователя запускать и т. п. После запуска
inetd/xinetd
начинает слушать на указанных портах и при получении запроса запускает соответствующую команду, которой на стандартный поток ввода направляется установленное сетевое соединение. Такой принцип облегчает написание сервиса, а также позволяет более гибко настраивать политику доступа к нему. Например,
xinetd
позволяет задать диапазон адресов, с которых разрешён доступ, максимальное число одновременных запросов к сервису и т. п.

Чтобы узнать, работает ли конкретный сервис, можно проверить, запущен ли соответствующий процесс (за исключением сервисов, запускаемых через

inetd/xinetd
), слушает ли какой-либо процесс нужный порт (если сервис привязан к порту) командой
netstat -lpn
.

Основные (но не все) сервисы для кластера:

Cуперкомпьютеры: администрирование - i_021.png

Таблица 5: некоторые стандартные сервисы и их порты

Более полный список можно найти в файле

/etc/services
– он содержит соответствие номера порта традиционно используемому сервису. Некоторые сервисы в нём не представлены ввиду не очень широкого распространения, и, конечно, ничто не мешает запустить какой-либо сервис на нестандартном порту, не забывайте об этом. Через супердемон
inetd/xinetd
часто запускаются такие сервисы, как
tftp, echo, ftp
.

Справка

В системе UNIX несколько тысяч команд, однако в обычной работе пользователю достаточно хорошо знать несколько десятков команд. В этом пособии мы кратко рассмотрим небольшой набор наиболее употребительных команд. В первую очередь потребуются команды для работы с каталогами и файлами. Как и ранее, в квадратных скобках будем указывать необязательные параметры.

Самая главная команда, которая вам потребуется, –

man
. Её имя происходит совсем не от английского «человек» (man), а от «руководство, учебник» (manual). Это – основной источник справочной информации по командам, пакетам и многому другому в UNIX и Linux. Вся информация в
man
разделена по разделам, исторически им присвоены номера. Как правило, для получения справки по какой-то команде достаточно набрать
man имя_команды
. Man найдёт первую страницу с заданным именем и отобразит её.

Cуперкомпьютеры: администрирование - i_022.png

Таблица 6: разделы справки man

Так как в разных разделах могут быть страницы с одинаковыми именами, то иногда надо явно указать номер раздела. Например, по команде

man crontab
отобразится информация по команде
crontab
из раздела 1. Чтобы показать справку по формату файла
crontab
, надо набрать
man 5 crontab
, отобразить список файлов, в которых упомянуто нужное слово –
man -k слово
. И конечно, не забудьте выполнить
man man
.

Кроме

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

Соглашения об именах файлов

В именах файлов и каталогов можно использовать любые символы, кроме '/' и '

\0
'. Одним из самых распространённых средств работы для UNIX является оболочка – shell. В shell некоторые символы имеют специальное значение (которое можно отменить) – это облегчает работу с файлами. Ниже приведён список спецсимволов shell:

Cуперкомпьютеры: администрирование - i_023.png

Таблица 7: спецсимволы shell

UNIX не запрещает использовать эти символы в именах файлов, но необходимо экранировать их специальное назначение символом '\' или заключать их в одинарные кавычки

'…'
.

Соглашения о расширениях

Расширение файла – часть имени после последней точки; например, файл '

text.cc
' имеет расширение '
.cc
'. Для большинства программ расширение не имеет принципиального значения, но его наличие облегчает понимание назначения файла. Ниже – наиболее часто встречающиеся расширения:

Cуперкомпьютеры: администрирование - i_024.png

Таблица 8: распространённые расширения файлов

Важно понимать, что расширение файла не имеет принципиального значения для ОС и большинства программ. Поменяв расширение файла на '

.exe
' или '
.sh
', вы не сделаете его исполняемым. А вот скрипт с именем '
do_it_now
' можно сделать исполняемым, выполнив '
chmod a+x do_it_now
'. Расширения всего лишь упрощают восприятие файлов, давая понять, что это.

Имена, начинающиеся с точки (.), часто присваиваются служебным файлам и каталогам. Эти файлы и каталоги обычно игнорируются программами и файловыми менеджерами по умолчанию. Например, команда

ls
не показывает их, если не указать ключ
'-a'
.

Многие команды допускают в качестве аргумента использование списков имён файлов. Эти списки удобно формировать с помощью шаблонов shell. Рассмотрим их ниже.

Шаблоны

Стандартная оболочка (shell) в UNIX – очень мощный инструмент и кроме запуска команд имеет массу возможностей, упрощающих работу в консоли. Самое простое средство – шаблоны имён файлов. Например, написав команду '

ls *.c
', мы получим список всех файлов с расширением '.c' в текущем каталоге.

Важно понимать, что '

*.c
' – не один аргумент, вместо него сам shell подставит нужный список. Если в каталоге только два файла –
1.c
и
2.с
, то будет выполнена команда '
ls 1.c 2.c
'. Если ни одного файла с подходящим под шаблон именем нет, то будет подставлен сам шаблон (т. е. будет выполнена команда '
ls *.c
').

Cуперкомпьютеры: администрирование - i_025.png

Таблица 9: шаблоны в shell

Все шаблоны, кроме '

{}
', применяются к реальному списку файлов и выбирают из него только те, которые попадают под шаблон. С помощью скобок '
{}
' можно конструировать более сложные шаблоны.

15
{"b":"695641","o":1}