Вы находитесь на странице: 1из 48

КЫРГЫЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ им. И.Раззакова

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Кафедра «ТЕЛЕМАТИКА»

Операционные системы

Методические указания по выполнению


лабораторных работ
Часть I
для студентов направления 690600 «Телематика»
и направления «Информатика в здравоохранении»

Бишкек - 2017
РАССМОТРЕНО ОДОБРЕНО
На заседании кафедры Методическим советом ФИТ
«Программное обеспечение
компьютерных систем»
Прот.№13 от 04.05.2017г. Прот. №13 от 10.05.2017г.

УДК 004.451

Составители - Семененко А.С., Хоменко Т.Н., Бакалова А.Т.

Операционные системы: Методические указания часть I /КГТУ им.


И.Раззакова, Бишкек: ИЦ «Текник», 2017.-48с.
Методические указания адресовано бакалаврам, обучающимся по
направлению 710400 «Программная инженерия», содержит теоретический
минимум, методические указания и задания для выполнения лабораторных работ
по дисциплине «Операционные системы».

Библиогр. 10 наименований, Рис. 7, Табл. 3.

Рецензент: ст. преподаватель кафедры «ПОКС» КГТУ им. И.Раззакова,


Турсалиева Э.Н.

2
Содержание
Введение ................................................................................................................... 4
Лабораторная работа № 1. Работа с файлами и дисками в ОС Windows .......... 5
Лабораторная работа № 2. Работа с протоколом TCP/IP в ОС Windows ........ 15
Лабораторная работа № 3. Организация пакетных файлов и сценариев в ОС
Windows .................................................................................................................. 20
Лабораторная работа № 4. Системный реестр ОС Windows ............................ 25
Лабораторная работа № 5. Знакомство с ОС Linux ........................................... 28
Лабораторная работа №6. Терминал и командная оболочка ОС Linux ........... 34
Лабораторная работа № 7. Работа с файловой системой ОС Linux ................. 37
Лабораторная работа № 8. Знакомство с редактором Vim ............................... 44
Литература ............................................................................................................. 47
Приложение ........................................................................................................... 48

3
Введение
Методические указания предназначены для студентов направления 690600
«Телематика» и направления «Информатика в здравоохранении», изучающих
дисциплину общепрофессионального цикла «Операционные системы».
Помимо изучения лекционных материалов учащиеся должны приобретать
опыт по применению полученных знаний на практике. С этой целью
предлагаемое методическое указание ставит своей задачей расширить
теоретическую базу в предметной области и привить учащимся практические
навыки по работе со специальными возможностями изучаемых операционных
систем (ОС), в частности, применительно к сфере ее сетевого
администрирования и конфигурирования.
Лабораторный практикум состоит из двух частей и представляет собой ряд
последовательно выполняемых лабораторных работ, тематически разделенных
на несколько общих направлений.
Каждая лабораторная работа в достаточном объеме содержит
теоретические сведения, необходимые для ее выполнения, ряд практических
заданий – для закрепления изученного материала. Выполнение последующих
заданий лабораторных работ опирается на знания и навыки, полученные при
изучении предыдущих. Поэтому важно соблюдать некоторую преемственность
в их выполнении, чтобы обеспечить постепенное и логическое усвоение
изучаемого материала. При соблюдении этого условия полученные знания
обеспечат учащихся надежной практической базой для всестороннего развития
в выбранной сфере.

4
Лабораторная работа № 1. Работа с файлами и дисками в ОС
Windows
Цель работы: Изучить возможности командной оболочки и способы
применения основных команд и утилит ОС Windows при работе с файлами и
дисками.
Краткие теоретические сведения
Командная оболочка — это отдельный программный продукт, который
обеспечивает прямую связь между пользователем и операционной системой
(ОС). Текстовый пользовательский интерфейс в виде командной строки
предоставляет среду, в которой выполняются команды, программы и служебные
утилиты с текстовым интерфейсом. В командной оболочке и результат
выполнения утилит и программ отображается на экране в виде, сходном с
командным интерпретатором Command.com MS-DOS. Командная оболочка ОС
Windows использует интерпретатор команд Cmd.exe, который осуществляет
перевод введенной команды в понятный ОС вид, загружает приложения
(утилиты) и управляет потоками данных между ними.
Имеется возможность использовать командную оболочку для создания и
редактирования пакетных файлов (также называемых сценариями), что
позволяет автоматизировать выполнение обычных задач. Например, можно
использовать сценарии для автоматизации управления учетными записями
пользователей и ежедневной архивацией в нерабочие часы. Также можно
использовать сервер сценариев ОС Windows, Cscript.exe, для выполнения
сложных сценариев посредством командной оболочки.

Запуск командной строки


Командную строку можно запустить следующими способами:
1) через главное меню Пуск (для Windows 10):

► ► ;

2) через меню Поиск в Windows:

►введите имя программы cmd►

3) с помощью «горячих клавиш»:


• нажмите комбинацию клавиш [Win + R];
• откроется окно Запуск программы;
• введите cmd и нажмите [OK] или [Enter] (рис. 1).

5
Рис.1. Запуск командной строки

Окно командной строки содержит приглашение, содержащее полный путь


к текущему каталогу. Мигающий курсор указывает место для ввода следующей
команды (рис. 2). Чтобы просмотреть предысторию, можно использовать полосу
прокрутки.
Нажав кнопку в левом верхнем углу окна, можно изменить настройки
шрифта, а также копировать и вставлять текст через буфер обмена.
Чтобы закрыть командное окно, нажмите кнопку [x] в правом верхнем углу
окна либо введите команду exit с клавиатуры.

Рис.2. Окно командной строки

Задание
 Запустите командную строку описанными способами;
 Настройте размер шрифта и цвет текста и фона;
 Введите команду ver и нажмите [Enter];
 Запишите версию ОС;
 Найдите в командном окне все элементы интерфейса: приглашение,
мигающий курсор, команду, ответ ОС, Полосу прокрутки.
 Закройте командное окно.

Справочная система
Команда help выводит на экран описание указанной команды.
Например, чтобы изучить команду dir, нужно ввести команду:

6
help dir.
Длинный текст справки выводится на экран постранично.
Некоторые команды и программы сами могут выводить справку при
указании вопросительного знака в качестве параметра:
dir /?.
Квадратные скобки в тексте справки отмечают необязательные аргументы.
Например, описание dir [диск:] означает, что допускаются следующие варианты
использования команды dir:
dir dir c:
dir d:
Задание
 Вызовите справку для команды dir описанными способами.

История ввода команд


Все команды, введенные течение текущего сеанса работы командного
окна, сохраняются в памяти. Их можно вернуть стрелками [] и [] и снова
выполнить.
Содержимое командной строки можно редактировать клавишами [],
[], [Home], [End], [Del], [BackSpace].
Клавиша [Backspace] (англ. Back Space – «пробел назад») находится на
клавиатуре над клавишей [Enter]. Эта клавиша удаляет символ слева от курсора.
Клавиша [Del] удаляет символ справа от курсора.
Для очистки текущей команды нажмите [Esc].
Задание
 Используя клавиши [] и [], просмотрите историю ввода;
 Верните команду help dir;
 Отредактируйте команду, чтобы получить help help;
 Нажмите [Enter];
 Верните предыдущую команду;
 Нажмите [Esc].

Команда DIR
Для просмотра содержимого каталога используется команда dir (англ.
Directory – каталог, папка, директория). На экран выводится список всех
каталогов и файлов, находящихся в текущем каталоге диска с указанием их
расширения и размеров, даты и времени создания (рис.3). Каталоги помечаются
символами <DIR>.
Примеры использования команды:
 dir /b – вывод только названий файлов;
 dir /d – вывод списка в несколько колонок;
 dir /oe-s – отсортированный по расширениям список имен каталогов и
файлов, а среди них – сортировка от больших файлов к меньшим.

7
Рис.3. Содержимое каталога

Задание
 Введите следующие команды:
 Dir;
 dir c:\ ;
 dir /b c:\ ;
 Обратите внимание на результаты выполнения команд;
 Вызовите справку для команды dir;
 Выведите на экран список файлов и каталогов диска D: ,
отсортированных по расширению в обратном алфавитном порядке;
 Выведите на экран список файлов и каталогов диска D: ,
отсортированных по дате – от ранних к поздним;
 Выведите на экран список файлов и каталогов диска D: ,
сгруппировав каталоги после файлов;
 Выведите на экран в алфавитном порядке имена скрытых файлов
 Выведите на экран в алфавитном порядке имена системных файлов.

Команда CD
Для перехода из каталога в каталог используйте команду cd (англ. Change
Directory – сменить каталог).
Команда cd без параметров выводит имена текущего диска и папки.
Примеры использования команды:
 cd c:\tmp – переход в каталог c:\tmp из любого каталога диска c:;
 cd /d c:\tmp – переход в каталог c:\tmp из любого каталога любого диска;
 cd tmp – переход в подкаталог tmp в текущем каталоге;

8
 cd .. – переход на один уровень выше по дереву файлов;
 cd \ – переход в корневой каталог текущего диска;
 d: – переход на диск D:.
В приглашении ОС каждый раз после выполнения команды выводится имя
текущего диска и каталога.
Задание
 Вызовите справку для команды cd;
 Обратите внимание на использование кавычек в команде cd;
 Используя команды cd и dir, переходите вверх и вниз по файловому
дереву диска C: ;
 Сделайте зарисовку фрагмента файлового дерева;
 Установите текущий диск D: ;
 Переходите вверх и вниз по файловому дереву диска D: ;
 Перейдите в каталог C:\Program Files с одновременной сменой
диска и каталога;
 Перейдите в корневой каталог.

Команда TREE
Команда tree (англ. Tree – Дерево) выводит на экран схематичное
изображение дерева каталогов. Если не указаны диск или путь, на экран
выводится часть дерева, начиная с текущего каталога.
Чтобы прервать вывод на экран, нажмите [Ctrl + C]. Примеры:
 tree \ – вывод дерева каталогов всего диска C:;
 tree c:\ /f | more – постраничный вывод дерева диска C:.
Задание
 Вызовите справку для команды tree;
 Введите команду tree;
 Введите команду tree и нажмите [Ctrl + C];
 Введите команду tree с постраничным выводом;
 Сделайте зарисовку части дерева диска C:, начиная с корневого
каталога.

Команда SET
Команда set (англ. Set – установить) позволяет просматривать и изменять
переменные среды окружения (англ. Environment variables – параметры
окружения). Это настройки ОС, доступные для прикладных программ в виде
текстовых строк в оперативной памяти. К переменным окружения обращаются
по имени.
Команда set без параметров выводит текущие значения переменных среды
окружения (см. рис.4.), в том числе:
 HOMEDRIVE – диск, на котором находится домашний каталог;
 HOMEPATH – путь к домашнему каталогу;
 NUMBER_OF_PROCESSORS – число процессоров;

9
 OS – операционная система;
 PATH – путь поиска исполняемых файлов;
 PROMPT – формат приглашения командной строки;
 USERNAME – имя пользователя.

Рис.4. Результаты вызова команды set

Для обращения к значению переменной окружения используют символ


процента. Например, %os% – значение переменной os. Примеры:
 set path=C:\Temp;%path% – добавление каталога C:\Temp в путь поиска;
 echo %os% – вывод на экран значения переменной OS;
Задание
 Выведите полный список переменных окружения;
 Определите число процессоров;
 Определите тип операционной системы;
 Выясните, что такое Windows NT;
 Определите имя пользователя;
 Выведите путь для поиска;
 Добавьте каталог D:\ в путь для поиска;
 Выведите путь для поиска;
 Выведите полный список переменных окружения;
 Убедитесь, что значение переменной path изменилось.
Команда PATH
Команда path (англ. Path – Путь) устанавливает пути поиска исполняемых
файлов. Если при запуске приложения полный путь к файлу не указан, ОС

10
пытается найти исполняемый файл в текущем каталоге, а затем просматривает
пути к каталогам из заранее заданного списка path.
Список путей для поиска хранится в переменной среды окружения PATH.
Для просмотра списка путей используется команда path без параметров.
Примеры:
 path
 path c:\usr; d:\bin – задание двух путей для поиска;
 path %path%; d:\s – добавляет каталог d:\s к пути поиска.
Изменение set-параметров из командной строки действует только для
текущего командного окна. После изменения путей для поиска ОС не сможет
выполнять некоторые команды. Для восстановления работоспособности
закройте текущее командное окно и откройте новое.
Задание
 Выведите список путей поиска;
 Добавьте каталог C:\1 в список путей;
 Выведите список путей поиска;
 Убедитесь, что каталог добавлен в список.

Создание файлов
Для обеспечения безопасности текущие настройки ОС в компьютерном
классе не позволяют пользователям создавать файлы в корневом каталоге диска
C:\. Рекомендуется проводить опыты с файлами в каталоге C:\Student или
D:\Student.
Для создания текстовых файлов в командной строке можно использовать
два способа.
Способ 1. Копирование ввода с клавиатуры в файл:
copy con file.txt
При выполнении этой команды данные с клавиатуры записываются в
указанный файл. Для завершения ввода текста нажмите комбинацию [Ctrl + Z],
а затем [Enter].
con (англ. Console – Консоль) – устройство стандартного ввода-вывода
информации. «Стандартный ввод» выполняется с клавиатуры, а «стандартный
вывод» – на экран.
Способ 2. Перенаправление стандартного вывода:
echo текст > file.txt
Команда echo (англ. Echo – эхо) выводит текст, напечатанный после
команды, на экран. Знак > направляет вывод вместо экрана в файл. В результате,
при выполнении этой команды будет создан файл file.txt, который будет
содержать в себе текст, напечатанный после команды echo.
Задание
 Создайте текстовый файл a.txt с помощью копирования с консоли в
файл и запишите в него свою ФИО;
 Создайте текстовый файл b.txt с помощью перенаправления

11
стандартного вывода и запишите в него свою группу;
 Объедините файлы a.txt и b.txt в файл c.txt.

Вывод на экран
Команда type выводит на экран содержимое текстового файла
(например, *.txt или *.bat), например: type f.txt
Можно также выполнить копирование файла на экран (устройство
стандартного вывода, консоль), например copy f.txt con
Задание
 Выведите на экран файл a.txt командой type;
 Выведите на экран файл b.txt командой copy;

Команда COPY
Команда copy (англ. Copy – Копировать) используется, чтобы скопировать
один или несколько файлов. Первый параметр команды – исходный файл
(источник). Второй параметр – результат копирования (каталог или новый файл).
Например, команда copy f1.txt d:\t копирует файл f1.txt в каталог d:\t
Для объединения нескольких файлов в один файл между именами файлов
ставится знак +. Например команда copy f1+f2+f3 f4 объединяет файлы f1, f2 и
f3 в файл f4
Второй параметр команды может содержать имя файла или путь к файлу.
Примеры:
copy 1.txt 2.txt – копирование файла 1.txt в файл 2.txt в текущем каталоге.
Если файл с именем 2.txt уже существует в этом каталоге, то его содержимое
заменяется содержимым файла 1.txt. Перед копированием ОС запрашивает
согласие пользователя на замену существующего файла.
copy 1.txt d:\t\2.txt – копирование файла 1.txt в файл 2.txt в каталоге d:\t
Звездочка * заменяет любой символ или несколько символов в названии файла.
Например, команда copy *.txt d:\ копирует все файлы с расширением txt в
каталог d:\
Задание
 Скопируйте файл a.txt в каталог D:\;
 Выведите на экран файл D:\a.txt;
 Скопируйте файл a.txt в D:\z.txt;
 Выведите на экран файл D:\z.txt;
 Скопируйте файл b.txt в файл c.txt;
 Выведите на экран файл c.txt;
 Скопируйте файл a.txt в файл c.txt;
 Выведите на экран файл c.txt;
 Скопируйте файлы a.txt и b.txt в файл c.txt;
 Выведите на экран файл c.txt;
 Скопируйте все файлы типа txt в файл d.txt;
 Выведите на экран файл d.txt.

12
Перенаправление ввода-вывода
При выполнении программ в командной строке используется так
называемый стандартный ввод-вывод. Это стандартные встроенные функции
ОС для ввода текста с клавиатуры и вывода текста на экран.
Для перенаправления стандартного ввода-вывода используют следующие
символы:
> – записать в файл (вместо вывода на экран);
>> – добавить к файлу (вместо вывода на экран);
< – прочитать из файла (вместо ввода с клавиатуры);
| – объединить две команды в конвейер (вместо вывода на экран и ввода с
клавиатуры).
Стандартный ввод: если в параметрах командной строки не указано имя
файла, то команда принимает данные с клавиатуры. Например, команда sort
сортирует текстовые строки по алфавиту. Команда sort без параметров
сортирует текст, вводимый с клавиатуры до нажатия [Ctrl+Z] и [Enter]. Команда
sort f.txt сортирует текст из файла f.txt. Команда dir > f.txt отправляет список
файлов в файл f.txt вместо вывода на экран. Команда dir >> f.txt дописывает
список файлов в конец файла f.txt, если этот файл уже существует.
При организации конвейера стандартный вывод первой команды (вместо
вывода на экран) направляется на стандартный ввод второй команды (вместо
чтения с клавиатуры). Например, конвейер dir | sort создает список файлов,
сортирует его и выводит на экран.
Команда more организует постраничный вывод на экран. При организации
конвейера в виде tree | more, команда more перехватывает вывод на экран
результатов работы команды tree и выводит длинный текст по страницам. При
работе с командой more для вывода на экран следующей строки нажимают
[Enter], для вывода следующей страницы – пробел [Space], для выхода из
страничного просмотра – клавишу [Q] (англ. Quit – Выход).

Задание
 Вызовите команду dir и запишите результаты в файл d4.txt;
 Выведите файл d4.txt на экран;
 Вызовите команду ver и добавьте результаты к файлу d4.txt;
 Выведите файл d4.txt на экран;
 Выведите файловое дерево в постраничном режиме.

Работа с файлами и каталогами


Для создания каталогов используется команда mkdir (англ. Make Directory
– Создать каталог).
Для удаления каталогов используется команда rmdir (англ. Remove
Directory – Удалить каталог).
Для удаления фалов используется команда del (англ. Delete – Удалить).

Задание
 Вызовите справку по mkdir;
13
 Создайте каталог (в названии используйте номер группы);
 Перейдите в новый каталог;
 Создайте каталог (в названии используйте фамилию);
 Перейдите в новый каталог;
 Создайте текстовый файл;
 Вызовите справку по del;
 Удалите текстовый файл;
 Поднимитесь на один уровень вверх по файловому дереву;
 Вызовите справку по rmdir;
 Удалите каталог;
 Создайте каталог;
 Поднимитесь на один уровень вверх по файловому дереву;
 Удалите каталог.

Управление процессами
Для вывода списка процессов используется команда tasklist (англ. Task List
– Список задач).
Для остановки выполнения процесса используется команда taskkill (англ.
Task KIll – «Убить» задачу).
Для остановки процесса требуется указать идентификатор процесса PID
(англ. Process IDentifier – Идентификатор процесса). PID – это «уникальное»
целое число, назначенное каждому процессу. У всех процессов эти номера
разные.
Задание
 Выведите список процессов;
 Определите, какой процесс занимает больше всего памяти;
 Определите номер процесса cmd.exe;
 Запустите второе командное окно;
 Выведите список процессов;
 Определите номер второго процесса cmd.exe;
 Определите, сколько памяти занимает каждый процесс cmd.exe;
 Введите в первом командном окне несколько команд;
 Выведите список процессов;
 Определите, сколько памяти занимает каждый процесс cmd.exe;
 Остановите процесс cmd.exe, который занимает больше памяти;
 Выведите список процессов;
 Убедитесь, что запущен только один процесс cmd.exe;
 Удалите все файлы и каталоги, созданные за время выполнения
лабораторной работы.
 Заполнить отчет по лабораторной работе и сдать его преподавателю.

14
Лабораторная работа № 2. Работа с протоколом TCP/IP в ОС
Windows
Цель работы: Изучить способы применения основных команд и утилит ОС
Windows при работе со стеком протокола TCP/IP.

Краткие теоретические сведения


TCP/IP (Transmission Control Protocol / Internet Protocol) является
самым популярным сетевым протоколом, служащим основой глобальной сети
Интернет. Предлагаемые им средства маршрутизации обеспечивают
максимальную гибкость функционирования локальных сетей предприятий.
В сетях протокола TCP/IP каждому клиенту должен быть назначен
соответствующий IP-адрес, представляющее собой 32-разрядное число,
разделенное точками (например, 192.168.1.255). Кроме того, клиенту может
потребоваться служба имен или алгоритм разрешения имен.
В комплект протокола TCP/IP входят служебные программы FTP (File Transfer
Protocol) и Telnet.
FTP — это приложение с текстовым интерфейсом, позволяющее
подключаться к FTP — серверам и передавать файлы.
Telnet обладает графическим интерфейсом и позволяет входить на
удаленный компьютер и выполнять команды так же, как если бы пользователь
находился за клавиатурой этого компьютера.
Служебные программы и утилиты протокола TCP/IP обеспечивают
подключение к различным современным сетям. При этом чтобы использовать
эти утилиты, на компьютере должна быть установлена поддержка
протокола TCP/IP.
К числу поддерживаемых протоколом TCP/IP служебных команд и утилит
относятся следующие:
Finger, Ping, Ftp, Rcp, Hostname, Rexec, Ipconfig, Route, Nbtstat, Tracer
t, Netstat, Getmac, а также целого ряда команд с приставкой Net [ accounts
| computer | config | continue | file | group | help | helpmsg | localgroup | name
| pause | print | send | session | share | start | statistics | stop | time | use | user
| view ] и другие. Дополнительные сведения о запуске служб TCP\IP из
командной строки находятся в разделе Net start.
В настоящей лабораторной работе предполагается ознакомление с
основным набором команд протокола TCP/IP и выполнение нескольких учебных
заданий с применением командной оболочки.

Команда Hostname
Hostname является одной из основных служебных утилит протокола
TCP/IP, которая показывает локально настроенное имя узла TCP/IP (имя узла
может отличаться от локально настроенного имени компьютера).
В окне командной оболочки выполните следующие действия:
 наберите Hostname.

15
Команда Ipconfig
Команда Ipconfig отображает текущие настройки TCP/IP, включая адреса
серверов DHCP и DNS имени.
DHCP (Dynamic Host Configuration Protocol) — протокол динамической
конфигурации узлов, обеспечивающий динамическое распределение IP-адресов
и других параметров конфигурации между клиентами сети, поддерживает
безопасную, надежную и простую конфигурацию сети TCP/IP, препятствует
возникновению конфликтов IP-адресов и помогает сохранять использование IP-
адресов клиентов. Протокол DHCP использует клиент-серверную модель, в
которой сервер DHCP осуществляет централизованное управление IP-адресами
сети.
DNS (Domain Name System) — иерархически распределенная база данных,
содержащая сопоставления доменных имен, в частности, с IP-адресами сети.
DNS позволяет находить компьютеры и службы по понятным именам, а также
просматривать другие сведения из базы данных.
Задание
 Выведите справочную информацию по команде Ipconfig в
командной строке;
 Наберите команду Ipconfig с основными ключами.

Команда Arp
Команда Arp используется для просмотра, добавления или удаления
записей в одной или нескольких таблицах трансляции IP-адресов в физические
MAC-адреса сетевых адаптеров, например Ethernet. Эти записи используются
при работе протокола ARP (Address Resolution Protocol). Для каждого,
установленного в компьютере, сетевого адаптера Ethernet, используется
отдельная таблица трансляции IP-адресов.

Задание
 Выведите информацию по команде Arp в командной строке;
 Наберите команду Arp с основными ключами;
 Самостоятельно осуществите добавление статической записи в кэш
Arp;
 Повторно исследуйте содержимое кэша Arp.

Команда Route
Команда Route применяется для редактирования или просмотра таблицы
IP-маршрутов из командной строки в том случае, когда нужно отыскать путь к
удаленному компьютеру с использованием протокола TCP/IP.
Синтаксис команды Route:
Route [-f][-p] [подкоманда [конечная_точка] [mask маска_сети] [шлюз]
[metric метрика]][if интерфейс]],
где параметр:
-f - очищает таблицу маршрутизации от всех записей, которые не являются
узловыми маршрутами (маршруты с маской подсети 255.255.255.255), сетевым
16
маршрутом замыкания на себя (маршруты с конечной точкой 127.0.0.0 и маской
подсети 255.0.0.0) или маршрутом многоадресной рассылки (маршруты с
конечной точкой 224.0.0.0 и маской подсети 240.0.0.0).
-p - при использовании данного параметра с подкомандой Add (табл. 1)
указанный маршрут добавляется в реестр и используется для инициализации
таблицы IP-маршрутизации каждый раз при запуске протокола TCP/IP. При
использовании параметра с подкомандой Print (табл.1) выводит на экран список
постоянных маршрутов. Все другие подкоманды игнорируют этот параметр.

Таблица 1. Список допустимых подкоманд


№ Подкоманда Назначение
п.п.
 Add Добавление маршрута
 Change Изменение существующего маршрута
 Delete Удаление маршрута или маршрутов
 Print Печать маршрута или маршрутов

Конечная_точка - определяет конечную точку маршрута. Конечной


точкой может быть сетевой IP-адрес (где разряды узла имеют значение 0), IP-
адрес маршрута к узлу, или значение 0.0.0.0 для маршрута по умолчанию.
Mask маска_сети - указывает маску сети (подсети) в соответствии с
точкой назначения. Маска сети может быть маской подсети соответствующей
сетевому IP-адресу, например 255.255.255.255 для маршрута к узлу или 0.0.0.0.
для маршрута по умолчанию. Если данный параметр пропущен, используется
маска подсети 255.255.255.255. Конечная точка не может быть более точной, чем
соответствующая маска подсети. Другими словами, значение разряда 1 в адресе
конечной точки невозможно, если значение соответствующего разряда в маске
подсети равно 0.
Шлюз - указывает IP-адрес пересылки или следующего перехода, по
которому доступен набор адресов, определенный конечной точкой и маской
подсети. Для локально подключенных маршрутов подсети, адрес шлюза - это IP-
адрес, назначенный интерфейсу, который подключен к подсети. Для удаленных
маршрутов, которые доступны через один или несколько маршрутизаторов,
адресом шлюза является непосредственно доступный IP-адрес ближайшего
маршрутизатора.
Metric метрика - задает целочисленную метрику стоимости маршрута (в
пределах от 1 до 9999) для маршрута, которая используется при выборе в таблице
маршрутизации одного из нескольких маршрутов, наиболее близко
соответствующего адресу назначения пересылаемого пакета. Выбирается
маршрут с наименьшей метрикой. Метрика отражает количество переходов,
скорость прохождения пути, надежность пути, пропускную способность пути и
средства администрирования.
If интерфейс — указывает индекс интерфейса, через который доступна
точка назначения.

17
Задание
 Выведите справочную информацию по команде Route в командной
строке;
 Наберите команду Route с основными ключами;
 С помощью команды Route найдите информацию по наименованию
сетевой платы, МАС-адресс сетевой платы.

Служебная утилита Ping


Служебная утилита Ping используется для отправки TCP/IP-пакетов в
виде сообщений эхо-запросов протокола ICMP по IP-адресу и ожиданию эхо-
ответов ICMP. Утилита Ping сообщает количество принятых эхо-ответов и
интервал времени между отправкой пакета запроса и приемом ответа; она лежит
в основе диагностики сетей работающих с протоколом TCP/IP и используется
для проверки получения приемником TCP/IP-пакетов. Если с помощью этой
команды по сети не удается «достучаться» до определенного компьютера,
вероятнее всего, в сети существует разрыв или связь в сети вовсе отсутствует.
Например, чтобы опросить станцию с IP-адресом 192.168.1.100, следует набрать
Ping 192.168.1.100.

ICMP (Internet Control Message Protocol) это обязательный управляющий


протокол в наборе протоколов TCP/IP, сообщающий об ошибках и
обеспечивающий связи между узлам сети.
Задание
 Убедитесь, что сетевой адаптер для проверяемой конфигурации
TCP/IP не находится в состоянии «Сеть отключена»;
 Наберите команду Ping с необходимыми ключами согласно
условиям: число отправляемых сообщений с эхо-запросом – 10,
длина поля данных – 4096 байт;
 Проверьте наличие соединения с узлом сети, имеющего IP-адрес
петли обратной связи;
 Проверьте наличие соединения с узлом сети, имеющего IP-адрес
собственного узла пользователя;
 Проверьте наличие соединения с узлом сети, имеющего IP-адрес
основного шлюза (по умолчанию);
 Проверьте наличие соединения с узлом сети, имеющего IP-адрес
шлюза (маршрутизатора) внешнего сетевого интерфейса IP-адрес
определенного узла локальной сети;
 Проверьте наличие соединения с узлом сети, имеющего имя
удаленного узла внешней сети.

Утилита Tracert
Утилита Tracert используется для трассировки маршрута посредством
отправки эхо-сообщений протокола ICMP по определенному IP-адресу,
постоянно увеличивая время жизни TTL в поле IP-заголовка. При этом каждый
последующий эхо-запрос проходит по сети дальше на один узел
18
(маршрутизатор), уменьшающий значение TTL на единицу до тех пор, пока оно
не достигнет нуля, а последний узел (маршрутизатор), направляющий пакет,
возвратит ошибку «время закончилось» протокола ICMP.
Одноименная команда Tracert отображает на экране путь, упорядоченный
список узлов (маршрутизаторов) на пути прохождения пакетов, в случае ошибки,
возвращающие соответствующее сообщение. Путь определяется из анализа
сообщений протокола ICMP об истечении времени, полученных от
промежуточных узлов (маршрутизаторов), и эхо-ответов точки назначения. При
этом Tracert фиксирует число переходов, которые потребовалось совершить на
пути к точке назначения. Однако некоторые узлы (маршрутизаторы) не
посылают сообщений об истечении времени для пакетов с нулевыми значениями
TTL и, следовательно, не видны для команды Tracert. В этом случае
отображается ряд звездочек (*).
Задание
 Выполните трассировку маршрута, имеющего:
IP-адрес шлюза (маршрутизатора) внешнего сетевого интерфейса,
IP-адрес определенного узла локальной сети,
имя удаленного узла внешней сети.

Команда Pathping
Команда Pathping является одной из самых полезных новых команд
диагностики протокола TCP/IP. Позволяет опрашивать каждый промежуточные
сетевые узлы (маршрутизаторы) на пути следования сигнала между исходной
точкой и точкой назначения, после чего при каждой ретрансляции сигнала
фиксирует информацию о задержках и потерях TCP/IP-пакетов.
Команда Pathping выполняет эквивалентные команде Tracert действия,
идентифицируя узлы (маршрутизаторы), находящиеся на пути. При этом в
течение некоторого периода времени команда Pathping отправляет
многочисленные сообщения с эхо-запросами каждому узлу (маршрутизатору),
находящемуся в сети между исходным и конечным пунктом, а затем на
основании TCP/IP-пакетов, полученных от каждого из них, вычисляет
результаты и обрабатывает статистику приема-передачи. Поскольку Pathping
показывает коэффициент потери пакетов для каждого узла (маршрутизатора)
сети или связи, появляется возможность определить узлы (маршрутизаторы) или
подсети, имеющие проблемы.
Задание
 Наберите команду Ping с необходимыми ключами согласно
условиям: число отправляемых сообщений с эхо-запросом – 10,
длина поля данных – 8192 байт;
 Наберите команду Tracert с необходимыми ключами, выполните
трассировку маршрута, имеющего: тот же IP-адрес или имя
удаленного узла внешней сети;
 Наберите команду Pathping с необходимыми ключами, выполните
трассировку маршрута, имеющего: тот же IP-адрес или имя
удаленного узла внешней сети.
19
Команда Netstat
Команда Netstat отображает текущий статус и статистику подключений по
протоколам TCP/IP или UDP (User Datagram Protocol). При использовании
команды Netstat выводятся данные, как о локальных, так и об удаленных именах
и портах активных сетевых соединений.
Задание
 Выведите Ethernet статистику;
 Выведите статистику по всем активным протоколам;
 Выведите статистику только по TCP-протоколу;
 Выводите статистику всех активных TCP/IP-подключений и PID-
кодов процессов каждые 10 секунд;
 Изучите полученный результат и сделайте вывод о проделанной
работе.
 Заполнить отчет по лабораторной работе и сдать его преподавателю.

Лабораторная работа № 3. Организация пакетных файлов и


сценариев в ОС Windows
Цель работы: Освоение механизмов управления средствами командных файлов,
командного интерпретатора cmd ОС. Использование командных файлов для
автоматической работы.

Краткие теоретические сведения


Пакетный файл - это неформатированный текстовый файл ASCII,
содержащий одну или несколько команд ОС. Имена пакетных файлов имеют
расширения .cmd или .bat. ОС при работе с пакетным файлом последовательно
обрабатывает его команды после ввода его имени в строке командной оболочки
или запуска из другой программы.
Другой разновидностью пакетного файла является сценарий,
представляющий собой программу, состоящую из набора инструкций для
работы приложения или служебной утилиты.
Пакетные файлы и сценарии часто называют командными файлами,
содержащими любые команды. Некоторые команды, такие как For, Goto и If,
позволяют выполнять обработку условий в пакетных файлах. В частности, If
позволяет запускать команды в зависимости от выполнения заданного условия.
Другие команды позволяют управлять вводом и выводом, а также запускать
другие пакетные файлы. Совместно с командами, изученными в предыдущих
лабораторных работах, вышеуказанные команды позволяют создавать пакетные
файлы практически для любых целей управления работой и администрирования
ОС Windows.
ECHO
Основной командой для вывода информации в пакетных файлах служит:
ECHO [сообщение]

20
С учетом перенаправления может выводить сообщения куда угодно
(порты, принтер и т.п.). Например, ECHO Привет ! > hi.txt направляет
сообщение в текстовый файл.
По умолчанию команды пакетного файла перед исполнением выводятся на
экран, что не очень эстетично. С помощью команды ECHO OFF можно
отключить дублирование вывода команд на экран. ECHO ON восстанавливает
режим дублирования. Кроме этого, можно отключить дублирование отдельной
строки, если предварить ее символом «@». И, наконец, можно вывести пустую
строку комбинацией ECHO. (с точкой в конце).
@ECHO OFF
ECHO Привет !
ECHO.
ECHO Пока …
При запуске командных файлов в командной строке можно указывать
произвольное число параметров, которые затем можно использовать внутри
пакетного файла.
Общие задания для выполнения
1. Написать bat-файл формирующий список всех файлов, расположенных на
устройстве c: в текущем каталоге выдать на экран и в файл all.txt (в каталог
c:\temp или в каталог группы)
@echo off
subst x: c:\temp
dir >x:\all.txt
type x:\all.txt

2. Среди файлов, расположенных в каталоге c:\Winnt найти самый длинный


файл.
@echo off
dir /O:-S c:\winnt | more
3. Написать bat-файл, выдающий содержимое файлов с расширением txt из
текущего каталога на устройстве с: на экран.
@echo off
for %%i in (*.txt) do type type *.txt
4. Написать bat-файл, имена файлов в каталоге Winnt на устройстве c:, в
расширении которых вторая буква — x, записать в файл withx.txt
@echo off
dir *.?x* > c:\temp\withx.txt
5. Написать bat-файл, который имена файлов, содержащих в расширении
символ x, записывает в файл x.txt

21
@echo off
dir *.*x* > x.txt
6. Из файлов в корневом каталоге на устройстве c: выбрать файл с самым
поздним временем создания.
@echo off
dir /O:D c: | more
7. Все буквы r в именах файлов заменить на буквы p.
@echo off
break on
SET A=
:start
rename %A%r*.* %A%p*.*
SET A=%A%?
goto start
8. Написать bat-файл, рисующий бесконечный треугольник:
@echo off
break on
SET A=
:loop
SET A=%A%aa
echo %A%
goto loop
Примечание: чтобы видеть результат в окне нужно добавлять в код
команду pause

9. Раскрытие скрытых папок на flash носителях после атаки вирусов


@echo offmode con codepage select=1251 > nulecho Please wait…attrib -s -h -r -
a /s /d
Задание 1
 Присвоить переменной значение пробел
 Извлечение подстроки с конца строки
 Извлечение подстроки с начала строки
 Извлечение подстроки с середины строки
 Удаление первого и последнего символа в строке
 Удаление подстроки в строке
 Удаление всех пробелов в строке
 Замена подстроки в строке
 Объединение строк
 Конвертировать большие буквы в маленькие.

22
 Заполнить отчет по лабораторной работе и сдать его преподавателю.

Задание 2
В таблице №2 приведены индивидуальные дополнительные задания по
организации пакетных файлов в ОС Windows.

Таблица 2. Варианты заданий к лабораторной работе


Вар.
Описание пакетного файла

1. Пакетный файл, предназначенный для резервного копирования файлов с
определенным расширением из разных каталогов с возможностью
создания резервного каталога, в случае его отсутствия в системе.
Расширение файлов для копирования задается в качестве пакетного
параметра. Резервное копирование осуществляется каждый четверг в
22:00. В течение 3 минут после копирования выводится сообщение
«Резервное копирование в каталог <путь> завершено».
2. Пакетный файл, предназначенный для организации процесса поиска и
отображения текстового файла. Поиск осуществляется по всем
локальным дискам. Имя текстового файла задается пакетным
параметром. После того как необходимый файл найден, в
автоматическом режиме осуществляется его отображение в текстовом
процессоре «Блокнот».
3. Пакетный файл, предназначенный для копирования каталога с его
содержимым в заданное место назначения. Копируемый каталог и место
назначения задаются в качестве пакетных параметров. После
копирования каталога файл-отчет, содержащий информацию о
количестве скопированных файлов и их месте расположения, в
автоматическом режиме загружается в текстовый процессор «Блокнот».
4. Пакетный файл, предназначенный для перемещения каталога с его
содержимым в заданное место назначения с запросом на удаление,
перемещаемого каталога. Перемещаемый каталог и место назначения
задаются в качестве пакетных параметров. После перемещения каталога
в отдельный файл выводится отчет, содержащий два дерева каталогов тех
мест, откуда и куда было осуществлено перемещение. В конце выводится
сообщение вида «Отчет о перемещении находится в каталоге <путь>».
5. Пакетный файл, предназначенный для копирования каталога и
включенных в него файлов, расположенных в месте, заданном
определенным путем. Полный путь расположения и маска копируемых
файлов задаются в качестве пакетных параметров. Если в
результирующем каталоге уже находятся копирующиеся файлы, то
повторное копирование должно сопровождаться выдачей
предупреждающего сообщения о существовании файлов. В конце
выводится сообщение вида «Копирование файлов из каталога <путь> в
каталог <путь> завершено».

23
Продолжение таблицы 2. Варианты заданий к лабораторной работе
6. Пакетный файл, предназначенный для создания отчета, содержащего
«Software part» (программная часть), включающую информацию о
содержимом корневых каталогов всех логических дисков в системе и
«Hardware part» (аппаратная часть), включающую сведения о
конфигурации компьютера и ОС, сведения о безопасности, параметры
оборудования, такие как ОЗУ, дисковое пространство, сетевые карты и
другие. Файлотчет копируется в некоторый сетевой каталог, задаваемый
пакетным параметром, под именем, отражающим имя компьютера, с
которого получен этот отчет. В конце выводится сообщение вида «Отчет
находится в сетевом каталоге <путь>».
7. Пакетный файл, предназначенный для углубленной проверки жесткого
диска с созданием файла отчета, путь к которому задается в качестве
пакетного параметра. Проверка жесткого диска осуществляется
ежедневно в 21:00. В течение 20 секунд по окончании проверки диска
выводится сообщение «Проверка диска завершена. Файл-отчет находится
в каталоге <путь >» и далее осуществляться автоматическая перезагрузка
системы.
8. Пакетный файл, предназначенный для резервного копирования файлов
системной папки Windows с возможностью создания резервного каталога,
в случае его отсутствия в системе. Путь к резервному каталогу задается в
качестве пакетного параметра. Резервное копирование осуществляется
ежедневно в 23:00. В течение 2 минут после копирования выводится
«Резервное копирование в каталог <путь> завершено» и далее
происходит автоматическое выключение системы с принудительным
закрытием всех работающих приложений.
9. Пакетный файл, предназначенный для архивирования и шифрования
указанного каталога с его содержимым. Архивируется каталог-источник
с помощью существующего в системе архиватора (например, WinRar),
вызов которого осуществляется непосредственно из пакетного файла.
Архив в дальнейшем шифруется и сохраняется в определенном месте на
жестком диске. Пути к каталогу-источнику и месту назначения задаются
в качестве пакетных параметров. В конце выводится сообщение вида
«Шифрованный архив сохранен в каталог <путь>».
10. Пакетный файл, предназначенный для удаления файлов по маске,
расположенных в месте, заданном определенным путем. Полный путь
расположения и маска удаляемых файлов задаются в качестве пакетных
параметров. В процессе необходимо осуществлять запрос на
подтверждение удаления. В конце выводится сообщение вида «Стерто
файлов: <количество> из каталога <путь>».

24
Лабораторная работа № 4. Системный реестр ОС Windows
Цель работы: Изучить структуру реестра ОС Windows
Краткие теоретические сведения
Реестр ОС Windows – это большая база данных, где хранится информация
о конфигурации системы. Этой информацией пользуются как ОС Windows, так
и другие программы. В некоторых случаях восстановить работоспособность
системы после сбоя можно, загрузив работоспособную версию реестра, но для
этого необходимо иметь копию реестра.
Реестр очень обширен, и дать однозначное его определение невозможно.
Кратко и достаточно точно можно сказать, что реестр - компонент операционной
системы компьютера, который в иерархической базе данных хранит важнейшие
установки и информацию о приложениях, системных операциях,
пользовательской и аппаратной конфигурациях.
В целом реестр очень напоминает файловую систему с той разницей, что
вместо файлов на нижнем уровне содержатся параметры.
Информация, хранящаяся в иерархической базе данных реестра (рис. 5),
собрана в разделы (key), которые содержат один или более подразделов (subkey).
Каждый подраздел содержит параметры (value):

Рис.5. Структура Реестра


Возможность создавать вложенные подразделы позволяет группировать
параметры. Основным средством для просмотра и редактирования записей
реестра служит специализированная утилита «Редактор реестра» (рис.6). В
результате получается древовидная структура, которую можно просмотреть в
Редакторе реестра (Registry editor, RegEdit). Каждый раздел (ветвь) соответствует
определенному типу информации о пользователе, аппаратном обеспечении,
приложении и т.д.

25
Рис.6. Редактор реестра

Изменяя тот или иной параметр, можно управлять работой Windows,


защитить компьютер от нежелательных пользователей и просто настраивать
внешний вид Windows.
В частности, в разделе
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersio
n\Run
сдержится список параметров. Имена этих параметров не играют роли для
системы, а значения представляют собой имена исполняемых файлов, которые
следует запускать всякий раз при запуске системы. Добавив туда свой параметр,
можно заставить систему запускать свою программу.

Редактирование реестра
RegEdit - это программа которая позволяет редактировать файлы реестра.
Запустить ее можно из командной строки, либо через меню Start->Run. В левой
части окна отображается вся иерархическая структура реестра, в правой -
параметры, наличествующие в текущем разделе. Следует отметить, что
параметры могут находиться даже в корне реестра.

Файлы реестра
Regedit позволяет импортировать и экспортировать часть реестра в файлы.
Эта возможность, например, может быть использована для создания резервных
копий, либо для переноса ПО с одной машины на другую. Структура этих файлов
такова:

26
Если параметр имеет тип dword, то соответствующая строка должна
иметь вид: "параметр"=dword:00000000 (где вместо 00000000 надо
задать нужное значение).
А если тип параметра двоичный, то формат строки:
"параметр"=hex:00,00,00,00 (где через запятую указываются значения
байтов в шестнадцатеричном виде).
Следует обратить внимание, что в конце файла (*.reg) обязательно должна
быть пустая строка.
Кроме того, следует учитывать, что в значении строкового параметра перед
символами "кавычки" и "обратный слеш" (\) должен добавляться символ
"обратный слеш". А параметр "(По умолчанию)" обозначается символом "@"
(без кавычек).
Пример задания параметра
Чтобы присвоить параметру "(По умолчанию)" значение
"C:\Program Files\Accessories\WORDPAD.EXE"
надо записать: @="\"C:\\Program Files\\Accessories\\WORDPAD.EXE\"
Созданный reg-файл следует запустить на выполнение (с файлами типа
*.reg по умолчанию ассоциирован редактор реестра REGEDIT.EXE).
Пример файла, содержащего параметр для автоматического запуска
драйвера мыши
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVer
sion\Run] "Gnetmous"="G:\\genius\\gnetmous.exe"
Для того чтобы полностью удалить раздел (ключ) реестра с помощью reg-
файла, надо перед именем раздела поставить "-" (без кавычек).
В Windows 2000/XP/Vista/7 используются файлы реестра 5-й версии (в
windows NT - 4-й). Они отличаются поддержкой Unicode (каждый символ
занимает два байта вместо одного) и заголовком «Windows Registry Editor
Version 5.00» вместо «REGEDIT4». Файлы 4-й версии по-прежнему
используются и поддерживаются.
Задание
 С помощью редактора реестра изучить корневые разделы
системного реестра.
 Через меню Поиск в Windows:

►введите имя программы regedi►

 Найдите и выберите подраздел, содержащий элементы реестра,


которые необходимо изменить.
 В меню Файл выберите команду Экспорт.

27
При этом создается резервная копия подраздела до внесения изменений.
Если изменения приведут к сбою, этот файл можно импортировать обратно в
реестр.
 В поле Имя файла введите имя для сохранения REG-файла с
исходными элементами реестра, а затем нажмите кнопку
Сохранить.
Используйте имя файла, которое говорит о содержимом, например,
название подраздела.
 В правой области добавьте или измените нужные элементы.
 Повторите действия, чтобы экспортировать подраздел еще раз, но
используйте другое имя REG-файла. Этот REG-файл можно
использовать, чтобы внести изменения в реестр другого
компьютера.
 Протестируйте изменения на локальном компьютере. Если они
приводят к сбою, дважды щелкните файл с резервной копией
исходных данных реестра, чтобы вернуть реестр в первоначальное
состояние.
 Заполнить отчет по лабораторной работе и сдать его
преподавателю.

Лабораторная работа № 5. Знакомство с ОС Linux


Цель работы: Изучить архитектуру и принципы функционирования
многопользовательской, многозадачной операционной системы Linux,
особенности ее использования в качестве сервера и рабочей станции.

Краткие теоретические сведения


Система включает следующие основные компоненты:
Ядро. Выполняет функции управления памятью, процессорами.
Осуществляет диспетчеризацию выполнения всех программ и обслуживание
внешних устройств. Все действия, связанные с вводом/выводом и выполнением
системных операций, выполняются с помощью системных вызовов. Системные
вызовы реализуют программный интерфейс между программами и ядром.
Имеется возможность динамического конфигурирования ядра.
Диспетчер процессов Init. Активизирует процессы, необходимые для
нормальной работы системы и производит их начальную инициализацию.
Обеспечивает завершение работы системы, организует сеансы работы
пользователей, в том числе, для удаленных терминалов.
Интерпретатор команд Shell. Анализирует команды, вводимые с
терминала либо из командного файла, и передает их для выполнения в ядро
системы. Команды обычно имеют аргументы и параметры, которые
обеспечивают модернизацию выполняемых действий. Shell является также
языком программирования, на котором можно создавать командные файлы
(shell-файлы). При входе в ОС пользователь получает копию интерпретатора
shell в качестве родительского процесса. Далее, после ввода команды
пользователем создается порожденный процесс, называемый процессом-
28
потомком. Т.е. после запуска ОС каждый новый процесс функционирует только
как процесс - потомок уже существующего процесса. В ОС Linux имеется
возможность динамического порождения и управления процессами.
Shell - интерпретатор в соответствии с требованиями стандарта POSIX
поддерживает графический экранный интерфейс, реализованный средствами
языка программирования Tcl/Tk.
Обязательным в системе является интерпретатор Bash, полностью
соответствующий стандарту POSIX. В качестве Shell может быть использована
оболочка mc с интерфейсом, подобным Norton Commander.
Сетевой графический интерфейс X-сервер (X-Windows). Обеспечивает
поддержку графических оболочек.
Графические оболочки KDE, Gnome. Отличительными свойствами KDE
являются: минимальные требования к аппаратуре, высокая надежность,
интернационализация. Базовые библиотеки KDE (qt, kde-libs) признаны одними
из лучших продуктов по созданию графического интерфейса, обеспечивают
простое написание программ с использованием передовых технологий. Gnome
имеет развитые графические возможности, но более требователен к аппаратным
средствам.
Сетевая поддержка NFS, SMB, TCP/IP. NFS - программный комплекс
РС-NFS (Network File System) для выполнения сетевых функций. РС-NFS
ориентирован для конкретной ОС персонального компьютера (PC) и включает
драйверы для работы в сети и дополнительные утилиты. SMB - сетевая файловая
система, совместимая с Windows NT. TCP/IP - протокол контроля передачи
данных (Transfer Control Protocol/Internet Protocol). Сеть по протоколам TCP/IP
является неотъемлемой частью ОС семейства UNIX. Поддерживаются любые
сети, от локальных до Internet, с использованием только встроенных сетевых
средств.
Инструментальные средства программирования. Основой средств
программирования является компилятор GCC или его экспериментальные
версии EGCS и PGCC для языков С и С++; модули поддержки других языков
программирования (Obective C, Фортран, Паскаль, Modula-3, Ада, Java и др.);
интегрированные среды и средства визуального проектирования: Kdevelop,
Xwpe; средства адаптации привязки программ AUTOCONFIG, AUTOMAKE.

Регистрация пользователя в системе


Для входа пользователя с терминала в многопользовательскую
операционную систему LINUX необходимо зарегистрироваться в качестве
пользователя. Для этого нужно после сообщения
Login:
ввести системное имя пользователя, например, "student". Если имя задано верно,
выводится запрос на ввод пароля:
Password:
Наберите пароль "student" и нажмите клавишу Enter.
Если имя или пароль указаны неверно, сообщение login повторяется.
Значение пароля проверяется в системном файле password, где приводятся и
29
другие сведения о пользователях. После правильного ответа появляется
приветствие LINUX и приглашение:
student@linux:>
Вы получили доступ к ресурсам ОС LINUX.

Выход из системы
exit - окончание сеанса пользователя.

Выполнение простых команд


Формат команд в ОС LINUX следующий:
имя команды [аргументы] [параметры] [метасимволы]
Имя команды может содержать любое допустимое имя файла; аргументы
- одна или несколько букв со знаком минус (-); параметры - передаваемые
значения для обработки; метасимволы интерпретируются как специальные
операции. В квадратных скобках указываются необязательные части команд.
Введите команду echo, которая выдает на экран свои аргументы:
echo good morning
и нажмите клавишу Enter. На экране появится приветствие "good morning" –
аргумент команды echo. Командный интерпретатор shell вызвал команду echo,
реализованную в виде программы на языке СИ, и передал ей аргументы. После
этого интерпретатор команд вывел знак-приглашение. Синтаксис команды echo:
echo [-n] [arg1] [arg2] [arg3]...
Команда помещает в стандартный вывод свои аргументы, разделенные
пробелами и завершаемые символом перевода строки. При наличии флага -n
символ перевода строки исключается.
who [am i] - получение информации о работающих пользователях.
В квадратных скобках указываются аргументы команды, которые можно
опустить. Ответ представляется в виде таблицы, которая содержит следующую
информацию:
- идентификатор пользователя;
- идентификатор терминала;
- дата подключения;
- время подключения.
date - вывод на экран текущей даты и текущего времени.
cal [[месяц]год] - календарь; если календарь не помещается на одном
экране, то используется команда cal год | more и клавишей пробела производится
постраничный вывод информации.
man <название команды> - вызов электронного справочника об
указанной команде. Выход из справочника - нажатие клавиши Q.
Команда man man сообщает информацию о том, как пользоваться
справочником.
tty - сообщение имени специального файла стандартного вывода,
соответствующего терминалу пользователя.
cat <имя файла> - вывод содержимого файла на экран. Команда cat >
text.1 создает новый файл с именем text.1, который можно заполнить
30
символьными строками, вводя их с клавиатуры. Нажатие клавиши Enter создает
новую строку. Завершение ввода - нажатие Ctrl - d. Команда cat text.1 > text.2
пересылает содержимое файла text.1 в файл text.2. Слияние файлов
осуществляется командой cat text.1 text.2 > text.3.
ls [-alrstu] [имя] - вывод содержимого каталога на экран. Если аргумент не
указан, выдается содержимое текущего каталога.
Аргументы команды:
-a - выводит список всех файлов и каталогов, в том числе и скрытых;
-l - выводит список файлов в расширенном формате, показывая тип
каждого элемента, полномочия, владельца, размер и дату последней
модификации;
- r - выводит список в порядке, обратном заданному;
- s - выводит размеры каждого файла;
- t - перечисляет файлы и каталоги в соответствии с датой их последней
модификации;
- u - перечисляет файлы и каталоги в порядке, обратном их последней
модификации.
rm <имя файла> - удаление файла (файлов). Команда rm text.1 text.2
text.3 удаляет файлы text.1, text.2, text.3. Другие варианты этой команды - rm
text.[123] или rm text.[1-3].
wc [имя файла] - вывод числа строк, слов и символов в файле.
clear - очистка экрана.

Группирование команд
Группы команд или сложные команды могут формироваться с помощью
специальных символов (метасимволов):
& - процесс выполняется в фоновом режиме, не дожидаясь окончания
предыдущих процессов;
? - шаблон, распространяется только на один символ;
* - шаблон, распространяется на все оставшиеся символы;
| - программный канал - стандартный вывод одного процесса является
стандартным вводом другого;
> - переадресация вывода в файл;
< - переадресация ввода из файла;
; - если в списке команд команды отделяются друг от друга точкой с
запятой, то они выполняются друг за другом;
&& - эта конструкция между командами означает, что последующая
команда выполняется только при нормальном завершении предыдущей команды
( код возврата 0 );
|| - последующая команда выполняется только, если не выполнилась
предыдущая команда ( код возврата 1 );
() - группирование команд в скобки;
{ } - группирование команд с объединенным выводом;
[] - указание диапазона или явное перечисление ( без запятых);
>> - добавление содержимого файла в конец другого файла.
31
Примеры.
who | wc - подсчет количества работающих пользователей командой wс
(word count - счет слов);
cat text.1 > text.2 - содержимое файла text.1 пересылается в файл text.2;
mail student < file.txt - электронная почта передает файл file.txt всем
пользователям, перечисленным в командной строке;
cat text.1,text.2 - просматриваются файлы text.1 и text.2;
cat text.1 >> text.2 - добавление файла text.1 в конец файла text.2;
cc primer.c & - трансляция СИ - программы в фоновом режиме. Имя
выполняемой программы по умолчанию a.out.
cc -o primer.o primer.c - трансляция СИ-программы с образованием файла
выполняемой программы с именем primer.o;
rm text.* - удаление всех файлов с именем text;
{cat text.1; cat text.2} | lpr - пpосмотp файлов text.1 и text.2 и вывод их на
печать;
ps [al] [number] - команда для вывода информации о процессах:
-a - вывод информации обо всех активных процессах, запущенных с
вашего терминала;
-l - полная информация о процессах;
number - номер процесса.
Команда ps без параметров выводит информацию только об активных
процессах, запущенных с данного терминала, в том числе и фоновых. На экран
выводится подробная информация обо всех активных процессах в следующей
форме:

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD

1 S 200 210 7 0 2 20 80 30 703a 03 0:07 cc


1 R 12 419 7 11 5 20 56 20 03 0:12 ps

F - флаг процесса (1 - в оперативной памяти, 2 - системный процесс, 4 -


заблокирован в ОЗУ, 20 - находится под управлением другого процесса, 10 -
подвергнут свопингу);
S - состояние процесса (O - выполняется процессором , S - задержан, R -
готов к выполнению, I - создается);
UID - идентификатор пользователя;
PID - идентификатор процесса;
PPID - номер родительского процесса;
C - степень загруженности процессора;
PRI - приоритет процесса, вычисляется по значению переменной NICE и
чем больше число, тем меньше его приоритет;
NI - значение переменной NICE для вычисления динамического
приоритета, принимает величины от 0 до 39;
ADDR - адрес процесса в памяти;
32
SZ - объем ОЗУ, занимаемый процессом;
WCHAN - имя события, до которого процесс задержан, для активного
процесса - пробел;
TTY - номер управляющего терминала для процесса;
TIME - время выполнения процесса;
CMD - команда, которая породила процесс.
nice [-приращение приоритета] команда[аргументы] - команда
изменения приоритета. Каждое запущенное задание (процесс) имеет номер
приоритета в диапазоне от 0 до 39, на основе которого ядро вычисляет
фактический приоритет, используемый для планирования процесса. Значение 0
представляет наивысший приоритет, а 39 - самый низший. Увеличение номера
приоритета приводит к понижению приоритета, присвоенного процессу.
Команда nice -10 ls -l увеличивает номер приоритета, присвоенный процессу ls -
l на 10.
renice 5 1836 - команда устанавливает значение номера приоритета
процесса с идентификатором 1836 равным 5. Увеличить приоритет процесса
может только администратор системы.
kill [-sig] <идентификатор процесса> - прекращение процесса до его
программного завершения. sig - номер сигнала. Sig = -15 означает программное
(нормальное) завершение процесса, номер сигнала = -9 - уничтожение процесса.
По умолчанию sig= -9. Вывести себя из системы можно командой kill -9 0.
Пользователь с низким приоритетом может прервать процессы, связанные
только с его терминалом.
mc - вызов файлового менеджера (программы - оболочки) Midnight
Commander, аналогичного Norton Commander.
sort [-dr] - сортировка входных файлов и вывод результата на экран.

Задание
 Ознакомиться с теоретической частью к лабораторной работе.
 Зарегистрироваться в системе LINUX.
 Определить день недели, в который Вы родились.
 Получить подробную информацию обо всех активных процессах.
 Создать два текстовых файла (с расширением TXT) и командой САТ
просмотреть их на экране.
 Получить информацию о работающих пользователях, подсчитать их
количество и запомнить в файле.
 Объединить текстовые файлы в единый файл и посмотреть его на
экране.
 Посмотреть приоритет своего процесса и уменьшить скорость его
выполнение за счет повышения номера приоритета.
 Удалить свои файлы и выйти из системы.
 Заполнить отчет по лабораторной работе и сдать его преподавателю.

33
Лабораторная работа №6. Терминал и командная оболочка ОС
Linux
Цель работы: Приобрести опыт работы с командной строкой ОС Linux, изучить
основные команды (рабочая станция, рабочий директорий, пользователи, дата,
календарь, список процессов, завершение работы)

Краткие теоретические сведения


Стандартные команды в Linux отличаются от команд DOS и Windows -
обычно они короче. При работе с командной строкой как обычно мигающий
курсор обозначает позицию ввода текста, командная строка начинается с
текущего пути и имени компьютера, за которым следует символ $, % или #.
Последний означает, что команды будут выполняться от имени
суперпользователя root. Символ ~ означает путь к текущей домашней
директории пользователя.
Большинство команд в Linux, не требующих вывода информации
пользователю, в случае успешного завершения вообще ничего не выводят на
экран. Выводятся только ошибки и предупреждения в случае нарушения
нормального выполнения команды. Т.е. в Linux действует общий принцип
"молчит, значит работает".
Терминал — эмулятор консоли. Именно в терминале мы будем работать с
CLI (интерфейсом командной строки). Терминал часто также называют
консолью или шеллом (от англ. shell — оболочка). Многие пользователи и в
особенности администраторы серверов под Linux в работе используют именно
консоль, а не графическую оболочку, это связано с тем, что настройка и
конфигурация Linux в основном заключается, в редактировании текстовых
конфигурационных файлов. Даже если вы являетесь простым пользователем ОС
Linux, большинство инструкций по настройке написаны с использованием
консоли и знать основные команды жизненно необходимо.
Стоит обратить внимание на системные каталоги ОС в которых находятся
файлы, необходимые для управления и сопровождения системы, а также
стандартные программы. Их имена, расположение и содержание почти
одинаковы почти во всех ОС Linux, поэтому эти каталоги называют также
стандартными. Краткое описание основных каталогов сведено в таблицу 1.

Таблица 3.Системные каталоги OC Linux


Каталог Назначение

/bin Основные программы, необходимые для работы в системе:


командные оболочки, файловые утилиты и т.п.
/sbin Команды для системного администрирования, а также
программы, выполняемые входе загрузки
/boot Файлы, необходимые для загрузки системы (образ ядра)

34
Продолжение таблицы 3.Системные каталоги OC Linux
/home Домашние каталоги пользователей, кроме root
/dev Файлы устройств
/etc Файлы настроек: стартовые сценарии, конфигурационные
файлы графической системы и различных приложений
/lib Системные библиотеки, необходимые для основных программ,
и модули ядра
/lost+found Восстановленные после аварийного размонтирования части
файловой системы
/media Сюда обычно монтируются съемные носители: компакт-диски,
flash-накопители
/mnt Временные точки монтирования жестких дисков. Использовать
этот каталог необязательно: подмонтировать файловую систему
можно к любому другому каталогу
/opt Дополнительные пакеты программ. Если программа,
установленная сюда, больше не нужна, то достаточно удалить ее
каталог без обычной процедуры деинсталляции
/proc Виртуальная файловая система, дающая доступ к информации
ядра (например, выведите на экран файл /proc/cpuinfo). Другие
файлы в этом каталоге в каждый момент времени содержат
информацию о выполняющихся в этот момент программах
/root Домашний каталог суперпользователя. Домашние каталоги всех
остальных могут находиться на отдельном разделе, но /root
должен быть в корневой файловой системе, чтобы
администратор всегда мог войти в систему для ремонтных работ
/tmp Временные файлы
/var Часто меняющиеся данные: системные журналы и протоколы
приложений, замки, почтовые ящики, очереди печати и т.п.
/usr Практически все остальное: программы, исходные коды,
документация. Сюда по умолчанию устанавливаются новые
программы

С точки зрения UNIX-подобных ОС, файл представляет собой поток или


последовательность байтов. Такой подход позволяет распространить понятие
файла на множество ресурсов не только локального компьютера, но и
удаленного, связанного с локальной сетью любого рода. Доступ к любому
такому ресурсу осуществляется через универсальный интерфейс, благодаря чему
запись данных в файл, отправка их на физическое устройство или обмен ими с
другой работающей программой происходит аналогично. Это очень упрощает

35
организацию данных и обмен ими. В ОС Linux можно выделить следующие типы
файлов:
 обычные файлы — последовательность байтов (текстовые документы,
исполняемые программы, библиотеки и т.п.);
 каталоги — именованные наборы ссылок на другие файлы;
 файлы физических устройств, подразделяющихся на:
файлы блочных устройств, драйверы которых буферизуют ввод-вывод с
помощью ядра и файлы байт-ориентированных, или символьных,
устройств, позволяющих связанным с ними драйверам выполнять
буферизацию собственными средствами;
 символические ссылки (symlink, symbolic link); o именованные каналы
(named pipes); o гнезда (sockets).

Задание
 Запускаем Linux. После прохождения идентификации включаем
терминал (рис. 7).
Applications > Accessories > Terminal

Рис.7. Терминал Linux Ubuntu

 Для работы в терминале Ubuntu требуются права пользователя root,


но, к сожалению, по умолчанию, он недоступен, поэтому для
выполнения некоторых (не всех) команд надо писать sudo
<команда>, и подтверждать свои права вводом пароля.
 Для получении справки о дополнительных возможностях некоторых
программ следует набрать <команда> --help
 Выполните следующие команды: date, oclock, finger, hwclock,
uname, history, clear, ls.
 Создайте нового пользователя, при помощи терминала Ubuntu, и
введите его в группу admin. Создайте пароль пользователю. Войдите
под ним в систему. Процесс создания и ввода в группу внесите в
отчет.
 Заполнить отчет по лабораторной работе и сдать его преподавателю.

36
Лабораторная работа № 7. Работа с файловой системой ОС Linux
Цель работы: Приобрести опыт работы с файлами и каталогами в ОС Linux,
настройки прав на доступ к файлам и каталогам.

Краткие теоретические сведения


Файловая система - это структура, с помощью которой ядро операционной
системы предоставляет пользователям (и процессам) ресурсы долговременной
памяти системы, т. е. памяти на различный вид долговременных носителях
информации - жестких дисках, магнитных лентах, CD-ROM и т. п.
С точки зрения пользователя, файловая система — это логическая
структура каталогов и файлов. В отличие от Windows, где каждый логический
диск хранит отдельное дерево каталогов, во всех UNIX-подобных системах эта
древовидная структура растет из одного корня: она начинается с корневого
каталога, родительского по отношению ко всем остальным, а физические
файловые системы разного типа, находящиеся на разных разделах и даже на
удаленных машинах, представляются как ветви этого дерева.
Имена файлов и каталогов могут иметь длину до 255 символов. Символы
«/» (слэш) и символ с кодом 0 запрещены. Кроме того, ряд символов имеет
специальное значение для командного интерпретатора, и их использование не
рекомендуется. Это символы:
~ ! @ # $ & % * ( ) [ ] { } ' " \ : ; > < пробел
Заметьте, что точки среди специальных символов нет, и имена вроде
this.is.a.text.file.containing.the.famous.string.hello.world допустимы и широко
распространены. Часто последняя отделенная точкой часть имени используется
подобно «расширению имени» в Windows, обозначая файл определенного типа,
но это обозначение несет смысл только для человека. Так, человеку имя файла
ivan‗home‗tar.gz подсказывает, что это домашний каталог пользователя ivan,
упакованный архиватором tar и сжатый компрессором gzip.
Если имя файла начинается с точки, то этот файл считается скрытым:
некоторые команды его «не видят». Например, введя в своем домашнем каталоге
команду просмотра содержимого каталога ls с ключом -а, означающим
«показывать скрытые файлы», вы увидите больше файлов, чем введя ту же
команду без ключей.
Linux различает регистр символов в именах файлов: так, в одном каталоге
могут находиться два разных файла README и Readme.
В каждом каталоге существуют два особых «подкаталога» с именами «две
точки» и «точка». Первый из них служит указанием на однозначно
определенный родительский каталог, а второй — на сам данный каталог. Для
корневого каталога, у которого нет родителя, оба эти «подкаталога» указывают
на корневой каталог. С помощью этих имен образуются относительные имена
файлов.
Жесткая ссылка является просто другим именем для исходного файла.
После создания такой ссылки ее невозможно отличить от исходного имени
файла. «Настоящего» имени у файла нет, точнее, все такие имена будут
37
настоящими. Команда ls показывает количество именно таких жестких ссылок.
Удаление файла по любому из его имен уменьшает на единицу количество
ссылок, и окончательно файл будет удален только тогда, когда это количество
станет равным нулю. Поэтому удобно использовать жесткие ссылки для того,
чтобы предотвратить случайное удаление важного файла.
Создадим жесткую ссылку на файл README и посмотрим, что
изменилось в его свойствах:
$ln /home/ivanov/README /home/ivanov/readme‗too
$ls -1 /home/ivanov/README
-rwxr-xr-- 2 ivanov users 0 Feb 14 19:08 /home/ivanov/README
Жесткую ссылку можно создавать в любом каталоге, но обязательно на том
же физическом носителе (то есть в той же файловой системе), что и исходный
файл. Другой тип ссылок представляют собой символические ссылки. По
назначению они аналогичны ярлыкам в ОС Windows: указывают на файл,
расположенный где угодно (например, на съемном носителе), и после удаления
такого файла или размонтирования съемного носителя становятся бесполезны.
Символическая ссылка создается той же командой ln с ключом -s:
$ln -s /home/ivanov/README /home/ivanov/do.not.readme
$ls -1 /home/ivanov/do.not.readme lrwxrwxrwx 1 ivanov users 16 Feb 14 19:17
/home/ivanov/do.not.
readme -> /home/ivanov/README
В поле имени файла после стрелки указано его настоящее имя. Права
доступа у всех символических ссылок одинаковы и не значат ничего:
возможность доступа к файлу определяется правами исходного файла. Заметьте,
что в отличие от файла-оригинала файл-ссылка имеет ненулевую длину: в нем
хранится абсолютное имя исходного файла. Попытайтесь вывести файл-ссылку
на экран с помощью команды cat, и вы увидите содержание исходного, пустого,
файла:
$ cat /home/ivanov/do.not.readme
$
Значение самой ссылки, то есть имя файла, на который она ссылается,
можно узнать с помощью команды readlink.

Права доступа к файлам и каталогам


Поскольку Linux - система многопользовательская, вопрос об организации
разграничения доступа к файлам и каталогам является одним из существенных
вопросов, которые должна решать операционная система.
В основе механизмов разграничения доступа лежат имена пользователей и
имена групп пользователей. В Linux каждый пользователь имеет уникальное
имя, под которым он входит в систему. Кроме того, в системе создается
некоторое число групп пользователей, причем каждый пользователь может быть
включен в одну или несколько групп. Создает и удаляет группы
суперпользователь, он же может изменять состав участников той или иной
группы. Члены разных групп могут иметь разные права по доступу к файлам,

38
например, группа администраторов может иметь больше прав, чем группа
программистов.
В индексном дескрипторе каждого файла записаны имя так называемого
владельца файла и группы, которая имеет права на этот файл. Первоначально,
при создании файла его владельцем объявляется тот пользователь, от чьего
имени запущен процесс, создающий файл. Группа тоже назначается при
создании файла - по идентификатору группы процесса, создающего файл.
Владельца и группу файла можно поменять в ходе дальнейшей работы с
помощью команд chown и chgrp.
Теперь давайте еще раз выполним команду ls -l. Но зададим ей в качестве
дополнительного параметра имя конкретного файла, например, файла,
задающего саму команду ls:
[user]$ ls -l /bin/ls
-rwxr-xr-x 1 root root 49940 Sep 12 1999 /bin/ls
Вы видите, что в данном случае владельцем файла является пользователь
root и группа root. Обратите внимание на первое поле, определяющее тип файла
и права доступа к файлу. Это поле в приведенном примере представлено
цепочкой символов -rwxr-xr-x. Эти символы можно условно разделить на 4
группы.
Первая группа, состоящая из единственного символа, определяет тип
файла. Этот символ в соответствии с возможными типами файлов,
рассмотренными в предыдущем разделе, может принимать такие значения:
 - = - обычный файл;
 d = - каталог;
 b = - файл блочного устройства;
 c = - файл символьного устройства;
 s = - доменное гнездо (socket);
 p = - именованный канал (pipe);
 l = - символическая ссылка (link).
Далее следуют три группы по три символа, которые и определяют права
доступа к файлу соответственно для владельца файла, для группы пользователей,
которая сопоставлена данному файлу, и для всех остальных пользователей
системы. В нашем примере права доступа для владельца определены как rwx,
что означает, что владелец (root) имеет право читать файл (r), производить
запись в этот файл (w), и запускать файл на выполнение (x). Замена любого из
этих символов прочерком будет означать, что пользователь лишается
соответствующего права. В том же примере мы видим, что все остальные
пользователи (включая и тех, которые вошли в группу root) лишены права записи
в этот файл, т. е. не могут файл редактировать и вообще как-то изменять.
Если выполнить ту же команду ls -l, но в качестве последнего аргумента ей
указать имя каталога, мы увидим, что для каталогов тоже определены права
доступа, причем они задаются теми же самыми символами rwx. Например,
выполнив команду ls -l /, мы увидим, что каталогу bin соответствует строка:
drwxr-xr-x 2 root root 2048 Jun 21 21:11 bin

39
Для изменения прав доступа к файлу используется команда chmod. Ее
можно использовать в двух вариантах. В первом варианте вы должны явно
указать, кому какое право даете или кого этого права лишаете:
[user]$ chmod wXp имя-файла
где вместо символа w подставляется
 либо символ u (т. е. пользователь, который является владельцем);
 либо g (группа);
 либо o (все пользователи, не входящие в группу, которой принадлежит
данный файл);
 либо a (все пользователи системы, т. е. и владелец, и группа, и все
остальные).
Вместо X ставится:
 либо + (предоставляем право);
 либо - (лишаем соответствующего права);
 либо = (установить указанные права вместо имеющихся).
Вместо p - символ, обозначающий соответствующее право:
 r (чтение);
 w (запись);
 x (выполнение).
Вот несколько примеров использования команды chmod:
[user]$ chmod a+x file_name
предоставляет всем пользователям системы право на выполнение данного файла.
[user]$ chmod go-rw file_name
удаляет право на чтение и запись для всех, кроме владельца файла.
[user]$ chmod ugo+rwx file_name
дает всем права на чтение, запись и выполнение.
Если опустить указание на то, кому предоставляется данное право, то
подразумевается, что речь идет вообще обо всех пользователях, т. е. вместо
[user]$ chmod a+x file_name
можно записать просто
[user]$ chmod +x file_name
Второй вариант задания команды chmod (он используется чаще) основан на
цифровом представлении прав. Для этого мы кодируем символ r цифрой 4,
символ w - цифрой 2, а символ x - цифрой 1. Для того, чтобы предоставить
пользователям какой-то набор прав, надо сложить соответствующие цифры.
Получив, таким образом, нужные цифровые значения для владельца файла, для
группы файла и для всех остальных пользователей, задаем эти три цифры в
качестве аргумента команды chmod (ставим эти цифры после имени команды
перед вторым аргументом, который задает имя файла). Например, если надо дать
все права владельцу (4+2+1=7), право на чтение и запись - группе (4+2=6), и не
давать никаких прав остальным, то следует дать такую команду:
[user]$ chmod 760 file_name

40
Цифры после имени команды в этой форме ее представления есть не что
иное, как восьмеричная запись тех самых 9 бит, которые задают права для
владельца файла, группы файла и для всех пользователей.
Выполнять смену прав доступа к файлу с помощью команды chmod может
только сам владелец файла или суперпользователь. Для того, чтобы иметь
возможность изменить права группы, владелец должен дополнительно быть
членом той группы, которой он хочет дать права на данный файл.
Команды для работы с файлами и каталогами
В предыдущих разделах и работах уже упоминали некоторые команды для
работы с файлами и каталогами: pwd (имя текущего каталога), cd, ls, ln, chmod.
Команды chown и chgrp
Эти команды служат для смены владельца файла и группы файла.
Выполнять смену владельца может только суперпользователь, смену группы
может выполнить сам владелец файла или суперпользователь. Для того, чтобы
иметь право сменить группу, владелец должен дополнительно быть членом той
группы, которой он хочет дать права на данный файл. Формат этих двух команд
аналогичен:
[root]# chown vasja имя-файла [root]# chgrp usersgrp имя-файла
Команда mkdir
Команда mkdir позволяет создать подкаталог в текущем каталоге. В
качестве аргумента этой команде надо дать имя создаваемого каталога. Во вновь
созданном каталоге автоматически создаются две записи: . (ссылка на этот самый
каталог) и .. (ссылка на родительский каталог). Чтобы создать подкаталог, вы
должны иметь в текущем каталоге право записи. Можно создать подкаталог не в
текущем, а в каком-то другом каталоге, но тогда необходимо указать путь к
создаваемому каталогу:
[user]$ mkdir /home/kos/book/glava5/part1
Команда mkdir может использоваться со следующими опциями:
 -m mode - задает режим доступа для нового каталога (например, -m 755);
 -p - создавать указанные промежуточные каталоги (если они не
существуют).
Команда touch
Создать пустой файл можно командой touch <имя_файла>. Вообще-то она
предназначена для того, чтобы для всех заинтересованных программ (например,
утилиты сборки проекта make) файл выглядел новее, чем на самом деле: она
меняет время последнего изменения файла на текущее время. Но если файла с
таким именем не существует, то она его создаст.
Команда cat
Команда cat часто используется для создания файлов (хотя можно
воспользоваться и командой touch). По команде cat на стандартный вывод (т. е.
на экран) выводится содержимое указанного файла (или нескольких файлов,
если их имена последовательно задать в качестве аргументов команды). Если
вывод команды cat перенаправить в файл, то можно получить копию какого-то
файла:
[user]$ cat file1 > file2
41
Собственно, первоначальное предназначение команды cat как раз и
предполагало перенаправление вывода, так как эта команда создана для
конкатенации, т. е. объединения нескольких файлов в один:
[user]$ cat file1 file2 ... fileN > new-file
Именно возможности перенаправления ввода и вывода этой команды и
используются для создания новых файлов. Для этого на вход команды cat
направляют данные со стандартного ввода (т. е. с клавиатуры), а вывод команды
- в новый файл:
[user]$ cat > newfile
После того, как вы напечатаете все, что хотите, нажмите комбинацию
клавиш <Ctrl>+<D> или <Ctrl>+<C>, и все, что вы ввели, будет записано в
newfile. Конечно, таким образом создаются, в основном, короткие текстовые
файлы.
Команда mv
Если вам необходимо не скопировать, а переместить файл из одного
каталога в другой, вы можете воспользоваться командой mv. Синтаксис этой
команды аналогичен синтаксису команды cp. Более того, она сначала копирует
файл (или каталог), а только потом удаляет исходный файл (каталог).
Команда mv может использоваться не только для перемещения, но и для
переименования файлов и каталогов (т. е. перемещения их внутри одного
каталога). Для этого надо просто задать в качестве аргументов старое и новое
имя файла:
[user]$ mv oldname newname
Команды rm и rmdir
Для удаления ненужных файлов и каталогов в Linux служат команды rm
(удаляет файлы) и rmdir (удаляет пустой каталог).
Если вы попытаетесь использовать команду rm (без всяких опций) для
удаления каталога, то будет выдано сообщение, что это каталог, и удаления не
произойдет. Для удаления каталога надо удалить в нем все файлы, после чего
удалить сам каталог с помощью команды rmdir. Однако можно удалить и
непустой каталог со всеми входящими в него подкаталогами и файлами, если
использовать команду rm с опцией -r.
Команды more и less
Для просмотра содержимого файлов (конечно, текстовых) используются
команды more и less (или текстовые редакторы).
Команда-фильтр more выводит содержимое файла на экран отдельными
страницами, размером как раз в целый экран. Для того, чтобы увидеть
следующую страницу, надо нажать на клавишу пробела.
Утилита less, разработанная в рамках проекта GNU, содержит все функции
и команды управления выводом, имеющиеся в программе more, и некоторые
дополнительные, например, позволяет использовать клавиши управления
курсором (<Стрелка вверх>, <Стрелка вниз>, <PgUp>, <PgDown>) для
перемещения по тексту.

42
Команды more и less позволяют производить поиск подстроки в
просматриваемом файле, причем команда less позволяет производить поиск как
в прямом, так и в обратном направлении.
Команда find и символы шаблонов для имен файлов
Еще одной часто используемой командой для работы с файлами в Linux
является команда поиска нужного файла find. Команда find может искать файлы
по имени, размеру, дате создания или модификации и некоторым другим
критериям. Общий синтаксис команды find имеет следующий вид:
find [список_каталогов] критерий_поиска
Параметр "список_каталогов" определяет, где искать нужный файл.
Началом "критерия_поиска", определяющего, что именно должна искать
программа find, считается первый аргумент, начинающийся на "-", "(", ")"', ","
или "!". Все аргументы, предшествующие "критерию_поиска", трактуются как
имена каталогов, в которых надо производить поиск. Если не указано ни одного
пути, поиск производится только в текущем каталоге и его подкаталогах.

Задание
 Запустить ОС Linux Ubuntu.
 Загрузиться пользователем root.
 Ознакомиться со структурой системных каталогов ОС Linux на
рабочем месте. Привести в отчете перечень каталогов с указанием их
назначения.
 Просмотреть содержимое каталога файлов физических устройств. В
отчете привести перечень файлов физических устройств на рабочем
месте с указанием назначения файлов.
 Перейти в директорий пользователя root. Просмотреть содержимое
каталога. Просмотреть содержимое файла vmlinuz. Просмотреть и
пояснить права доступа к файлу vmlinuz.
 Создать в директории пользователя user три файла 1.txt, 2.txt и 3.txt,
используя команды touch, cat. Просмотреть и пояснить права
доступа к файлам.
 Перейти в директории пользователя root. В отчете описать результат.
 Изменить права доступа на файл 1.txt в директории пользователя
user.
 Создать жесткую и символическую ссылки на файл 2.txt.
Просмотреть результаты.
 Создать каталог new в каталоге пользователя user.
 Скопировать файл 1.txt в каталог new.
 Переместить файл 2.txt в каталог new.
 Изменить владельца файла 3.txt и каталога new.
 Удалить файл 1.txt в каталоге new.
 Удалить каталог new.
 Найти, используя команду find, файл vga2iso (или другой файл по
заданию преподавателя).
 Заполнить отчет по лабораторной работе и сдать его преподавателю.
43
Лабораторная работа № 8. Знакомство с редактором Vim
Цель работы: Познакомиться с редактором Vim. Научиться им пользоваться.

Краткие теоретические сведения


Vim (Vi IMproved) — современный консольный текстовый редактор.
Работает под большинством ОС, в основном Unix-подобных (Linux, FreeBSD,
NetBSD, OpenBSD, Mac OS X), но поддерживаются также и Windows и даже
DOS. Редактор поддерживает плагины, благодаря которым его можно легко
превратить в довольно удобную среду разработки. Vim распространяется под
лицензией charityware, совместимой с GPL. Vim — изначально консольный
редактор (но существует GVim — графическая версия vim). Vim значительно
отличается от других текстовых редакторов своим интерфейсом. Более
подробную информацию можно найти на vim.org.

Режимы работы Vim


Vim имеет несколько режимов работы. Самый главный и часто
используемый — нормальный режим. В нем можно выполнять команды,
переходить в другие режимы и перемещаться по тексту. Из любого режима
можно переключится в нормальный, нажав Esc. После запуска vim или gvim вы
попадаете именно в нормальный режим.
Существует также режим вставки. Чтобы в него перейти, достаточно
нажать i или Insert в нормальном режиме. В этом режиме Vim ведет себя как
большинство текстовых редакторов, за исключением того, что в этом режиме
невозможно копирование.
Третий режим — визуальный режим. Для перехода в него нужно нажать v
в нормальном режиме. В этом режиме осуществляется выделение и копирование
текста (вставка осуществляется в нормальном режиме). Также возможно
выделение прямоугольного блока текста. Для этого в нормальном режиме нужно
нажать Ctrl+V.
Основные сущности Vim
Буфер — основная сущность Vim. В нем хранится текст, с ним
осуществляются все действия, связанные с редактированием текста. Буфера
бывают активные и неактивные. Активные буфера размещены в окнах,
неактивные никак не взаимодействуют с пользователем и вся информация в них
сохранена на диск. Некоторые буфера могут быть доступны только для чтения
(например, буфера, созданные плагинами).
Окно — область экрана, в которой осуществляются операции
редактирования активного буфера. Окна в Vim не перекрываются. В нескольких
окнах может редактироватся один и тот же буфер.
Вкладка — сущность, содержащая несколько окон. Вкладки Vim почти
аналогичны вкладкам в остальных редакторах.

Основные комманды Vim


Закрытие окон, выход из Vim:
44
:q — закрывает текущее окно. Если буфер, который был открыт в этом
окне, не открыт ни в одном другом окне, он удаляется. Если окно было
последним, осуществляется выход из Vim;
:qa — закрывает все окна и осуществляет выход из Vim;
Открытие файлов:
:e имя_файла — открывает файл в текущем окне;
:tabe имя_файла — открывает файл в новой вкладке;
:sp имя_файла — разделяет текущее окно по горизонтали и открывает в
одном из получившихся окон файл;
:vsp имя_файла — разделяет текущее окно по вертикали и открывает в
одном из получившихся окон файл;
Сохранение файлов:
:w имя_файла — эквивалентно «Сохранить как…» в традиционных
редакторах
:w — эквивалентно «Сохранить» в традиционных редакторах
:wq — эквивалентно :w :q
Vim экранный текстовый редактор. Большая часть экрана используется
для отображения редактируемого файла. Последняя строка экрана используется
для ввода команд и вывода различной информации. Редактор может находиться
либо в режиме редактирования, либо в режиме ввода команд. Для того, чтобы
совершать какие-либо действия Вы должны находиться в нужном режиме.
После запуска редактор находится в командном режиме. Для перехода из
режима редактирования в командный режим используется клавиша Esc.
Для того, чтобы начать редактирование файла используется команда vi
имяфайла.
Основные возможности в командном режиме:
 Перемещение по файлу:
h, left-arrow - переместить курсор влево на один символ
j, down-arrow - переместить курсор вниз на одну строку
k, up-arrow - переместить курсор вверх на одну строку
l, right-arrow - переместить курсор вправо на один символ
/text<cr> - найти строку text в файле и поместить курсор на ее первый
символ. После этого можно использовать клавиши n и Shift-n для перемещения
к следующему или предыдущему включению строки.

 Переход в режим редактирования:


i - начать ввод текста перед курсором
a - начать ввод текста после курсора
o - вставить строку после текущей и начать ввод текста в ней
O - вставить строку перед текущей и начать ввод текста в ней

 Копирование, вставка и удаление:


УУ У$ yw - скопировать строку, строку от позиции курсора до конца,
слово.

45
dd d$ dw - удалить строку, строку от позиции курсора до конца, слово.
x - удалить символ
p - вставить содержимое буфера после курсора
P - вставить содержимое буфера перед курсором
u - Отменить последнюю операцию

 Сохранение и чтение файлов, выход из редактора:


:w<cr> сохранить файл
:w filename<cr> - сохранить файл под указанным именем
:r filename<cr> - вставить содержимое указанного файла
:q<cr> выйти из редактора
:wq<cr> сохранить файл и выйти из редактора
:q!<cr> выйти без сохранения файла

Задание
 При помощи редактора vim создайте следующие файлы:
1
Я живу в маленьком доме на дюнах. Все Рижское взморье в снегу. Он все
время слетает с высоких сосен длинными прядями и рассыпается в пыль.
Слетает он от ветра и оттого, что по соснам прыгают белки. Когда очень
тихо, то слышно, как они шелушат сосновые шишки.
Дом стоит у самого моря. Чтобы увидеть море, нужно выйти за калитку и
немного пройти по протоптанной в снегу тропинке мимо заколоченной дачи.
На окнах этой дачи еще с лета остались занавески. Они шевелятся от
слабого ветра.
2
Море не замерзло. Снег лежит до самой кромки воды. На нем видны следы
зайцев.
Когда на море подымается волна, то слышен не шум прибоя, а хрустенье
льда и шорох оседающего снега,
Балтика зимой пустынна и угрюма.
Латыши называют ее «Янтарным морем» («Дзинтара юра»). Может быть,
не только потому, что Балтика выбрасывает много янтаря, но еще и потому, что
ее вода чуть заметно отливает янтарной желтизной.
 Сохраните созданные файлы, дав им свое имя и фамилию.
 Представьте выполненную работу преподавателю.
 Заполнить отчет по лабораторной работе и сдать его
преподавателю.

46
Литература
1. Олифер В.Г., Олифер Н.А. Сетевые операционные системы - СПб: Питер,
2008. -669 с.
2. Таненбаум, Э. Современные операционные системы. 2-е изд. -СПб.: Питер,
2007. -1038 с.
3. Основы операционных систем. Курс лекций. Учебное пособие / В.Е.
Карпов, К.А. Коньков / Под редакцией В.П. Иванникова. - М.:ИНТУИТ.РУ
"ИнтернетУниверситет Информационных технологий", 2008. -632 с.
4. Ганс М. От Windows к Linux. – М.: ООО «Бином-Пресс», 2006. – 336 с.
5. Курячий Г.В., Маслинский К.А. Операционная система Linux
[Электронный ресурс]. - Режим доступа: http://www.INTUIT.ru.
6. Колисниченко Д.Н., Питер В.Аллен. Linux. Полное руководство, 2-е изд. -
СПб: Наука и техника, 2007. - 784 с.
7. http://www.vim.org.
8. Уильям Стивене Linux: взаимодействие процессов. Серия Мастер-класс
П..Питер 2002.
9. Джерри Пик, Тим О'Райли, Майк Лукидис. Unix инструментальные
средства. Киев BHV.1999.
10.Колисниченко Д.Н. – Linux сервер своими руками. Питер, 2002 г.

47
Приложение
Форма отчета по лабораторной работе.
Все формы отчетов находятся у преподавателя.

48

Вам также может понравиться