Лабораторная работа №4 - Командный интерпретатор ОС LINUX

Лабораторная работа №1

по дисциплине «Операционные системы»

Командный интерпретатор операционной системы Linux

Общие сведения

Методические указания

Задания

Цель:

1. познакомиться с командным интерпретатором операционной системы Linux;

2. изучить основные команды для работы с файловой системой операционной системы Linux.

Краткое описание

В рамках данной лабораторной работы студенты:

· познакомятся с интерфейсом, файловой структурой и особенностями синтаксиса операционной системы Linux;

· изучат базовые команды для работы в файловой системе операционной системы Linux;

· закрепят знания, полученные при изучении Методических указаний, посредством формирования базовых умений работы с файловой системе операционной системы Linux в рамках выполнения учебных заданий.

Оборудование:

Подключенный к локальной сети университета компьютер, работающий под управлением операционной системы Linux.

К содержанию

Методические указания

1. Начало работы

Для загрузки операционной системы Linux необходимо:

· включить компьютер;

· ввести логин: user4 (user5)

(ВНИМАНИЕ! Cтрочные и прописные буквы, соответствующие одной клавише клавиатуры, воспринимаются по-разному: «а» и «А» - разные символы);

· ввести пароль: user4 (user5)

После загрузки операционной системы ЛИНУКС:

1) в режиме командной строки - работать с интерпретатором Shell;

2) в графическом режиме - панель задач, кнопка "К" (аналог "Пуск" в Windows)/ пункт меню "Debian"/Х-Терминал/КОНСОЛЬ.

К содержанию

2. Характеристика операционной системы Linux

Операционная система Linux (в дальнейшем – ОС Linux ) - это многопользовательская, многозадачная, многотерминальная операционная система из семейства UNIX. Она предназначена для работы на серверах и рабочих станциях, обеспечивает подключение дополнительных терминалов и допускает в этом режиме использование графических оболочек.

UNIX-сеpвеpы предназначены для хранения и обработки больших объемов информации. Особенно эффективно использование UNIX-серверов при распределенной обработке данных. Для этого разработаны системы распределенных вычислений в соответствии со стандартом CORBA. К таким системам относятся системы управления базами данных (СУБД типа Oracle, Informix), файл-серверы, FTP-серверы, WWW-серверы и др., которые поддерживаются ОС Linux. В распределенных системах информация может находиться на различных рабочих станциях, различных дисках, программные модули могу функционировать на различных компьютерах, но система работает таким образом, что это составляет единое целое. При обработке больших объемов информации используется технология «клиент – сервер», при которой пользователь работает только с той информацией, которая ему необходима.

ОС Linux не связана с конкретной моделью компьютеров. Её ядро реализовано на языке высокого уровня (языке С), что позволяет достаточно легко переносить эту систему с одной платформы на другую.

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

ОС Linux включает следующие основные компоненты:

1. Ядро. В ыполняет функции управления памятью, процессорами. Осуществляет диспетчеризацию выполнения всех программ и обслуживание внешних устройств. Все действия, связанные с вводом/выводом и выполнением системных операций, выполняются с помощью системных вызовов. Системные вызовы реализуют программный интерфейс между программами и ядром. Имеется возможность динамического конфигурирования ядра.

2. Диспетчер процессов Init. Активизирует процессы, необходимые для нормальной работы системы, и производит их начальную инициализацию. Обеспечивает завершение работы системы, организует сеансы работы пользователей, в том числе для удаленных терминалов.

3. Интерпретатор команд Shell. Анализирует команды, вводимые с терминала либо из командного файла, и передает их для выполнения в ядро системы. Команды обычно имеют аргументы и параметры, которые обеспечивают модернизацию выполняемых действий. Shell является также языком программирования, на котором можно создавать командные файлы (shell-файлы). При входе в ОС пользователь получает копию интерпретатора shell в качестве родительского процесса. Далее, после ввода команды пользователем создается порожденный процесс, называемый процессом-потомком. Т.е. после запуска ОС каждый новый процесс функционирует только как процесс-потомок уже существующего процесса. В ОС Linux имеется возможность динамического порождения процессов и управления ими. Обязательным в системе является командный интерпретатор Bash

4. Инструментальные средства программирования. Основой средств программирования является компилятор GCC или его экспериментальные версии EGCS и PGCC для языков С и С++. Язык Си, на котором написана сама операционная система, с одной стороны, сочетает в себе свойства языка высокого уровня: описание типов, программные структуры if, for, while и т.п., а с другой - содержит средства, присущие обычно языкам уровня ассемблера: регистровые переменные, адресную (ссылочную) арифметику, возможности работы с полями бит и отдельными битами и т.п.

3. Структура файловой системы операционной системы Linux

Файловая структура LINUX имеет иерархическую древовидную структуру. В корневом каталоге размещаются другие каталоги и файлы, включая 5 основных каталогов:

bin - большинство выполняемых командных программ и shell - процедур;

tmp - временные файлы;

usr - каталоги пользователей (условное обозначение);

etc - преимущественно административные утилиты и файлы;

dev - специальные файлы, представляющие периферийные устройства; при добавлении периферийного устройства в каталог /dev должен быть добавлен соответствующий файл (черта / означает принадлежность корневому каталогу).

В ОС LINUX файлами считаются:

· обычные файлы;

· каталоги;

· специальные файлы, соответствующие периферийным устройствам ( каждое устройство представляется в виде файла).

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

Текущий каталог - это каталог, в котором в данный момент находится пользователь. При наличии прав доступа пользователь может перейти после входа в систему в другой каталог.

Текущий каталог обозначается точкой (.) ;

Родительский каталог , которому принадлежит текущий, обозначается двумя точками (..) .

Домашний каталог пользователя обозначается ~

Полное имя файла может включать имена каталогов, включая корневой, разделенные косой чертой, например: /home/student/file.txt.

Первая косая черта обозначает корневой каталог, и поиск файла будет начинаться с него, а затем в каталоге home, затем в каталоге student. Один файл можно сделать принадлежащим нескольким каталогам.

К содержанию

4. Различные команды по работе с файловой системой операционной системы Linux

Формат команд в ОС LINUX следующий:

имя команды [аргументы] [параметры] [метасимволы].

Имя команды может содержать любое допустимое имя файла;

аргументы - одна или несколько букв со знаком минус (-);

параметры - передаваемые значения для обработки; метасимволы интерпретируются как специальные операции.

метасимволы - символы, имеющие специальное значение для командного интерпретатора:

? * ; & ( ) | ^ < > <пробел> <табуляция> <возврат_каретки>

Однако каждый из этих символов может представлять самого себя, если перед ним стоит \. Все символы, заключенные между кавычками ' ', представляют самих себя. Между двойными кавычками (") выполняются подстановки команд и параметров , а символы \, `," и $ могут экранироваться предшествующим символом \.

После всех подстановок в каждом слове команды ищутся символы *,?, и [. Если находится хотя бы один из них, то это слово рассматривается как шаблон имен файлов и заменяется именами файлов, удовлетворяющих данному шаблону (в алфавитном порядке). Если ни одно имя файла не удовлетворяет шаблону, то он остается неизменным. Значения указанных символов:

*

любая строка, включая и пустую

?

один любой символ

[...]

любой из указанных между ними символов. Пара символов, разделенных знаком -, означает любой символ, который находится между ними, включая и их самих. Если первым символом после "[" идет "!", то указанные символы не должны входить в имя файла.

history -c

очистка истории работы с консолем. С этой команды надо начинать выполнение лабораторной работы.

history|more

вывод истории работы на экран.

who [am i]

получение информации о работающих пользователях.

В квадратных скобках указываются аргументы команды, которые можно опустить. Ответ представляется в виде таблицы, которая содержит следующую информацию:

· идентификатор пользователя;

· идентификатор теpминала;

· дата подключения;

· время подключения.

date

- вывод на экран текущей даты и текущего времени.

cal [[месяц]год]

календарь;

если календарь не помещается на одном экране, то используется команда cal <год> | more и клавишей пробела производится постраничный вывод информации.

man <название команды>

вызов электронного справочника об указанной команде. Выход из справочника - нажатие клавиши Q.

Команда man man сообщает информацию о том, как пользоваться справочником.

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. Другие варианты этой команды - r m text.[123] или rm text.[1-3].

wc [имя файла]

вывод числа строк, слов и символов в файле.

mkdir <имена создаваемых каталогов>

создание каталогов;

Так команда " mkdir err new " создаст в данном каталоге два новых каталога с относительными именами "err" и "new".

rmdir <имена удаляемых каталогов>

удаление пустых каталогов.

rm -rf <имена удаляемых каталогов>

удаление каталогов вместе со всем их содержимым.

pwd

вывод на экран полного имени текущего каталога;

cd <имя каталога>

смена текущего каталога; переход на уровень ниже.

Так можно перейти в каталог /usr/include/sys, набрав команду^

- cd /usr/include/sys (здесь указано полное имя);

- cd include/sys (здесь указано относительное имя).

cd ..

смена текущего каталога; переход на уровень выше.

cd ~

переход в "домашний каталог".

>/home/user2/file.txt

создание пустого файла.

cp <старое-имя> <новое-имя>

копирование файлов.

mv <старое-имя> <новое-имя>

перемещение и переименование файлов.

clear

очистка экрана.

exit

завершение сеанса работы с системой, т.к. только при этом завершаются все процессы, обслуживавшие данный терминал пользователя.

К содержанию

Задания

1. Ознакомьтесь с Методическими указаниями к лабораторной работе.

2. Ознакомьтесь со справкой по каждой из команд.

3. Определите текущую дату и время.

4. Определите день недели, в который вы родились.

5. Выведите на экран список всех каталогов и файлов каталога /usr.

6. Выведите на экран список всех каталогов и файлов каталога /usr/local.

7. Выведите на экран список всех каталогов и файлов, имена которых содержат три символа из каталога /usr/share.

8. Выведите на экран список всех каталогов и файлов, имена которых начинаются на 'd' из каталога /usr/ bin .

9. Создайте систему каталогов и файлов согласно схеме.

10. Скопируйте файл Feihtvanger.1 в каталог usr/library/history.

11. Переместите файл Druon.2 в каталог usr/library/history.

12. Удалите файл Ahmatova.2 из каталога usr/library/liric/russian.

13. Выведите на экран содержимое каталогов usr / library/history и usr / library/history /german.

14. Организуйте конкатенацию (слияние) файлов LTolstoy .1 и ATolstoy .2 в каталоге usr / library / classic / russian .

15. Удалите каталог classic.

16. Выведите на экран список ранее выполненных команд и покажите его преподавателю.

17. Выйдите из системы.

18. Создайте отчет по результатам выполнения лабораторной работы

Схема каталогов и файлов (задание 9)

Система каталогов и файлов

К содержанию

 

Last modified: Friday, 17 October 2014, 11:22 AM