Чтобы узнать, работает ли конкретный сервис, можно проверить, запущен ли соответствующий процесс (за исключением сервисов, запускаемых через 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
').