Чтобы узнать, работает ли конкретный сервис, можно проверить, запущен ли соответствующий процесс (за исключением сервисов, запускаемых через inetd/xinetd), слушает ли какой-либо процесс нужный порт (если сервис привязан к порту) командой netstat -lpn.
Основные (но не все) сервисы для кластера:
Более полный список можно найти в файле /etc/services – он содержит соответствие номера порта традиционно используемому сервису. Некоторые сервисы в нём не представлены ввиду не очень широкого распространения, и, конечно, ничто не мешает запустить какой-либо сервис на нестандартном порту, не забывайте об этом. Через супердемон inetd/xinetd часто запускаются такие сервисы, как tftp, echo, ftp.
Справка
В системе UNIX несколько тысяч команд, однако в обычной работе пользователю достаточно хорошо знать несколько десятков команд. В этом пособии мы кратко рассмотрим небольшой набор наиболее употребительных команд. В первую очередь потребуются команды для работы с каталогами и файлами. Как и ранее, в квадратных скобках будем указывать необязательные параметры.
Самая главная команда, которая вам потребуется, – man. Её имя происходит совсем не от английского «человек» (man), а от «руководство, учебник» (manual). Это – основной источник справочной информации по командам, пакетам и многому другому в UNIX и Linux. Вся информация в man разделена по разделам, исторически им присвоены номера. Как правило, для получения справки по какой-то команде достаточно набрать man имя_команды. Man найдёт первую страницу с заданным именем и отобразит её.
Так как в разных разделах могут быть страницы с одинаковыми именами, то иногда надо явно указать номер раздела. Например, по команде man crontab отобразится информация по команде crontab из раздела 1. Чтобы показать справку по формату файла crontab, надо набрать man 5 crontab, отобразить список файлов, в которых упомянуто нужное слово – man -k слово. И конечно, не забудьте выполнить man man.
Кроме man, есть ещё команда info, которая была призвана заменить man, но, несмотря на массу новых возможностей, так и не стала популярной. Но многие аспекты стандартных программ и сервисов описаны в info намного подробнее, чем в man.
Соглашения об именах файлов
В именах файлов и каталогов можно использовать любые символы, кроме '/' и '\0'. Одним из самых распространённых средств работы для UNIX является оболочка – shell. В shell некоторые символы имеют специальное значение (которое можно отменить) – это облегчает работу с файлами. Ниже приведён список спецсимволов shell:
UNIX не запрещает использовать эти символы в именах файлов, но необходимо экранировать их специальное назначение символом '\' или заключать их в одинарные кавычки '…'.
Соглашения о расширениях
Расширение файла – часть имени после последней точки; например, файл 'text.cc' имеет расширение '.cc'. Для большинства программ расширение не имеет принципиального значения, но его наличие облегчает понимание назначения файла. Ниже – наиболее часто встречающиеся расширения:
Важно понимать, что расширение файла не имеет принципиального значения для ОС и большинства программ. Поменяв расширение файла на '.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').