Материал: Аверянов Введение в оператсионные системы и основы программирования 2015

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Источник: https://studfile.net/preview/16708824/