Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОС МПТ

.pdf
Скачиваний:
21
Добавлен:
25.03.2023
Размер:
5.25 Mб
Скачать

Но если echo не может ничего найти, то она выведет на экран написанное через пробел после самой команды.

Есть более сложный вариант, например:

[f] - буква в скобках обязательно должна БЫТЬ в имени [!f] - буквы в скобках обязательно должно НЕ быть в имени

Эти фильтры обязательно используются вместе со знаками-фильрами, они так же могут стоять как до, так и после скобок

Задание:

1.Создайте file.conf, name1, name2, names, newfile. Постройте команду поиска файлов так, чтобы в результатах у вас были выведены:

a.name1 name2

b.file.conf newfile

2.В debian есть три каталога под названием vim, а так же три файла под именем hostname – найдите их.

Подсказка: помните, что вы можете сократить время создания файлов, просто перечислив через пробел под какими именами вам нужно создать файлы, например: touch file file1 file2. Большинство похожих команд работают с несколькими файлами, написанными через пробел, а то и путями.

Контрольные вопросы:

Что произойдет при выполнении (не важно, последовательно или нет) этих команд?

rm –r /home/user/*

rm –r /home/user/ *

Министерство образования и науки Российской Федерации федеральное государственное бюджетное образовательное учреждение высшего образования

"Российский экономический университет имени Г.В.Плеханова"

МОСКОВСКИЙ ПРИБОРОСТРОИТЕЛЬНЫЙ ТЕХНИКУМ

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

«Объединение команд

(время на выполнение – 2 часа)

по дисциплине: ОП.04 Операционные системы

Составил: М.В.Синдикаев, преподаватель ФГБОУ ВО "РЭУ им. Г.В.Плеханова"

В bash команды можно соединять в одну по особой логике. Логику обеспечивают специальные символы:

&& - если выполнится команда слева, то команда справа тоже начнет выполняться. || - если выполнилась команда слева, то остальные команды выполняться не будут. Команды по краям от этих символов могут быть любыми, например:

echo 1 && echo 2 echo 1 || echo 2

Так же их количество может быть больше, чем два.

Консоль поддерживает такие значения, как true и false. Например, false вместо команды заведомо будет означать то, что команда не выполнилась.

Выполните следующие команды и объясните их вывод: false || echo 0

false || echo 0 || echo 1 echo 0 || false || echo 1 echo 0 && false && echo 1 echo 0 && true && echo 1 echo 0 && true || echo 1 echo 0 && false || echo 1

Министерство образования и науки Российской Федерации федеральное государственное бюджетное образовательное учреждение высшего образования

"Российский экономический университет имени Г.В.Плеханова"

МОСКОВСКИЙ ПРИБОРОСТРОИТЕЛЬНЫЙ ТЕХНИКУМ

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

«Перенаправление вывода

(время на выполнение – 2 часа)

по дисциплине: ОП.04 Операционные системы

Составил: М.В.Синдикаев, преподаватель ФГБОУ ВО "РЭУ им. Г.В.Плеханова"

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

Выполните команду echo hello student > text.txt

Что произошло?

> это оператор перенаправления вывода. Он позволил нам перенаправить стандартный вывод в текстовый файл, вместо экрана. Такой тип направления называется stdout.

Так же существует тип перенаправления как stdin (<). Это противоположность stdout. То есть мы можем получить вывод одной из команд, сразу перехватить его и записать в файл.

Создадим файл test.txt с текстом test. Выполним команду cat < text.txt > new.txt. Что

произошло?

Тип перенаправления stderr позволяет выводить в файл ошибки, которые нам выдает операционная система. Перенаправим вывод несуществующей директории в файл. ls /fake > fake.txt

Что произошло?

Для каждого из типов вывода есть дескрипторы (describe - описывать). Для stdin, stdout и stderr - 0, 1 и 2 соответственно.

ls /fake 2> fake.txt

Что внутри fake.txt?

Вывод можно комбинировать с такими командами, как, например, ls, cat

Задания:

Перед началом выполнения задания, очистите домашнюю папку вашего пользователя для вашего же удобства. Далее выполните команды:

1.> 1

2.echo hi everyone > rm

Выведите содержимое каталога /var/log в файл diroutput.txt

Выведите лог файл вашей операционной системы в файл log.txt. Лог содержится в

/var/log/syslog

Сделайте stdin для файла log.txt

Министерство образования и науки Российской Федерации федеральное государственное бюджетное образовательное учреждение высшего образования

"Российский экономический университет имени Г.В.Плеханова"

МОСКОВСКИЙ ПРИБОРОСТРОИТЕЛЬНЫЙ ТЕХНИКУМ

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

«Переменные окружения, работа с текстом

(время на выполнение – 2 часа)

по дисциплине: ОП.04 Операционные системы

Составил: М.В.Синдикаев, преподаватель ФГБОУ ВО "РЭУ им. Г.В.Плеханова"

Давайте выполним команды: echo $HOME

echo $USER

Что вы увидели?

Все эти данные берутся из переменной среды. Переменная среды(окружения) – это именованные переменные, которые содержат в себе текстовую информацию, которую могут использовать запускаемые программы. Это довольно простой и надежный способ передавать настройки сразу всем исполняемым приложениям.

Для того, чтобы увидеть всю переменную среды, воспользуйтесь командой env Самая важная переменная, это $PATH. Эта переменная содержит в себе пути, по которым система будет искать исполняемые файлы для запуска программ и утилит. Например, вы установили какой-либо пакет в нестандартное место, тогда, при попытке его запустить из терминала, у вас появится ошибка, что команда не найдена – это потому, что в $PATH не указана директория, в которой система будет проверять наличие исполняемого файла. Стандартные пути установки.

Выведите переменную path на экран, перечислите директории, которые проверяются.

Добавить в список установочных директорий можно командой

PATH=$PATH:директория. Хранится в ОП.

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

Иногда случается так, что мы хотим просмотреть содержимое какого-либо файла, который содержит в себе много строк, либо директории, имеющую внутри себя много файлов и поддиректорий. Если мы просто так выведем такое большое количество строк в консоль, то может случиться так, что у нас может переполниться буфер отображаемого в консоли содержимого, либо попросту будет неудобно просматривать содержимое.

Для того, чтобы просмотр был удобным, в конец команды можно дополнить команду такой конструкцией:

| less

Это позволяет просматривать длинное содержимое конвейерно, то есть просматривать содержимое можно с помощью стрелок, как джойстиком, перемещая текст вверх-вниз, вправо-влево.

ls /etc|less

Попробуйте провернуть это с содержимым каталога /etc/, а также с лог файлом вашей системы.

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

-n

head –n 15 путь

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

Файл для экспериментов – лог вашей системы.

Министерство образования и науки Российской Федерации федеральное государственное бюджетное образовательное учреждение высшего образования

"Российский экономический университет имени Г.В.Плеханова"

МОСКОВСКИЙ ПРИБОРОСТРОИТЕЛЬНЫЙ ТЕХНИКУМ

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

«Работа с выводом, сортировка

(время на выполнение – 2 часа)

по дисциплине: ОП.04 Операционные системы

Составил: М.В.Синдикаев, преподаватель ФГБОУ ВО "РЭУ им. Г.В.Плеханова"

Иногда, для желаемого вывода содержимого какого-либо файла на экран, нам может потребоваться сортировка строк в алфавитном порядке. Для этих целей есть утилита sort. Она выводит на экран содержимое подобно утилите cat, только с возможностью сортировки. По умолчанию вывод отсортирован в алфавитном порядке, для того, чтобы вывести в том же алфавитном порядке, но задом на перед, используйте ключ – r, если же требуется сортировка по числовым значениям, то это ключ –n

Очень полезной является команда tr. Работает только в связке с другими командами.

Она позволяет переводить один набор символов в другой. Например, с помощью tr a-z A-Z можно перевести символы из нижнего регистра в верхний; tr a b – буква a будет заменена буквой b. Но наиболее полезна эта утилита в связке с ключами:

-s – позволяет заменить повторяющиеся символы другими символами -d – удаляет из текста те символы, которые вы укажете

Использование tr ключ символы символы

Существует специальный символ, который называется оператором конвейера, он представляет собой вертикальную черту ( | ). Это когда stdout одного процесса передается в stdin другого. Проще говоря – используется для связывания нескольких команд в одну(не путать с $$ и ||). То есть одна команда, выполнившись, передает результаты выполнения на ввод в другую команду, стоящей после этой черты и все это будет являться одной большой командой, а не несколькими, разделенными оператором условия. Например:

cat /etc/hosts | sort –r

cat /etc/hosts | tr –d a,4,’.’

В unix системах очень большое количество символов являются служебными и могут иногда восприняться не так, как вы хотите в команде. Чтобы они воспринимались как обычные символы, их нужно экранировать, это выполняется с помощью одинарных кавычек или обратного слеша (\). Пробел, знак комментария (#), знак конвейера, слеши – одни из служебных символов, их существует большое количество.

Задание:

1.Создайте файл со словами, буквами, символами, а так же цифрами и попробуйте все варианты сортировки.

2.Создайте файл с каким-нибудь предложением и удалите из него любой повторяющийся символ.

3.Замените любой символ любым другим

4.Создайте текстовый файл, наполните его единичными символами из букв и цифр

(для наглядности лучше в столбик). Одной командой отсортируйте его в обратном порядке, замените любой символ любым другим, уберите из него любые два символа.

5.Одной командой очистите от знаков комментария файл /etc/fstab и сохраните его в своей домашней директории.

Соседние файлы в предмете Современные операционные системы