Как осуществить вывод содержимого каталога с запятыми в качестве разделителя linux
Перейти к содержимому

Как осуществить вывод содержимого каталога с запятыми в качестве разделителя linux

  • автор:

Лаб 2. Лабораторная работа 2 по дисциплине Операционные системы Изучение базовых команд Linux Выполнил студент 3 курса 292а группы

Единственный в мире Музей Смайликов

Самая яркая достопримечательность Крыма
Скачать 0.71 Mb.

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ

федеральное государственное бюджетное образовательное учреждение высшего образования

«АЛТАЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

Колледж Алтайского государственного университета

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

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

Изучение базовых команд Linux

3 курса 292а группы

Ознакомление с возможностями команды 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

основные команды linux

* — звездочка отмечает любое (в том числе нулевое) количество любых символов.

? – соответствует одному произвольному символу.

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

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

1.Основные команды.

ls — Выводит список файлов и каталогов.

R (recursive) — просмотр содержимого подкаталогов. Пример: $ ls –R

/iso будет найден образ iso в домашнем каталоге, с помощью данной команды можно найти файл по имени, типу и д. т.

1 — вывод содержимого каталога в один столбец.

m — вывод содержимого каталога с запятыми в качестве разделителей.

a – (all) отображение скрытых файлов и каталогов. Отображение элементов «.» и «..»; одна точка соответствует текущему каталогу, а две точки – каталогу, расположенному выше по иерархии, т.е. родительскому по отношению к текущему.

F (classify) — отображение информации о типах файлов: * — исполняемый файл; / — каталог; @ — символьная ссылка; | — FIFO (первым прибыл, первым обслужен); = сокет.

color – отображение информации в цвете. Узнать какому типу файла соответствует тот или иной цвет можно с помощью команды dircolors – print-database.

l — информация о правах доступа и владельцах файлов, рассмотрено чуть ниже.

r – отображение информации в обратном порядке.

x – сортировка содержимого каталога по суффиксам имен файлов.

t – сортировка по дате и времени.

s – сортировка содержимого каталога по размеру файлов.

h – представление размеров файлов в килобайтах, мегабайтах и гигабайтах.

pwd – определение пути к текущему каталогу.

cd – переход по каталогам.

Пример, «cd» и название каталога, если ввести символ «-» сразу после команды, то произойдет возврат в предыдущий каталог.

mkdir – создание нового каталога.

p – создание каталога и подкаталогов.

v – сообщает о каждом выполненном действии.

cp – копирование файлов и каталогов.

v – вывод подробной информации о копировании.

i – предотвращает копирование поверх файлов.

R – копирование каталогов.

a – создание резервных копий.

mv – перемещение и переименовывает файла или каталога.

Если перемещать файл в другой каталог с сохранением его имени, то нужно задавать только имя каталога, а имя файла не указывать.

Команда «mv» может перемещать не только файлы и каталоги, но и ссылки, указывающие на эти каталоги и файлы, для того чтобы переместить каталог нужно указать «/» без него будет перемещена только ссылка. Если файл который перемещается указать по-новому, то он будет переименован.

rm – удаление файлов и каталогов.

v – вывод подробной информации при удалении файлов.

i – запрашивание у пользователя подтверждения на удаление каждого файла.

Rf – сочетание этих опций позволяет удалять не пустые каталоги с файлами.

Для удаления файла в имени, которого имеется пробел надо имя этого файла взять в кавычки. Если в имени файла имеется дефис, то для удаления таких файлов можно использовать два способа: «—» предварить двумя дефисами; использовать символ «.» перед именем файла, и тем самым устранить пробел.

rmdir – удаление пустого каталога.

2.Превратится в другого пользователя.

su – позволяет временно действовать от имени другого пользователя.

l – данная опция указывает, что необходимо использовать переменные окружения заданного пользователя.

«» — тоже, что и опция «l».

3.Получение информации по командам.

man – получение информации по командах.

Перейти в перед на страницу клавиша «f» назад клавиша «b» остановить выполнение команды клавиша «q».

k – данная опция позволяет найти команду по выполнению ею действий.

f — получение кратких сведений о команде.

г – формирование базы данных команд.

t – вывод формирование информации на печать.

Info – получение информации по командам.

Перемещение по выводимой информации клавиша <PageDown> перемещает на один экран вниз, клавиша <PageUp> на один экран вверх, нажатие клавиши <В> возвращает в начало раздела, а клавиша <Ctrl+L> обновляет экран. Используя пробел или клавиши<Васkзрасе> и <Delete> вы можете просмотреть весь набор infо страниц для конкретной команды.

whereis – определение путей к исполняемым, исходным файлам и страницам справочного руководства.

b – данная опция показывает только исполняемый файл.

m – показывает лишь страницы справочного руководства.

s – получение только сведений об исходных файлах.

what is – описание команд.

Аналог команды «man –f».

aprosos – поиск информации о команде по выполняемым ею действиям.

Аналог команды «man —k».

which – сведения об экземпляре программы для запуска.

Команда «which» сообщает о том, какой вариант команды будет выполнен, если вы зададите ее имя.

4.Объединение команд.

«;» — символ задает последовательное выполнение команд.

«&&» — выполнение команд при условии успешного завершения предыдущих.

«||» — выполнение команд при условии, что предыдущая завершилась с ошибкой.

«$ ()» — использование выходных данных одной команды при вызове другой команды.

Первую команду – ту, выходные данные которой надо включить во вторую команду, — следует поместить в круглые скобки и поставить перед открывающие скобкой символ $.

Входной и выходной потоки.

Оболочка Linux поддерживает три потока:

1) стандартный входной поток (стандартный ввод) информация, например, введенная с клавиатуры соответствует дескриптору (идентификатору) 0 и сокращение «stdin»;

2) стандартный выходной поток (стандартный вывод) данные выводятся на терминал соответствуют дескриптору (идентификатору) 1 и сокращение «stdout»;

3) стандартный поток ошибок соответствует дескриптору (идентификатору) 2 и сокращение «stderr».

«|» — передача выходных данных одной команды на вход другой команды.

Символ «|» перенаправляет «stdout» так, что он соединяется с потоком «stdin» следующей команды.

«>» — перенаправление выходных данных в файл.

Предотвращение перезаписи файла при перенаправлении.

Установив опцию noclobber, оболочка bash выполнит перенаправление в существующий файл только с разрешения.

Команда: $ set –o noclobber.

Для того чтобы опция была установлена постоянно, необходимо включить в файл .bashrc выражение set –o noclobber.

«>>» — перенаправление выходных данных и запись их в конец файла.

При использовании символа «>» в случае, когда файл существует вся информация будет перезаписана, если использовать символ «>>», то перенаправленная информация будет записана в конце уже существующей, без замены ранее записанного.

«<» — использование содержимого файла в качестве входных данных.

5.Отображение содержимого файлов.

«cat» — вывод содержимого файла в stdout.

«less» — постраничный вывод текста.

Основные клавиши по работе с командой.

<PageDn>, е или пробел — перемещение вперед на одну страницу.

<PageUp> или b — перемещение назад на одну страницу.

<Enter> е, j или стрелка вниз — перемещение вперед на одну строку.

у, k или стрелка вверх — перемещение назад на одну строку.

G или Р — перемещение вперед к концу файла.

1G — перемещение назад к началу файла.

<esc +)> или стрелка вправо — прокрутка вправо.

<esc +(> или стрелка влево — прокрутка влево.

Q — завершение работы команды «1ess».

Опции поиска текста в файле.

/ — после данного символа ввести искомый текст.

n – повторный поиск в прямом направлении.

N – повторный поиск в обратном направлении.

«head» — просмотр первых десяти строк файла.

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

с – после этой опции указать нужное число байт, килобайт или мегабайт выводимого файла.

Можно просмотреть несколько файлов, для этого необходимо ввести названия двух файлов, которые нужно просмотреть.

«tail» — просмотр последних десяти строк файла.

Опции — n – аналогична такой же опции в команде «less».

f – (fo11ow) – опция обяжет команду показывать текущие изменения в файле.

6.Владельцы файлов и права доступа.

Права доступа отображаются следующим образом, пример, d|rwx|r-x|r-x данный пример можно разделить на четыре группы, первая группа (d) сообщает о типе файла, вторая (rwx) владельца файла, третья (r-x) права группы, четвертая (r-x) остальных пользователей.

Таблица символов, представляющих права доступа, и типы файлов:

Данная команда отображает обычный и исполняемый файл одним знаком «-»;

«d» — каталог;

«l» — символьная ссылка;

«s» — сокет;

«b» — блочное устройство;

«c» — символьное устройство;

«p» — именованный канал.

По файлам.

Буква «r» «w» «x» означают чтение, запись, выполнение.

Разъяснение, «r» обозначает — «чтение разрешено», буква «w» – «запись разрешена», буква «x» – «выполнение разрешено». Символ «-» в соответствующей позиции означает «данное действие запрещено». Если дефис указан вместо буквы «r», это значит «чтение запрещено». Так же запрещается запись или выполнение, если символ – находится на месте «w» или «x».

По каталогам.

«r» — можно просматривать содержимое каталога с помощью команды «ls».

«w» — пользователь может включать в каталог новые файлы, а также переименовывать и удалять существующие.

«x» — означает доступ к каталогу, т.е. право выполнять команды, выполняющие определенные действия с файлами из этого каталога, обращаться к подкаталогам данного каталога.

«chgrp» — изменение групп для файлов и каталогов.

Пример, chgrp –v root Видео; команда поменяет текущую группу на root каталога Видео.

R – рекурсивное изменение принадлежности каталога группе.

v – получение подробной информации о действиях выполняемых командой.

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

«chown» — изменение владельца и группы для файлов и каталогов.

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

Обозначение прав доступа с использованием символьных обозначений.

«+» — этот символ используется для назначения;

«-» — этот символ используется для удаления;

«=» — этот символ используется для конкретной установки прав.

После выше перечисленных символов указывается буквы (r, w, x, s, s, t).

Символы «r, w, x» были рассмотрены четь выше, но про символы «s, s, t» ни говорилось ни слова, рассмотрим эти символы.

«s» (S) – признак suid указывает на то, что любой пользователь может запускать файл на выполнение справами владельца файла, как будто этот файл запускает сам владелец.

«s» (S) – признак sgid указывает на то, что любой пользователь может запускать файл на выполнение с правами группы.

«t» — признак «striky bit» сообщает системе о том, что файл часто используется и должен находиться в области подкачки для быстрого обращения (в Linyx игнорируется).

Символ «s» может отображаться как в строчном виде, так и в прописном, все зависит от того имел ли пользователь ранее права на исполнение файла, т.е. если пользователь ранее имел право на исполнение, то «s», если таким правом он не обладал, то будет отображено «S», таким образом система предоставляет дополнительную информацию.

Обозначение пользователей.

linux различает три вида пользователей.

Владелец – «.

Группа – «.

Прочие пользователи – «o».

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

«4» — соответствует символу «r», т.е. чтение разрешено.

«2» — соответствует символу «w», т.е. запись разрешена.

«1» — соответствует символу «x», т.е. выполнение разрешено.

«0» — чтение, запись, выполнение запрещено.

Если выполнить команду «chmod» со значение 000, то в этом случае единственным пользователем, имеющим право на выполнение каких-либо действий, в том числе на вызов команды «chmod» остается пользователь root.

«сhmod» u [+-] s – установка и сброс «suid».

Устанавливать и сбрасывать признак «suid» можно двумя способами: используя символьные либо числовые обозначения.

Пример, chmod u+s имя файла.

« – см. обозначение пользователей.

Для того, чтобы установить признак «suid» используя числовое обозначение, задается цифра 4, данная цифра ставиться первой в числовом обозначении.

«сhmod» g [+-] s – установка и сброс «sgid».

Установка и сброс признака «sgid» аналогична «suid».

Пример, chmod u+s имя каталога.

Для того, чтобы установить признак «sgid» используя числовое обозначение, задается цифра 2, данная цифра ставиться первой в числовом обозначении.

«shmod» [+-] t – установка и сброс признака «stiсky bit».

Признак «sticky bit» в современных дистрибутивах Linux не используется применительно к файлам.

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

Пример, chmod u+t имя каталога.

Для того, чтобы установить признак «sticky bit» используя числовое обозначение, задается цифра 1, данная цифра ставиться первой в числовом обозначении.

Для ускорения работы можно одновременно устанавливать из командной строки признаки «suid» «sgid» «sticky bit» подобно тому, как вы объединяете путем сложения значения 4 (чтение), 2 (запись) и 1 (выполнение), определяющие права пользователя, можно объединить «suid» «sgid» «sticky bit».

Числовое значение:

0 – сбрасывает «suid» «sgid» «sticky bit»;

1 – Устанавливает «sticky bit»;

2 – Устанавливает «sgid»;

З – Устанавливает «sgid» «sticky bit»;

4 – Устанавливает «suid»;

5 – Устанавливает «suid» «sticky bit»;

6 – Устанавливает «suid» «sgid»;

7 – Устанавливает «suid» «sgid» «sticky bit».

7.Создание архивов и сжатие данных.

«zip» — программа для создания архивов zip, и сжатие файлов.

Программа «zip» создавая архив не удаляет исходный файл.

Пример, zip duplicate.zip любой файл. duplicate.zip – это имя архива, который будет создан.

Для того чтобы повысить уровень компрессии необходимо указать – [0-9], 0 малое сжатие, 9 максимальное.

«p или e» — защищает паролем архив.

«l» — получение списка файлов для разархивирования.

«t» — проверка файлов, предназначенных для разархивирования.

«unzip» — разархивирование файлов.

«gzip» — программа сжатия файлов.

Программа «gzip» при создании архива удаляет исходный файл.

«c» — данная опция запрещает «gzip» удалять исходных файл.

«r» — рекурсивное выполнение команды.

«0-9» — задает степень компрессии.

«t» — проверка архива.

«gunzip» — распаковка архива.

«bzip2» — программа сжатия файлов.

Программа «bzip2» при сжатии удаляет исходный файл, для того чтобы сохранить исходный файл нужно задать опцию «с» и переназначить вывод в файл, имя которого оканчивается символами «.bz2».

Пример, bzip2 –c moby — dick.txt > moby — dick.txt.bz2

«0-9» — задает степень сжатия.

«t» — проверка файлов.

«bunzip2» — распаковывает сжатые файлы.

«tar» — программа по архивированию файлов.

Данная программа не удаляет исходных файл, в отличии от «gzip» и «bzip2».

«cf» — данные опции указывают программе «tar», что создается архив (—create), и (—file) посредством которой задается имя архивного файла.

Необходимо смотреть файл справки по команде «tar», поскольку опций этой команды огромное количество.

Покоряй и Властвуй: форматирование вывода

Вэтом выпуске мы расскажем об основных возможностях форматирования вывода с помощью команд grep, sed, awk, cat и cut. Это может быть очень полезным, если соединять вместе такие вещи как Conky или скрипты, которые отображают информацию в терминале.

Сначала рассмотрим работу команды cut. Если бы мы хотели отобразить название дистрибутива в нашем скрипте, мы нашли бы его в /etc/issue. Если мы выполним cat /etc/issue, мы увидим много длинных строк со множеством экранирующих символов в них. Так, если мы выполним cat /etc/issue | head -n 1, мы уберём дополнительные строки, сузив вывод команды cat с помощью команды head, которая оставит только первую строку вывода. Пока всё хорошо, но что насчёт специальных символов? Для таких случаев у нас есть cut. Чтобы её использовать, мы должны указать разделитель, а затем сказать ей, что с ним делать. Мы могли бы выполнить следующую команду:

Эта команда говорит cut использовать в качестве разделителя знак пробела, и показать первые два поля (по существу, cut делит вывод на сегменты в соответствии с разделителем, поэтому поля 1 и 2 — это первые два поля до и после разделителя, в нашем случае это Ubuntu 8.10). Cut также можно использовать для отображения только определённого числа символов, используя флаг -c.

То же самое можно сделать и с помощью команды sed:

Это может показаться лишним, но первые два выражения (каждое из них разделено точкой с запятой) говорят sed заменить “\n” на “” (ничего), и то же самое для “\l”, убирая эти символы из вывода. Команда “/^$/d” говорит sed удалить все пустые строки (“^$” — это регулярное выражение для строки, которая начинается и заканчивается пустым символом, и посередине тоже ничего нет — т.е. пустая строка). Так 's/\\n\b//' просто говорит sed заменить (“s/”) “\n” (“\\n”) на “” (“//”). Причина, по которой эта команда в скобках, в том, что мы применяем три выражения на выходе, и хотим, чтобы результат появился только один раз, поэтому мы поместили выражения в скобки (“<>”), и разделили точкой с запятой.

В заключение, такой же результат мы можем получить с помощью awk:

Эта команда тоже использует регулярные выражения, но её легче понять, чем sed. Команда awk '/\n/ ' ищет любую строку, в которой есть “\n”, и затем печатает первые два поля (разделитель по умолчанию — это пробел, но вы можете определить свой с помощью флага -F). Это позволяет нам отбросить лишнюю строку и \l из вывода команды. Вы можете также отказаться от обрезания вывода в команде cat /etc/issue (или любой другой), так как они все могут быть применены к определенному файлу в конце команды. Я использовал cat для того, чтобы оставить команды более понятными.

Это всё рассматривается только как поверхностный взгляд на возможности awk, sed и cut. Из-за их гибкой реализации сложно написать краткое вводное руководство для всех них. Пояснения приведены, чтобы показать, как команды работают, а не описывать их полный потенциал. В реальном мире использование этих команд будет в первой половине любого собственного скрипта (ниже приведен пример, который также выводит информацию о скрипте, но часть не обязательно подходит к этой статье; она оставлена, чтобы оставить скрипт завершённым). Пример также содержит вызов для каждого, кто желает его попробовать: сообразите, как использовать одну из трёх команд, чтобы убрать параграф в памятной части скрипта, и, если вы хотите больше практики, попробуйте заменить каждое использование cut, sed или awk на другую команду, делающую то же самое (т.е. заменить команду cut на awk). Конечно, никакого приза нет, но это хорошая практика, чтобы понять внутреннюю работу этих команд.

Лабораторная работа oc 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
  • Сделайте копию экрана для использования в отчете по лабораторной работе .

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

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

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

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

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

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

Международные дистанционные “ШКОЛЬНЫЕ ИНФОКОНКУРСЫ”

для дошкольников и учеников 1–11 классов

Оргвзнос: от 15 руб.

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

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

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

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 , которая выдает на экран свои аргументы:

и нажмите клавишу 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] [имя] — вывод содержимого каталога на экран. Если аргумент не указан, выдается содержимое текущего каталога.

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

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. Посмотреть приоритет своего процесса и уменьшить скорость его выполнение за счет повышения номера приоритета.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *