Практические работы операционной системы linux

Лабораторная работа 1. Изучение базовых команд Linux.¶

Основные теоретические сведения¶

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

Теоретическая часть:

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

Файлы и ничего кроме файлов

Все, с чем Вы встретитесь в операционной системе Linux, — это файлы. Абсолютно все! Очевидно, что текстовый документ — это файл. Изображения, аудиоданные в формате МР3 и видеофрагменты — это несомненно файлы. Каталоги — это тоже файлы, содержащие информацию о других файлах. Дисковые устройства — это большие файлы. Сетевые соединения тоже файлы. Даже исполняемый процесс — это файл. С точки зрения операционной системы Linux файл представляет собой поток битов или байтов. Система не интересуется тем, что означает каждый байт. Это забота конкретных программ, выполняющихся в операционной системе Linux. Для операционной системы Linux и документ, и сетевое соединение всего лишь файлы. Как обрабатывать текстовый документ, знает редактор, а сетевое приложение умеет работать с сетевым соединением.

В отличие от Windows и МасOS в операционной системе Linux имена файлов чувствительны к регистру символов. В частности, Вы можете встретить в одном каталоге все три файла которые приведены ниже в качестве примера:

С точки зрения файловой операционной системы Linux — это различные имена файлов. Если вы попытаетесь создать файлы с этими же именами в Windows или МасOS, то вероятнее всего попытка увенчается провалом, и система предложит Вам выбрать другое имя для файла.

Чувствительность к регистру символов также означает, что при вводе команд они должны в точности совпадать с именами файлов, поддерживающих их. Так, например, удаляя файл с помощью команды rm, нельзя вводить RM, Rm или rM. Надо также следить за написанием имен, задаваемых в качестве параметров. Если вы захотите удалить файл «SIT.txt», а укажете имя Sit.txt, вы лишитесь совсем не того файла, с которым предполагали расстаться.

Список специальных символов которые не рекомендуется использовать в названиях файлов.

Групповые операции:

Предположим, что в одном из каталогов на вашем компьютере содержатся сто файлов с изображениями и два текстовых файла. Ваша задача удалить все файлы с изображениями за исключением двух текстовых файлов. Удалять файлы по одному — это утомительное занятие. В операционных системах Linux для автоматизации данного процесса можно применять символы групповых операций. Групповые операции задаются посредством звездочки (*), знака вопроса (?) и квадратных скобок ( [ ] ).

Пример использования групповых операций:

Групповая операция с применение » * » — отмечает любое (в том числе нулевое) количество любых символов.

Групповая операция с применение » ? «. Символ » ? » — соответствует одному произвольному символу.

Групповая операция с применение » [] «. Квадратные скобки позволяют задавать один символ из набора или символ, принадлежащий определенному диапазону.

Консольные команды:

  • $ pwd — определить текущий каталог.
  • $ cd [имя каталога] — осуществить переход в заданный каталог.
  • $ ls [имя каталога] — просмотреть список файлов и подкаталогов.
  • $ mkdir [имя каталога] — создать каталог с заданным именем.
  • $ cp — скопировать файл «имя файла 1» в файл «имя файла 2», например: cp first.txt copy1.txt.
  • $ mv — переименовать файл «имя файла 1» в файл «имя файла 2», например: mv first.txt orig.txt.
  • $ ln «имя файла» «имя ссылки» — создать жёсткую ссылку «имя ссылки» на файл «имя файла». Пример: ln orig.txt copy2.txt.
  • $ ln -s «имя файла» «имя ссылки» — создать символическую ссылку «имя ссылки» на файл «имя файла». Пример: ln -s orig.txt copy2.txt.
  • $ rm — удалить файл.
  • $ touch — создание файла.
  • $ man — получение справочной документации о выбранной команде.

Задания к лабораторной работе¶

  • Откройте терминал.
  • Ознакомьтесь с возможностями команды pwd c помощью команды man:
  • Определите текущий каталог, в котором вы находитесь командой pwd:
  • Ознакомьтесь с возможностями команды cd c помощью команды man:
  • Перейдите в корневой каталог командой cd
  • Ознакомьтесь с возможностями команды ls c помощью команды man:
  • Просмотрите содержимое корневого каталога командой ls:
  • Сделайте копию экрана для использования в отчете по лабораторной работе .
  • Вернитесь в домашний каталог, используя команду cd без параметров:
  • Ознакомьтесь с возможностями команды mkdir c помощью команды man:
  • Создайте каталог «test», используя команду mkdir:
  • Перейдите в каталог «test», используя команду cd:
  • Просмотрите содержимое каталога, используя команду ls:
  • Создайте каталог «test2», используя команду mkdir:
  • Ознакомьтесь с возможностями команды touch c помощью команды man:
  • Создайте файл «text» в каталоге «test2» используя команду touch:
  • Ознакомьтесь с возможностями команды mv c помощью команды man:
  • Переименуйте файл «text» в «textSIT» используя команду mv
  • Ознакомьтесь с возможностями команды cp c помощью команды man:
  • Скопируйте файл «textSIT» в каталог «test2» под именем «copy.txt», используя команду cp:
  • Ознакомьтесь с возможностями команды ln c помощью команды man:
  • Создайте жесткую ссылку «link» на файл «copy.txt» используя команду ln:
  • Создайте символическую ссылку «simlink» на файл «copy.txt» используя команду ln:
  • Просмотрите результаты в текущем каталоге при помощи команды ls с аргументами la:
  • Сделайте копию экрана для использования в отчете по лабораторной работе .
  • Удалите созданные вами файлы и ссылки в лабораторной работе используя команду rm
  • Сделайте копию экрана для использования в отчете по лабораторной работе .
Читайте также:  Linux ssh кто подключился

Вопросы к лабораторной работе¶

  1. Чем отличается вывод команд ls -F и ls -la?
  2. С помощью какой команды и как можно переместить файл в другой каталог?
  3. Какие действия вы совершаете, нажимая на кнопки «стрелка вверх» и «стрелка вниз»?
  4. Куда вы переходите, выполнив команду cd без параметров?
  5. Как посмотреть, какие еще параметры можно задать команде ls?
  6. Что такое «жесткая ссылка»?
  7. Что такое «символическая ссылка»?
  8. Как осуществить просмотр подкаталогов и их содержимого ?
  9. Как осуществить вывод содержимого каталога с запятыми в качестве разделителя?
  10. Как осуществить просмотр скрытых файлов в домашнем каталоге?
  11. Как осуществить создание нового каталога и необходимых подкаталогов рекурсивно?
  12. Как осуществить рекурсивное копирование всех файлов из одного каталога в другой?
  13. Как осуществить рекурсивное копирование всех файлов и подкаталогов из одного каталога в другой?
  14. Как рекурсивно удалить все файлы и подкаталоги в определенном каталоге?

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

Включите в него копии экрана и ответы на вопросы лабораторной работы.

© Copyright 2016, Пантюхин Игорь Сергеевич, Университет ИТМО.

Источник

Практическое изучение системы Linux

Аппаратура и программные инструменты, необходимые для лабораторной работы

Настольный или портативный компьютер с операционной системой Linux. В тексте и иллюстрациях данной лабораторной работы использована ОС Linux Red Hat .

Продолжительность лабораторной работы

2 академических часа

Обзор Linux

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

В системе Linux доступны все классические инструменты и утилиты UNIX – grep (текстовый поиск ), sed ( потоковый редактор ), awk (язык для потокового редактирования), make ( утилита для сборки проектов, lex ( генератор лексических анализаторов), yacc ( генератор синтаксических анализаторов) и т.д. и, кроме этого, многие другие более современные инструменты и языки программирования.

Основные графические оболочки, используемые для системы Linux, — KDE и GNOME.

В данной лабораторной работе используется Linux Red Hat с графической оболочкой GNOME.

Запуск системы

Включите компьютер с инсталлированной ОС Linux.

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

Наконец, примерно через 1-2 минуты загружается графическая оболочка , и Вам предлагается войти в систему, указав имя пользователя и пароль .

Вход в систему и аутентификация пользователя

Введите Ваше имя пользователя , затем пароль .

После входа в систему на экране визуализируется рабочий стол ( рис. 40.1) :

Структура рабочего стола

Рабочий стол несколько отличается от рабочего стола Windows (см. лабораторные работы 1 и 2). Фон по умолчанию – синий, на рабочем столе только Ваша домашняя директория , имеющая в Linux имя / home / user , где user – Ваше имя пользователя ; стартовая точка для конфигурирования системы (Start here) и корзина ( Trash ). В нижней части — панель задач (taskbar) светло-серого цвета. Роль кнопки Пуск в Linux Red Hat играет красная шляпа (именно так переводится сочетание red hat ) в левом нижнем углу. Кликнув на красную шляпу, пользователь может выбрать начальное действие: Accessories – стандартные программы, Games – игры, Graphics – графика , Internet – Интернет , Office – вызов офисного приложения OpenOffice, аналога Microsoft Office; Preferences – настройки, Programming – инструменты программирования (например, интегрированная среда GNU Emacs); Sound and Video – приложения для работы с аудио- и видеофайлами, System Settinggs – системные настройки, System Tools – системные программы (инструменты), Home folder – переход к Вашему домашнему каталогу (/ home / user ), Network Servers – настройка сетевых серверов, Run program – исполнение программ, Lock screen – защита экрана от входа других пользователей в систему, Log out – выход из системы, перезапуск или выключение компьютера .

Поэкспериментируйте со всеми пунктами стартового меню .

Работа с домашней директорией

Кликнув два раза иконку домашней директории на рабочем столе, визуализируйте содержимое Вашей домашней директории / home / user ( рис. 40.2) с помощью браузера nautilus, компоненты среды GNOME, аналогичной Windows Explorer в Windows :

Вы видите почти привычные пункты меню , иконки и кнопки, например, Up (жирная серая стрелка вверх) – переход в родительскую директорию.

Выбор файла или папки в директории осуществляется одним кликом мышки, вход в директорию или открытие файла – двойным кликом мышки на имени директории или файла. При этом для файла выполняется действие его открытия, зависящее от его типа, — для текстовых файлов – вызов соответствующего редактора, для рисунков – их визуализация , для исполняемых кодов или командных файлов – запуск соответствующей программы или скрипта и т.д. Поэкспериментируйте на своем компьютере с навигацией по файлам и папкам и открытием файлов с документами.

Источник

Лабораторная работа №1 Основы ОС Linux

ЛАБОРАТОРНАЯ РАБОТА № 1

ОСНОВНЫЕ ПРИНЦИПЫ ФУНКЦИОНИРОВАНИЯ ОПЕРАЦИОННОЙ СИСТЕМЫ LINUX

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

Читайте также:  Iperf mac os install

2. Теоретическая часть

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

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

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

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

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

Для входа пользователя с терминала в многопользовательскую операционную систему LINUX необходимо зарегистрироваться в качестве пользователя. Для этого нужно после сообщения

ввести системное имя пользователя, например, «student». Если имя задано верно, выводится запрос на ввод пароля:

Наберите пароль «student» и нажмите клавишу Enter .

Если имя или пароль указаны неверно, сообщение login повторяется. Значение пароля проверяется в системном файле password , где приводятся и другие сведения о пользователях. После правильного ответа появляется приветствие LINUX и приглашение:

Вы получили доступ к ресурсам ОС LINUX.

2.2. Выход из системы

exit — окончание сеанса пользователя.

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

Формат команд в ОС 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, который можно заполнить символьными строками, вводя их с клавиатуры. Нажатие клавиши Enter создает новую строку. Завершение ввода — нажатие Ctrl — d . Команда cat text.1 > text.2 пересылает содержимое файла text.1 в файл text.2. Слияние файлов осуществляется командой cat text.1 text.2 > text.3 .

ls [-alrstu] [имя] — вывод содержимого каталога на экран. Если аргумент не указан, выдается содержимое текущего каталога.

Читайте также:  Oracle java jdk windows download

-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.3.

wc [имя файла] — вывод числа строк, слов и символов в файле.

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

2.4. Группирование команд

Группы команд или сложные команды могут формироваться с помощью специальных символов (метасимволов):

? — шаблон, распространяется только на один символ;

* — шаблон, распространяется на все оставшиеся символы;

| — программный канал — стандартный вывод одного процесса является стандартным вводом другого;

> — переадресация вывода в файл;

; — если в списке команд команды отделяются друг от друга точкой с запятой, то они выполняются друг за другом;

|| — последующая команда выполняется только, если не выполнилась предыдущая команда ( код возврата 1 );

() — группирование команд в скобки;

< >— группирование команд с объединенным выводом;

[] — указание диапазона или явное перечисление ( без запятых);

>> — добавление содержимого файла в конец другого файла.

who | wc — подсчет количества работающих пользователей командой (word count — счет слов);

cat text.1 > text.2 — содержимое файла text.1 пересылается в файл text.2;

mail student — электронная почта передает файл 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;

| 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 — адрес процесса в памяти;

SZ — объем ОЗУ, занимаемый процессом;

WCHAN — имя события, до которого процесс задержан, для активного процесса — пробел;

TTY — номер управляющего терминала для процесса;

TIME — время выполнения процесса;

CMD — команда, которая породила процесс.

nice [-приращение приоритета] команда[аргументы] — команда изменения приоритета. Каждое запущенное задание (процесс) имеет номер приоритета в диапазоне от 0 до 39, на основе которого ядро вычисляет фактический приоритет, используемый для планирования процесса. Значение 0 представляет наивысший приоритет, а 39 — самый низший. Увеличение номера приоритета приводит к понижению приоритета, присвоенного процессу. Команда nice -10 ls -l увеличивает номер приоритета, присвоенный процессу ls -l на 10.

renice 5 1836 — команда устанавливает значение номера приоритета процесса с идентификатором 1836 равным 5. Увеличить приоритет процесса может только администратор системы.

kill [-sig] — прекращение процесса до его программного завершения. s ig — номер сигнала. Sig = -15 означает программное (нормальное) завершение процесса, номер сигнала = -9 — уничтожение процесса. По умолчанию sig= -9. Вывести себя из системы можно командой kill -9 0. Пользователь с низким приоритетом может прервать процессы, связанные только с его терминалом.

mc — вызов файлового менеджера (программы — оболочки) Midnight Commander , аналогичного Norton Commander .

sort [- dr ] — сортировка входных файлов и вывод результата на экран.

3. Порядок выполнения работы

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

2. Зарегистрироваться в системе LINUX.

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

4. Получить подробную информацию обо всех активных процессах.

5. Создать два текстовых файла (с расширением TXT) и командой САТ просмотреть их на экране.

6. Получить информацию о работающих пользователях, подсчитать их количество и запомнить в файле.

7. Объединить текстовые файлы в единый файл и посмотреть его на экране.

8. Посмотреть приоритет своего процесса и уменьшить скорость его выполнение за счет повышения номера приоритета.

Источник

Оцените статью