Debian GNU/Linux, который называется beta.mephi.ru (точнее, «на-
зывался beta.mephi.ru», поскольку к моменту публикации этого пособия, такой сервер уже не используется). Соответственно, для успешного выполнения лабораторного практикума, необходимо делать поправку: заменяя beta.mephi.ru на имя рабочего сервера.
Все примеры данного лабораторного практикума подразумевают, что их выполняет гипотетический студент группы, имеющий домашним каталог (и логин) v100-1, а приглашение командной строки, после входа в систему выглядит как:
v100-1@beta:~>
Это необходимо учитывать, так как в текстах примеров присутствует именно такое приглашение командной строки, а при выполнении практикума на разных серверах оно может выглядеть подругому.
При редактировании командной строки выполняются следующие действия.
1.Для подтверждения ввода команды необходимо нажать клавишу ввода – обычно это «Enter».
2.Стрелочки «вверх» и «вниз»: перелистывание списка ранее введенных команд.
3.Стрелочки «влево» и «вправо»: перемещение курсора по командной строке.
4.Клавиша «Delete»: удаление символа в позиции курсора.
5.Клавиша «Backspace»: удаление символа слева от курсора. Далее по тексту в разд. 1 используются следующие стандартные
обозначения.
1.Корневой каталог обозначается символом: « / ».
2.Элементы пути также разделяются символом: « / ».
3.Домашний каталог обозначается одним символом: « ~ ».
4.Путь относительно домашнего каталога начинается с комбинации символов: « ~/ ».
5.Текущий каталог обозначается символом: « . ».
6.Путь относительно текущего каталога начинается с комбинации символов: « ./ ».
Втабл. 1.1 приведены рассматриваемые в практикуме команды UNIX-подобных операционных систем.
16
Таблица 1.1. Используемые команды UNIX
Команда |
Операция |
|
pwd |
Показать имя (путь) текущей директории |
|
ls |
Показать список файлов и подкаталогов текущей |
|
директории |
||
|
||
ls . |
Также показать список файлов и подкаталогов |
|
текущей директории |
||
|
||
|
Отобразить содержание текущей директории с |
|
ls –F |
добавлением к именам символов, характеризую- |
|
|
щих тип файлов |
|
ls путь |
Отобразить содержание директории по указанно- |
|
муполномуили относительномупути |
||
|
||
tree |
Показать дерево каталогов и файлов для текущей |
|
директории |
||
|
||
tree . |
Также показать дерево каталогов и файлов для |
|
текущей директории |
||
|
||
tree ~ |
Показать дерево домашней директории; |
|
tree путь |
Показать дерево каталогов и файлов для директо- |
|
рии по указанномуполномуили относительному |
||
|
пути |
|
cd ~ |
Перейти в домашнюю директорию |
|
cd |
Также перейти в домашнюю директорию |
|
cd – |
Перейти в бывшую текущую директорию |
|
cd .. |
Перейти в директорию уровнем выше |
|
cd ../.. |
Перейти в директорию на два уровня выше |
|
cd путь |
Сделать текущей директорию по указанномупол- |
|
номуили относительномупути |
||
|
||
mkdir имя |
Создать каталог в текущей директории |
|
mkdir имя1 имя2 |
Создать в текущей директории два каталога |
|
mkdir путь |
Создать директорию по указанномуполномуили |
|
относительномупути; |
||
|
||
mkdir –p путь |
Создать веткудерева по указанномуполномуили |
|
относительномупути |
||
|
||
ls |
Просмотреть текущую директорию |
|
ls . |
Также просмотреть текущую директорию |
|
ls ~ |
Просмотреть домашнюю директорию |
|
ls .. |
Просмотреть директорию уровнем выше |
|
ls путь |
Просмотреть директорию по указанномупути |
|
ls –l |
Просмотреть права доступа на файлы и подката- |
|
логи текущей директории |
||
|
||
more имя |
Просмотреть многостраничного текстового фай- |
|
ла, «Пробел» – листать страницы, «q» – выходить |
||
|
из режима просмотра |
|
cat имя |
Просмотреть текстовый файл |
17
|
Окончание табл. 1.1 |
|
|
|
|
Команда |
Операция |
|
cat < имя |
Просмотреть текстовый файл перенаправлением |
|
текста в stdin |
||
|
||
cat > имя |
Создать текстовый файл перенаправлением текста |
|
в stdout |
||
|
||
cat >> имя |
Добавить текст к файлуне деструктивным пере- |
|
направлением в stdout |
||
|
||
rmdir имя |
Удалить каталог втекущей директории |
|
rmdir имя1 имя2 |
Удалить два каталога в текущей директории |
|
rmdir путь |
Удалить каталог по указанномуполномуили от- |
|
носительномупути |
||
|
||
rm –rf путь |
Удалить каталог по указанномуполному относи- |
|
тельномупути со всем содержимым |
||
|
||
rm –rf путь1 путь2 |
Удалить каталоги по указанным полным или от- |
|
носительным путям со всем содержимым |
||
|
||
cp что куда |
Копировать файлы или директории, «что» и «ку- |
|
да», их имена или пути |
||
|
||
mv что куда |
Перемещениефайлов или директорий, «что» |
|
и»куда» их имена или пути; |
||
|
||
whoami |
Печатать имени пользователя, работающего в |
|
системе; |
||
|
||
who |
Печаттать списка пользователей, работающих в |
|
системе |
||
|
||
ps |
Печатать списка процессов пользователя |
|
jobs |
Печатать списка внутренних процессов команд- |
|
ного интерпретатора bash |
||
|
||
bg |
Переводить процесс в фоновый режим |
|
(background) |
||
|
||
fg |
Выводить процесс из фонового режима на перед- |
|
ний план (foreground) |
||
|
||
chmod u-r-w-x имя |
Отменить для пользователя права чтения, записи |
|
и использования на файл или каталог |
||
|
||
chmod u+r+w+x имя |
Возвратить пользователю права чтения, записи и |
|
использования на файл или каталог |
||
|
||
sort имя |
Сортировка строк текстового файла в алфавитном |
|
порядке; |
||
|
||
sort –r имя |
Сортировка строк текстового файла в обратном |
|
алфавитном порядке |
||
|
||
grep образец путь |
Поиск файлов, содержащих образец текста, с вы- |
|
дачей имен файлов и строк, содержащих задан- |
||
|
ный образец |
|
grep –l образец путь |
Поиск файлов, содержащих образец текста, с вы- |
|
дачей только имен файлов |
||
|
18
1.1.СЕАНС РАБОТЫ В UNIX-СИСТЕМЕ
1.1.1.Терминал и командная строка
Одним из наиболее характерных свойств UNIX-систем (как уже отмечалось в предисловии) является взаимодействие операционной системы (ОС) и пользователя посредством виртуального устройства, называемое терминалом (системной клавиатуры и экрана монитора, работающего в текстовом режиме). Терминал должен обеспечивать обмен текстовыми данными между пользователем и системой, передавать системе управляющие команды. При этом диалог пользователя с UNIX-системой выглядит как обмен текстами. Вводимый текст немедленно отображается на мониторе, за редким исключением, например при вводе пароля. Для удаления последнего неверно введённого символа используется клавиша Backspace, для подтверждения ввода – клавиша Enter.
Текстовый принцип работы позволяет отвлечься от конкретных частей компьютера, рассматривая терминал как единое оконечное устройство. В общем случае терминал – точка входа пользователя в систему. В роли терминала может выступать специальная программа, например Xterm или, как в данном практикуме, клиент сетевых протоколов PuTTY. Важнейшей задачей терминала в независимости от принципов его реализации является обеспечение взаимодействия пользователя с операционной системой. В данном практикуме пользователь взаимодействует с UNIX-системой через интерфейс командной строки, который требует от пользователя минимального представления об основных «внутренних» принципах работы ОС.
Работая с командной строкой, пользователь взаимодействует со специализированной программой, называемой интерпретатором команд (командной оболочкой, или просто оболочкой – англ. shell).
Командный интерпретатор обеспечивает базовые возможности управления ресурсами компьютера посредством ввода команд с клавиатуры, запуска на исполнение пакетных файлов, называемых в UNIX сценариями или скриптами. Командный интерпретатор также обеспечивает возможность вызова утилит и прикладных программ. По сути, командный интерпретатор реализует язык программирования, элементами которого помимо команд операционной системы являются, например, условные операторы, операторы
19
цикла и другие элементы, присущие языкам программирования высокого уровня. Вместе с тем это узкоспециализированный язык, ориентированный на разработку сценариев, управляющих работой ОС. В таких UNIX-системах, как Linux и FreeBSD, самым распространенным командным интерпретатором является bash (Bourne Again Shell), как правило, он используется по умолчанию, в том числе и в данном практикуме. Помимо bash есть большое семейство других командных интерпретаторов: csh (C shel), ksh (Korn Shell) и т.д. Как правило, у пользователя есть возможность менять командный интерпретатор, используемый по умолчанию.
1.1.2. Логины, пароли и доступ к серверу
Лабораторный практикум по UNIX может выполняться на домашнем компьютере или в компьютерном классе. В последнем случае нужно получить логин и пароль для входа на сервер локальной сети. Если компьютерный класс работает под управлением Windows, то логин и пароль выделяется один на всю студенческую группу, т.е. пользователем локальной сети компьютерного класса является группа, а не отдельный студент.
Практикум по UNIX выполняется на доступном через Интернет сервере beta.mephi.ru. Для входа на сервер каждый студент получает индивидуальный логин и пароль.
Таким образом, для успешного выполнения практикума необходимы два логина (и пароля) – один для входа в Windows (при работе в компьютерном классе на Windows), а другой непосредственно для входа на UNIX-сервер (с любого компьютера, подключенного к Internet). Все необходимые логины и пароли необходимо получить перед началом работы у преподавателя или системного администратора.
Для доступа к серверу через интернет используется свободно распространяемый клиент сетевых протоколов PuTTY (в свободном доступе по адресу http://www.putty.org/), работающий по защищенному протоколу SSH (Secure Shell – безопасная оболочка). SSH шифрует все передаваемые данные, в том числе пароли. Программа PuTTY активируется двойным щелчком, по пиктограмме на рабочем столе Windows (рис. 1.2).
20