И.Раззакова
Операционные системы
Бишкек - 2020
РАССМОТРЕНО ОДОБРЕНО
На заседании кафедры Методическим советом ФИТ
«Программное обеспечение
компьютерных систем»
Прот.№ от . Прот.№ от
УДК 004.451
Содержание
Введение ........................................................................................................................................ 3
2
Лабораторная работа № 1. Работа с файлами и дисками в ОС Windows ................................ 4
Лабораторная работа № 2. Работа с протоколом TCP/IP в ОС Windows .............................. 14
Лабораторная работа № 3. Организация пакетных файлов и сценариев в ОС Windows ..... 19
Лабораторная работа № 4. Системный реестр ОС Windows .................................................. 23
Лабораторная работа № 5. Знакомство с ОС Linux ................................................................. 27
Лабораторная работа №6. Терминал и командная оболочка ОС Linux ................................. 31
Лабораторная работа № 7. Работа с файловой системой ОС Linux ....................................... 34
Лабораторная работа № 8. Знакомство с редактором Vim ..................................................... 40
Литература ................................................................................................................................... 43
Приложение ................................................................................................................................. 43
Введение
Методические указания предназначены для студентов направления 710400
«Программная инженерия», изучающих дисциплину общепрофессионального цикла
«Операционные системы».
Помимо изучения лекционных материалов учащиеся должны приобретать опыт по
применению полученных знаний на практике. С этой целью предлагаемое методическое
3
указание ставит своей задачей расширить теоретическую базу в предметной области и привить
студентам практические навыки по работе со специальными возможностями изучаемых
операционных систем (ОС), в частности, применительно к сфере ее сетевого
администрирования и конфигурирования.
Лабораторный практикум состоит из двух частей и представляет собой
ряд последовательно выполняемых лабораторных работ, тематически разделенных на
несколько общих направлений.
Каждая лабораторная работа в достаточном объеме содержит теоретические сведения,
необходимые для ее выполнения, ряд практических заданий – для закрепления изученного
материала. Выполнение последующих заданий лабораторных работ опирается на знания и
навыки, полученные при изучении предыдущих. Поэтому важно соблюдать некоторую
преемственность в их выполнении, чтобы обеспечить постепенное и логическое усвоение
изучаемого материала. При соблюдении этого условия полученные знания обеспечат
учащихся надежной практической базой для всестороннего развития в выбранной сфере.
4
Командная оболочка — это отдельный программный продукт, который обеспечивает
прямую связь между пользователем и операционной системой (ОС). Текстовый
пользовательский интерфейс в виде командной строки предоставляет среду, в которой
выполняются команды, программы и служебные утилиты с текстовым интерфейсом. В
командной оболочке и результат выполнения утилит и программ отображается на экране в
виде, сходном с командным интерпретатором Command.com MS-DOS. Командная оболочка
ОС Windows использует интерпретатор команд Cmd.exe, который осуществляет перевод
введенной команды в понятный ОС вид, загружает приложения (утилиты) и управляет
потоками данных между ними.
Имеется возможность использовать командную оболочку для создания и
редактирования пакетных файлов (также называемых сценариями), что позволяет
автоматизировать выполнение обычных задач. Например, можно использовать сценарии для
автоматизации управления учетными записями пользователей и ежедневной архивацией в
нерабочие часы. Также можно использовать сервер сценариев ОС Windows, Cscript.exe, для
выполнения сложных сценариев посредством командной оболочки.
► ► ;
5
Нажав кнопку в левом верхнем углу окна, можно изменить настройки шрифта, а также
копировать и вставлять текст через буфер обмена.
Чтобы закрыть командное окно, нажмите кнопку [x] в правом верхнем углу окна либо
введите команду exit с клавиатуры.
Задание
Справочная система
Задание
6
История ввода команд
Задание
Команда DIR
7
Рис.3. Содержимое каталога
Задание
Команда CD
8
➢ cd \ – переход в корневой каталог текущего диска;
➢ d: – переход на диск D:.
В приглашении ОС каждый раз после выполнения команды выводится имя текущего
диска и каталога.
Задание
Команда TREE
Команда tree (англ. Tree – Дерево) выводит на экран схематичное изображение дерева
каталогов. Если не указаны диск или путь, на экран выводится часть дерева, начиная с
текущего каталога.
Чтобы прервать вывод на экран, нажмите [Ctrl + C]. Примеры:
➢ tree \ – вывод дерева каталогов всего диска C:;
➢ tree c:\ /f | more – постраничный вывод дерева диска C:.
Задание
Команда SET
9
➢ OS – операционная система;
➢ PATH – путь поиска исполняемых файлов;
➢ PROMPT – формат приглашения командной строки;
➢ USERNAME – имя пользователя.
Задание
Команда PATH
10
Команда path (англ. Path – Путь) устанавливает пути поиска исполняемых файлов.
Если при запуске приложения полный путь к файлу не указан, ОС пытается найти
исполняемый файл в текущем каталоге, а затем просматривает пути к каталогам из заранее
заданного списка path.
Список путей для поиска хранится в переменной среды окружения PATH. Для
просмотра списка путей используется команда path без параметров.
Примеры:
➢ path
➢ path c:\usr; d:\bin – задание двух путей для поиска;
➢ path %path%; d:\s – добавляет каталог d:\s к пути поиска.
Изменение set-параметров из командной строки действует только для текущего
командного окна. После изменения путей для поиска ОС не сможет выполнять некоторые
команды. Для восстановления работоспособности закройте текущее командное окно и
откройте новое.
Задание
Создание файлов
Задание
11
Вывод на экран
Задание
Команда 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:\
Задание
Перенаправление ввода-вывода
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 – Выход).
Задание
Для создания каталогов используется команда mkdir (англ. Make Directory – Создать
каталог).
Для удаления каталогов используется команда rmdir (англ. Remove Directory – Удалить
каталог).
Для удаления фалов используется команда del (англ. Delete – Удалить).
Задание
13
Управление процессами
Для вывода списка процессов используется команда tasklist (англ. Task List – Список
задач).
Для остановки выполнения процесса используется команда taskkill (англ. Task KIll –
«Убить» задачу).
Для остановки процесса требуется указать идентификатор процесса PID (англ. Process
IDentifier – Идентификатор процесса). PID – это «уникальное» целое число, назначенное
каждому процессу. У всех процессов эти номера разные.
Задание
Цель работы: Изучить способы применения основных команд и утилит ОС Windows при
работе со стеком протокола TCP/IP.
14
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, Tracert, Netstat, G
etmac, а также целого ряда команд с приставкой 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
Команда Ipconfig
Задание
15
Команда Arp
Команда Arp используется для просмотра, добавления или удаления записей в одной
или нескольких таблицах трансляции IP-адресов в физические MAC-адреса сетевых
адаптеров, например Ethernet. Эти записи используются при работе протокола ARP (Address
Resolution Protocol). Для каждого, установленного в компьютере, сетевого адаптера Ethernet,
используется отдельная таблица трансляции IP-адресов.
Задание
Команда Route
16
данный параметр пропущен, используется маска подсети 255.255.255.255. Конечная точка не
может быть более точной, чем соответствующая маска подсети. Другими словами, значение
разряда 1 в адресе конечной точки невозможно, если значение соответствующего разряда в
маске подсети равно 0.
Шлюз - указывает IP-адрес пересылки или следующего перехода, по которому
доступен набор адресов, определенный конечной точкой и маской подсети. Для локально
подключенных маршрутов подсети, адрес шлюза - это IP-адрес, назначенный интерфейсу,
который подключен к подсети. Для удаленных маршрутов, которые доступны через один или
несколько маршрутизаторов, адресом шлюза является непосредственно доступный IP-адрес
ближайшего маршрутизатора.
Metric метрика - задает целочисленную метрику стоимости маршрута (в пределах от
1 до 9999) для маршрута, которая используется при выборе в таблице маршрутизации одного
из нескольких маршрутов, наиболее близко соответствующего адресу назначения
пересылаемого пакета. Выбирается маршрут с наименьшей метрикой. Метрика отражает
количество переходов, скорость прохождения пути, надежность пути, пропускную
способность пути и средства администрирования.
If интерфейс — указывает индекс интерфейса, через который доступна точка
назначения.
Задание
Задание
17
✓ Проверьте наличие соединения с узлом сети, имеющего IP-адрес собственного
узла пользователя;
✓ Проверьте наличие соединения с узлом сети, имеющего IP-адрес основного
шлюза (по умолчанию);
✓ Проверьте наличие соединения с узлом сети, имеющего IP-адрес шлюза
(маршрутизатора) внешнего сетевого интерфейса IP-адрес определенного узла
локальной сети;
✓ Проверьте наличие соединения с узлом сети, имеющего имя удаленного узла
внешней сети.
Утилита Tracert
Задание
Команда Pathping
18
Задание
Команда Netstat
Задание
Лабораторная работа № 3.
19
Пакетный файл - это неформатированный текстовый файл ASCII, содержащий одну
или несколько команд ОС. Имена пакетных файлов имеют расширения . cmd или .bat. ОС
при работе с пакетным файлом последовательно обрабатывает его команды после ввода
его имени в строке командной оболочки или запуска из другой программы.
Другой разновидностью пакетного файла является сценарий, представляющий
собой программу, состоящую из набора инструкций для работы приложения или
служебной утилиты.
Пакетные файлы и сценарии часто называют командными файлами, содержащими
любые команды. Некоторые команды, такие как For, Goto и If, позволяют выполнять
обработку условий в пакетных файлах. В частности, If позволяет запускать команды в
зависимости от выполнения заданного условия. Другие команды позволяют управлять
вводом и выводом, а также запускать другие пакетные файлы. Совместно с командами,
изученными в предыдущих лабораторных работах, вышеуказанные команды позволяют
создавать пакетные файлы практически для любых целей управления работ ой и
администрирования ОС Windows.
ECHO
При запуске командных файлов в командной строке можно указывать произвольное число
параметров, которые затем можно использовать внутри пакетного файла.
@echo off
subst x: c:\temp
dir >x:\all.txt
type x:\all.txt
20
@echo off
for %%i in (*.txt) do type type *.txt
@echo off
dir *.?x* > c:\temp\withx.txt
@echo off
dir *.*x* > x.txt
@echo off
dir /O:D c: | more
@echo off
break on
SET A=
:start
rename %A%r*.* %A%p*.*
SET A=%A%?
goto start
@echo off
break on
SET A=
:loop
SET A=%A%aa
echo %A%
goto loop
Примечание: чтобы видеть результат в окне нужно добавлять в код команду pause
Задание 1
21
✓ Извлечение подстроки с конца строки
✓ Извлечение подстроки с начала строки
✓ Извлечение подстроки с середины строки
✓ Удаление первого и последнего символа в строке
✓ Удаление подстроки в строке
✓ Удаление всех пробелов в строке
✓ Замена подстроки в строке
✓ Объединение строк
✓ Конвертировать большие буквы в маленькие.
✓ Заполнить отчет по лабораторной работе и сдать его преподавателю.
Задание 2
В таблице №2 приведены индивидуальные дополнительные задания по организации
пакетных файлов в ОС Windows.
Вар.
Описание пакетного файла
№
1. Пакетный файл, предназначенный для резервного копирования файлов с
определенным расширением из разных каталогов с возможностью создания
резервного каталога, в случае его отсутствия в системе. Расширение файлов для
копирования задается в качестве пакетного параметра. Резервное копирование
осуществляется каждый четверг в 22:00. В течение 3 минут после копирования
выводится сообщение «Резервное копирование в каталог <путь> завершено».
2. Пакетный файл, предназначенный для организации процесса поиска и отображения
текстового файла. Поиск осуществляется по всем локальным дискам. Имя текстового
файла задается пакетным параметром. После того как необходимый файл найден, в
автоматическом режиме осуществляется его отображение в текстовом процессоре
«Блокнот».
3. Пакетный файл, предназначенный для копирования каталога с его содержимым в
заданное место назначения. Копируемый каталог и место назначения задаются в
качестве пакетных параметров. После копирования каталога файл-отчет, содержащий
информацию о количестве скопированных файлов и их месте расположения, в
автоматическом режиме загружается в текстовый процессор «Блокнот».
4. Пакетный файл, предназначенный для перемещения каталога с его содержимым в
заданное место назначения с запросом на удаление, перемещаемого каталога.
Перемещаемый каталог и место назначения задаются в качестве пакетных
параметров. После перемещения каталога в отдельный файл выводится отчет,
содержащий два дерева каталогов тех мест, откуда и куда было осуществлено
перемещение. В конце выводится сообщение вида «Отчет о перемещении находится
в каталоге <путь>».
5. Пакетный файл, предназначенный для копирования каталога и включенных в него
файлов, расположенных в месте, заданном определенным путем. Полный путь
расположения и маска копируемых файлов задаются в качестве пакетных параметров.
Если в результирующем каталоге уже находятся копирующиеся файлы, то повторное
копирование должно сопровождаться выдачей предупреждающего сообщения о
существовании файлов. В конце выводится сообщение вида «Копирование файлов из
каталога <путь> в каталог <путь> завершено».
6. Пакетный файл, предназначенный для создания отчета, содержащего «Software part»
(программная часть), включающую информацию о содержимом корневых каталогов
22
всех логических дисков в системе и «Hardware part» (аппаратная часть), включающую
сведения о конфигурации компьютера и ОС, сведения о безопасности, параметры
оборудования, такие как ОЗУ, дисковое пространство, сетевые карты и другие.
Файлотчет копируется в некоторый сетевой каталог, задаваемый пакетным
параметром, под именем, отражающим имя компьютера, с которого получен этот
отчет. В конце выводится сообщение вида «Отчет находится в сетевом каталоге
<путь>».
7. Пакетный файл, предназначенный для углубленной проверки жесткого диска с
созданием файла отчета, путь к которому задается в качестве пакетного параметра.
Проверка жесткого диска осуществляется ежедневно в 21:00. В течение 20 секунд по
окончании проверки диска выводится сообщение «Проверка диска завершена. Файл-
отчет находится в каталоге <путь >» и далее осуществляться автоматическая
перезагрузка системы.
8. Пакетный файл, предназначенный для резервного копирования файлов системной
папки Windows с возможностью создания резервного каталога, в случае его
отсутствия в системе. Путь к резервному каталогу задается в качестве пакетного
параметра. Резервное копирование осуществляется ежедневно в 23:00. В течение 2
минут после копирования выводится «Резервное копирование в каталог <путь>
завершено» и далее происходит автоматическое выключение системы с
принудительным закрытием всех работающих приложений.
9. Пакетный файл, предназначенный для архивирования и шифрования указанного
каталога с его содержимым. Архивируется каталог-источник с помощью
существующего в системе архиватора (например, WinRar), вызов которого
осуществляется непосредственно из пакетного файла. Архив в дальнейшем
шифруется и сохраняется в определенном месте на жестком диске. Пути к каталогу-
источнику и месту назначения задаются в качестве пакетных параметров. В конце
выводится сообщение вида «Шифрованный архив сохранен в каталог <путь>».
10. Пакетный файл, предназначенный для удаления файлов по маске, расположенных в
месте, заданном определенным путем. Полный путь расположения и маска удаляемых
файлов задаются в качестве пакетных параметров. В процессе необходимо
осуществлять запрос на подтверждение удаления. В конце выводится сообщение вида
«Стерто файлов: <количество> из каталога <путь>».
Лабораторная работа № 4.
23
Реестр ОС Windows – это большая база данных, где хранится информация о
конфигурации системы. Этой информацией пользуются как ОС Windows, так и другие
программы. В некоторых случаях восстановить работоспособность системы после сбоя
можно, загрузив работоспособную версию реестра, но для этого необходимо иметь копию
реестра.
Реестр очень обширен, и дать однозначное его определение невозможно. Кратко и
достаточно точно можно сказать, что реестр - компонент операционной системы
компьютера, который в иерархической базе данных хранит важнейшие установки и
информацию о приложениях, системных операциях, пользовательской и аппаратной
конфигурациях.
В целом реестр очень напоминает файловую систему с той разницей, что вместо файлов
на нижнем уровне содержатся параметры.
Информация, хранящаяся в иерархической базе данных реестра (рис. 5), собрана в
разделы (key), которые содержат один или более подразделов (subkey). Каждый подраздел
содержит параметры (value):
24
Рис.6. Редактор реестра
Изменяя тот или иной параметр, можно управлять работой Windows, защитить
компьютер от нежелательных пользователей и просто настраивать внешний вид Windows.
В частности, в разделе
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
сдержится список параметров. Имена этих параметров не играют роли для системы, а
значения представляют собой имена исполняемых файлов, которые следует запускать всякий
раз при запуске системы. Добавив туда свой параметр, можно заставить систему запускать
свою программу.
Редактирование реестра
Файлы реестра
Если параметр имеет тип dword, то соответствующая строка должна иметь вид:
"параметр"=dword:00000000 (где вместо 00000000 надо задать нужное значение).
А если тип параметра двоичный, то формат строки:
"параметр"=hex:00,00,00,00 (где через запятую указываются значения байтов в
шестнадцатеричном виде).
25
Следует обратить внимание, что в конце файла (*.reg) обязательно должна быть пустая
строка.
Кроме того, следует учитывать, что в значении строкового параметра перед символами
"кавычки" и "обратный слеш" (\) должен добавляться символ "обратный слеш". А параметр
"(По умолчанию)" обозначается символом "@" (без кавычек).
Пример задания параметра
Чтобы присвоить параметру "(По умолчанию)" значение
"C:\Program Files\Accessories\WORDPAD.EXE"
надо записать: @="\"C:\\Program Files\\Accessories\\WORDPAD.EXE\"
Созданный reg-файл следует запустить на выполнение (с файлами типа *.reg по
умолчанию ассоциирован редактор реестра REGEDIT.EXE).
Пример файла, содержащего параметр для автоматического запуска драйвера
мыши
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\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-й версии
по-прежнему используются и поддерживаются.
Задание
26
✓ Протестируйте изменения на локальном компьютере. Если они приводят к
сбою, дважды щелкните файл с резервной копией исходных данных реестра,
чтобы вернуть реестр в первоначальное состояние.
✓ Заполнить отчет по лабораторной работе и сдать его преподавателю.
Внимание!!!
Необходимо быть предельно осторожным при изменении неизвестных
значений. Каждый раз, погружаясь в настройки, создавайте контрольные
точки для восстановления, а также производите резервное копирование
важных файлов. Это защитит Вас от случайных сбоев и потери
информации.
27
передовых технологий. 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.
Выход из системы
28
Команда помещает в стандартный вывод свои аргументы, разделенные пробелами и
завершаемые символом перевода строки. При наличии флага -n символ перевода строки
исключается.
who [am i] - получение информации о работающих пользователях.
В квадратных скобках указываются аргументы команды, которые можно опустить. Ответ
представляется в виде таблицы, которая содержит следующую информацию:
- идентификатор пользователя;
- идентификатор терминала;
- дата подключения;
- время подключения.
date - вывод на экран текущей даты и текущего времени.
cal [[месяц]год] - календарь; если календарь не помещается на одном экране, то
используется команда cal год | more и клавишей пробела производится постраничный вывод
информации.
man <название команды> - вызов электронного справочника об указанной команде.
Выход из справочника - нажатие клавиши Q.
Команда man man сообщает информацию о том, как пользоваться справочником.
tty - сообщение имени специального файла стандартного вывода, соответствующего
терминалу пользователя.
cat <имя файла> - вывод содержимого файла на экран. Команда cat > text.1 создает
новый файл с именем text.1, который можно заполнить символьными строками, вводя их с
клавиатуры. Нажатие клавиши 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 - очистка экрана.
Группирование команд
29
выполняются друг за другом;
&& - эта конструкция между командами означает, что последующая команда
выполняется только при нормальном завершении предыдущей команды ( код возврата 0 );
|| - последующая команда выполняется только, если не выполнилась предыдущая
команда ( код возврата 1 );
() - группирование команд в скобки;
{ } - группирование команд с объединенным выводом;
[] - указание диапазона или явное перечисление ( без запятых);
>> - добавление содержимого файла в конец другого файла.
Примеры.
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 без параметров выводит информацию только об активных процессах,
запущенных с данного терминала, в том числе и фоновых. На экран выводится подробная
информация обо всех активных процессах в следующей форме:
30
пробел;
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] - сортировка входных файлов и вывод результата на экран.
Задание
31
Цель работы: Приобрести опыт работы с командной строкой ОС Linux, изучить основные
команды (рабочая станция, рабочий директорий, пользователи, дата, календарь, список
процессов, завершение работы)
32
/mnt Временные точки монтирования жестких дисков. Использовать этот
каталог необязательно: подмонтировать файловую систему можно к
любому другому каталогу
/opt Дополнительные пакеты программ. Если программа, установленная сюда,
больше не нужна, то достаточно удалить ее каталог без обычной
процедуры деинсталляции
/proc Виртуальная файловая система, дающая доступ к информации ядра
(например, выведите на экран файл /proc/cpuinfo). Другие файлы в этом
каталоге в каждый момент времени содержат информацию о
выполняющихся в этот момент программах
/root Домашний каталог суперпользователя. Домашние каталоги всех остальных
могут находиться на отдельном разделе, но /root должен быть в корневой
файловой системе, чтобы администратор всегда мог войти в систему для
ремонтных работ
/tmp Временные файлы
/var Часто меняющиеся данные: системные журналы и протоколы приложений,
замки, почтовые ящики, очереди печати и т.п.
/usr Практически все остальное: программы, исходные коды, документация.
Сюда по умолчанию устанавливаются новые программы
Задание
33
Рис.7. Терминал Linux Ubuntu
Лабораторная работа № 7.
Работа с файловой системой ОС Linux
Цель работы: Приобрести опыт работы с файлами и каталогами в ОС Linux, настройки прав
на доступ к файлам и каталогам.
34
а физические файловые системы разного типа, находящиеся на разных разделах и даже на
удаленных машинах, представляются как ветви этого дерева.
Имена файлов и каталогов могут иметь длину до 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.
В каждом каталоге существуют два особых «подкаталога» с именами «две точки» и
«точка». Первый из них служит указанием на однозначно определенный родительский
каталог, а второй — на сам данный каталог. Для корневого каталога, у которого нет родителя,
оба эти «подкаталога» указывают на корневой каталог. С помощью этих имен образуются
относительные имена файлов.
Жесткая ссылка является просто другим именем для исходного файла. После создания
такой ссылки ее невозможно отличить от исходного имени файла. «Настоящего» имени у
файла нет, точнее, все такие имена будут настоящими. Команда 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, и вы увидите содержание
исходного, пустого, файла:
35
$ cat /home/ivanov/do.not.readme
$
Значение самой ссылки, то есть имя файла, на который она ссылается, можно узнать с
помощью команды readlink.
36
Если выполнить ту же команду ls -l, но в качестве последнего аргумента ей указать имя
каталога, мы увидим, что для каталогов тоже определены права доступа, причем они задаются
теми же самыми символами rwx. Например, выполнив команду ls -l /, мы увидим, что каталогу
bin соответствует строка: drwxr-xr-x 2 root root 2048 Jun 21 21:11 bin
Для изменения прав доступа к файлу используется команда 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
Цифры после имени команды в этой форме ее представления есть не что иное, как
восьмеричная запись тех самых 9 бит, которые задают права для владельца файла, группы
файла и для всех пользователей.
Выполнять смену прав доступа к файлу с помощью команды chmod может только сам
владелец файла или суперпользователь. Для того, чтобы иметь возможность изменить права
группы, владелец должен дополнительно быть членом той группы, которой он хочет дать
права на данный файл.
37
Команды для работы с файлами и каталогами
Эти команды служат для смены владельца файла и группы файла. Выполнять смену
владельца может только суперпользователь, смену группы может выполнить сам владелец
файла или суперпользователь. Для того, чтобы иметь право сменить группу, владелец должен
дополнительно быть членом той группы, которой он хочет дать права на данный файл. Формат
этих двух команд аналогичен:
[root]# chown vasja имя-файла [root]# chgrp usersgrp имя-файла
Команда mkdir
Команда touch
Команда cat
Команда cat часто используется для создания файлов (хотя можно воспользоваться и
командой touch). По команде cat на стандартный вывод (т. е. на экран) выводится содержимое
указанного файла (или нескольких файлов, если их имена последовательно задать в качестве
аргументов команды). Если вывод команды cat перенаправить в файл, то можно получить
копию какого-то файла:
[user]$ cat file1 > file2
Собственно, первоначальное предназначение команды cat как раз и предполагало
перенаправление вывода, так как эта команда создана для конкатенации, т. е. объединения
нескольких файлов в один:
[user]$ cat file1 file2 ... fileN > new-file
Именно возможности перенаправления ввода и вывода этой команды и используются
для создания новых файлов. Для этого на вход команды cat направляют данные со
стандартного ввода (т. е. с клавиатуры), а вывод команды - в новый файл:
38
[user]$ cat > newfile
После того, как вы напечатаете все, что хотите, нажмите комбинацию клавиш
<Ctrl>+<D> или <Ctrl>+<C>, и все, что вы ввели, будет записано в newfile. Конечно, таким
образом создаются, в основном, короткие текстовые файлы.
Команда mv
Еще одной часто используемой командой для работы с файлами в Linux является
команда поиска нужного файла find. Команда find может искать файлы по имени, размеру,
дате создания или модификации и некоторым другим критериям. Общий синтаксис команды
find имеет следующий вид:
find [список_каталогов] критерий_поиска
Параметр "список_каталогов" определяет, где искать нужный файл.
Началом "критерия_поиска", определяющего, что именно должна искать программа find,
считается первый аргумент, начинающийся на "-", "(", ")"', "," или "!". Все аргументы,
39
предшествующие "критерию_поиска", трактуются как имена каталогов, в которых надо
производить поиск. Если не указано ни одного пути, поиск производится только в текущем
каталоге и его подкаталогах.
Задание
Лабораторная работа № 8.
Знакомство с редактором Vim
40
отличается от других текстовых редакторов своим интерфейсом. Более подробную
информацию можно найти на vim.org.
Буфер — основная сущность Vim. В нем хранится текст, с ним осуществляются все
действия, связанные с редактированием текста. Буфера бывают активные и неактивные.
Активные буфера размещены в окнах, неактивные никак не взаимодействуют с пользователем
и вся информация в них сохранена на диск. Некоторые буфера могут быть доступны только
для чтения (например, буфера, созданные плагинами).
Окно — область экрана, в которой осуществляются операции редактирования
активного буфера. Окна в Vim не перекрываются. В нескольких окнах может редактироватся
один и тот же буфер.
Вкладка — сущность, содержащая несколько окон. Вкладки Vim почти аналогичны
вкладкам в остальных редакторах.
41
и вывода различной информации. Редактор может находиться либо в режиме редактирования,
либо в режиме ввода команд. Для того, чтобы совершать какие-либо действия Вы должны
находиться в нужном режиме.
После запуска редактор находится в командном режиме. Для перехода из режима
редактирования в командный режим используется клавиша Esc.
Для того, чтобы начать редактирование файла используется команда vi имяфайла.
Задание
42
Когда на море подымается волна, то слышен не шум прибоя, а хрустенье льда и шорох
оседающего снега,
Балтика зимой пустынна и угрюма.
Латыши называют ее «Янтарным морем» («Дзинтара юра»). Может быть, не только
потому, что Балтика выбрасывает много янтаря, но еще и потому, что ее вода чуть заметно
отливает янтарной желтизной.
✓ Сохраните созданные файлы, дав им свое имя и фамилию.
✓ Представьте выполненную работу преподавателю.
✓ Заполнить отчет по лабораторной работе и сдать его преподавателю.
Литература
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 г.
Приложение
Форма отчета по лабораторной работе в электронной форме.
Все формы отчетов находятся у преподавателя.
43