Переназначение выхода и входа программ, программные каналы
ОПИСАНИЕ Команда ls для каждого имени каталога распечатывает список входящих в этот каталог файлов; для файлов — повторяется имя файла и выводится дополнительная информация в соответствии с указанными флагами. По умолчанию имена файлов выводятся в алфавитном порядке. Если имена не заданы, выдается содержимое текущего каталога. Если заданы несколько аргументов, то они сортируются по алфавиту… Читать ещё >
Переназначение выхода и входа программ, программные каналы (реферат, курсовая, диплом, контрольная)
Пензенский Государственный Университет ОТЧЕТ по контрольной работе № 1
по дисциплине «Операционные системы»
Тема: «Переназначение выхода и входа программ, программные каналы»
Пенза
Цель работы:
Познакомиться с особенностями загрузки операционной системы Linux в режиме терминала, входа в систему и регистрации пользователей, научиться выполнять переназначение файлов и использовать переназначения для работы командами операционной системы, ознакомится с применением программных каналов (конвейеров).
Лабораторные задания:
1. Просмотреть страницу руководства по команде ls, выполнив команду вызова справочной системы man ls. Выполнить команду ls, которая позволяет просмотреть содержимое текущего каталога.
2. Выполнить команду просмотра текущей даты и времени date.
3. Запустить программу midnight commander, выполнив команду mc. Проанализировать содержимое текущего каталога и место каталога пользователя в смонтированной файловой системе. Проанализировать характер размещения файлов различного назначения в каталогах.
4. Командой echo — n > имя файла создать файл. С помощью команд cat и ls просмотреть его содержимое и длину.
5. Задействовав ряд ключей команды ls, получить результат, аналогичный представленному в примере с файлом spo. Объяснить значение каждого поля.
6. Открыть файл в текстовом редакторе Набрать несколько осмысленных строк. Завершить работу с редактором.
7. Просмотреть содержимое файла, используя команду cat. Повторно войти в редактор и изменить файл таким образом, чтобы количество строк в нем превышало 25 (число строк на экране). Вновь вывести файл на экран. Объяснить полученные результаты.
8. Используя команду more, добиться поэкранного вывода файла. Объяснить полученные результаты.
9. Командой mkdir <�имя каталога> создать каталог. Скопировать туда созданный файл.
10. Попытаться произвести повторное копирование. Объяснить полученные результаты. Используя опции команды cp, добиться результата.
11. Скопировать в каталог тот же файл, указав в качестве приемника имя, отличающееся от старого лишь последним символом. Повторить операцию 4 раза.
12. Командой cd <�имя каталога> перейти в созданный каталог. Скопировать в домашний каталог 4 файла, используя разные виды масок (*,?, []). Необходимо каждый раз просматривать содержимое каталога командой ls — l. После каждого копирования удалять файлы в каталоге — адресате командой rm, используя необходимые ключи.
13. Удалить все созданные файлы, используя команду rm <�имя файла>. Во избежание удаления файлов, созданных другой бригадой, при выполнении этого пункта задания, запрещается пользоваться маской «*» .
14. После входа в систему в своем создать свой собственный рабочий каталог и перейти в него.
15. Создать в рабочем каталоге подкаталог.
16 Создать пример текстового файла командой cat. Файл должен содержать несколько строк информации.
17 Создать файл с содержимым каталога. Просмотреть полученный файл.
18. Используя программный канал, обработать результаты выполнения команды ls фильтром grep. Результат сохранить в файле.
Результаты выполнения команд
1. Если ввести команду man ls, то после нажатия Enter мы попадаем в утилиту man, которая выдает информацию о команде ls.
Описание команд в руководстве состоит из нескольких частей. Чаще всего их пятьЖ синопсис (синтаксис команды с указанием её опций и аргументов), описание, опции, файлы и перекрестные ссылки.
Ниже приводиться сокращенный вариант страницы руководства, посвященной команде ls:
LS (1)
НАЗВАНИЕ ls — выдача информации о файлах или каталогах
СИНТАКСИС
ls [-R] [-a] [-d] [-C] [-x] [-m] [-l] [-n] [-o] [-g] [-r] [-t] [-u] [-c
[-p] [-F] [-b] [-q] [-i] [-s] [-f] [имя.]
ОПИСАНИЕ Команда ls для каждого имени каталога распечатывает список входящих в этот каталог файлов; для файлов — повторяется имя файла и выводится дополнительная информация в соответствии с указанными флагами. По умолчанию имена файлов выводятся в алфавитном порядке. Если имена не заданы, выдается содержимое текущего каталога. Если заданы несколько аргументов, то они сортируются по алфавиту, однако сначала всегда идут файлы, а потом каталоги с их содержимым.
Существует три основных формата выдачи. По умолчанию выдается по одному файлу в строке; флаги — C и — x позволяют выдавать информацию в несколько колонок, а флаг — m задает свободный формат. Для определения формата вывода при указании флагов — C, — x и — m используется переменная окружения COLUMNS, значение которой равно количеству символов в выходной строке. Если эта переменная не установлена, используется база данных и значение переменной окружения TERM. Если эта информация недоступна, длина выходной строки берется равной 80.
В утилите man успользуется собственный набор команд для задания которых, как правило достаточно нажатия одной клавиши. Нажатие клавиши пробела или клавиши f выводит следующую страницу. Нажатие клавиши b выводит предыдущую. Нажатие q - выход из утилиты.
Теперь можно посмотреть содержимое текущего каталога.
[student/student] $ ls *
…
les. txt
lab1. …
[student/student] $ _
2. С помощью команды date можно просмотреть текущие дату и время:
[student/student] $ date
Mon Sep 16 8: 21: 35 PDT 2002
[student/student] $ _
3. В операционной системе Linux файлы организованы в виде древовидной структуры, называемой файловой системой. Корневой каталог дерева имеет имя «/». Имена всех остальных файлов содержат путь по дереву, начинающийся с имени главного каталога (абсолютное или полное путевое имя файла). При обращении к файлам текущего каталога можно использовать относительные имена, которые содержат имена файлов в самом текущем каталоге и путевые имена в каталогах, расположенных по дереву ниже текущего. В системе используются специальные имена для обозначения текущего каталога -" ." и родительского каталога -" .". Для упрощения работы можно использовать специальный символ «~». Этот символ обозначает абсолютное путевое имя начального каталога.
Особенностью операционной системы Linux является то, что все файлы в каталогах располагаются в соответствии со своими типами. Рассмотрим примеры размещения файлов в каталогах.
/bin — в этом каталоге размещаются файлы, реализующие команды и утилиты системы общего пользования.
/dev — этот каталог содержит специальные файлы являющиеся интерфейсом для доступа к периферийным устройствам.
/etc — здесь размещаются системные конфигурационные файлы и утилиты администрирования.
/lib — данный каталог служит для хранения библиотечных файлов систем программирования.
/mnt — стандартный каталог для временного связывания (монтирования) других файловых систем для получения единого дерева.
/home — каталог для размещения каталогов пользователей.
программный канал операционная система
/usr — здесь размещаются подкаталоги содержащие файлы различных приложений, их назначение также определяется типами файлов.
Интерфейс операционной системы представлен командным интерпретатором shell. В лабораторном практикуме будет использоваться командный интерпретатор Bourn shell.
4. Команда echo иллюстрирует свои документы, представляя их в стандартный вывод. Но эту команду можно использовать для создания файла.
[student/student] $ echo — n > lesf1
Параметр — n do not output the trailing newline
Посмотреть содержимого созданного файла можно по команде cat:
[student/student] $ cat lesf1
….
[student/student] $ _
Размер файла можно узнать, выполнив команду ls с параметром — s — показать размеры файлов:
[student/student] $ ls — s lest1
….
[student/student] $ _
5. Команда ls может выполняться со следующими ключами:
Командой ls обрабатываются следующие флаги:
— R | Рекурсивно обойти встретившиеся подкаталоги. | |
— a | Вывести список всех файлов (обычно не выводятся файлы, имена которых начинаются с точки). | |
— d | Если аргумент является каталогом, то выводить только его имя, а не содержимое. Часто используется с флагом — l для получения сведений о состоянии каталога. | |
— C | Вывод в несколько колонок с сортировкой по колонкам. | |
— x | Вывод в несколько колонок с сортировкой по строкам. | |
— m | Вывод в свободном формате, имена файлов разделяются запятыми. | |
— l | Вывод в длинном формате: перед именами файлов выдается режим доступа, количество ссылок на файл, имена владельца и группы, размер в байтах и время последней модификации (см. ниже). Если файл является специальным, то в поле размера выводится старший и младший номера устройства. | |
— n | То же, что и — l, но идентификаторы владельца и группы выводятся в виде чисел, а не в виде имен. | |
— o | То же, что и — l, но идентификатор группы не выводится. | |
— g | То же, что и — l, но идентификатор владельца не выводится. | |
— r | Изменить порядок сортировки на обратный алфавитный или, при наличии флага — t, сначала выводить более старые файлы. | |
— t | Имена файлов сортируются не по алфавиту, а по времени (сначала идут самые свежие файлы). По умолчанию используется время последнего изм енения. См. также флаги — u и — c. | |
— u | Вместо времени последнего изменения использовать время последнего доступа для сортировки (с флагом — t) или для вывода (с флагом — l). | |
— c | Вместо времени последнего изменения использовать время последней модификации описателя файла (т.е. время создания файла, изменения режима доступа к нему и т. п.) для сортировки (с флагом — t) или для вывода (с флагом — l). | |
— p | Если файл является каталогом, то выдавать после его имени символ /. | |
— F | Если файл является каталогом, то выдавать после его имени символ /; если файл является выполняемым, то выдавать после его имени символ *. | |
— b | Выдавать непечатные символы, входящие в имя файла, в восьмеричном виде (ddd). | |
— q | Выдавать непечатные символы, входящие в имя файла, в виде символа?. | |
— i | Выдавать в первой колонке номера описателей файлов. | |
— s | Выдавать размер файлов в блоках (включая косвенные блоки). | |
— f | Рассматривать каждый аргумент как каталог и выводить его содержимое. Этот флаг отменяет флаги — l, — t, — s, — r и включает флаг — a. Сортировка имен файлов не производится; имена выдаются в таком порядке, в каком они перечислены в каталоге. | |
6. Создадим новый файл с помощью текстового редактора ed.
[student/student] $ ed lesf2
После того как выведеться на экран сообщение о несуществующем файле и запрос на дальнейшие действие, вводим команду a означающее добавление текста, и вводим тест:
? a
This file is redacted and created from redactor ed.
This redactor use by OS Unix.
Autors: les, 99vp1, FVT, PGU
Для записи содержимого вводиться команда w, а для выхода из редактора — q.
7. Для просмотра вводим команду:
[student/student] $ cat lesf2
This file is redacted and created from redactor ed.
This redactor use by OS Unix.
Autors: les, 99vp1, FVT, PGU
[student/student] $ _
Для добавления строк к этому файлу вводим команду
[student/student] $ ed lesf2
a
Autor Linux:
Linus Torvald
and some programers in the world.
Ver. Unix & Shell
Bourne Again Shell
TCSH
In processors
Pentium
Linux — variant OS Unix
History of Linux begin from history of Unix
This is 13 string from added text from file
This is — lesf2
(Ludmila Elena Svetlana File # 2)
gruppa # 99vp1
today: September, 16
time: 08: 39
we regisreted as student
This is 20 string
In this moment N string=N string+1
And this string number =22
String
In this text
Writed
By LES_podgrupp
W
q
[student/student] $ cat lesf2
После этой команды показываються только последние строки файла, так как вывод на экран произошел очень быстро. Во избежание этого можно использовать фильтр more.
8. [student/student] $ cat lesf2 | more
После этой команды показываються первые строки файла, умещающиеся на странице:
This file is redacted and created from redactor ed.
This redactor use by OS Unix.
Autors: les, 99vp1, FVT, PGU
Autor Linux:
Linus Torvald
and some programers in the world.
Ver. Unix & Shell
Bourne Again Shell
TCSH
In processors
Pentium
Linux — variant OS Unix
History of Linux begin from history of Unix
This is 13 string from added text from file
This is — lesf2
(Ludmila Elena Svetlana File # 2)
gruppa # 99vp1
today: September, 16
time: 08: 39
we regisreted as student
This is 20 string
In this moment N string=N string+1
— - - M O R E — ;
Данная команда позволяет вывести файл на экран постранично. В данном случае конвейеризация воспринимает вывод одной команды и передает его другой (фильтру) в качестве ввода.
Таким образом, весь текст файла разбиваеться на страницы и ожидает нажатие клавиши пробела.
9. Для создания каталога нужно выполнить следующую команду
[student/student] $ mkdir lesfile
[student/student] $ _
После этого копируем последний созданный файл в этот каталог.
[student/student] $ cp lesf2 lesfile/lesf2
10. Пытаемся скопировать этот файл еще раз в ту же директорию
[student/student] $ cp lesf2 lesfile/lesf2
Получаем сообщение о том, что там уже есть этот файл. С помощью опции cp выполняем операцию без сообщений об ощибке.
11. Скопируем в каталог тот же файл, указав в качестве приемника имя, отличающееся от старого лишь последним символом.
[student/student] $ cp lesf2 lesfile/lesf3
[student/student] $ cp lesf2 lesfile/lesf4
[student/student] $ cp lesf2 lesfile/lesf5
[student/student] $ cp lesf2 lesfile/lesf6
12. Командой cd Lesfile переходим в созданный каталог.
[student/student] $ cd Lesfile
[student/student] $ pwd
lesfile
[student/student] $ _
Скопируем в домашний каталог файлы, используя разные виды масок (*,?, []).
Например, команда ср *f4 /home позволяет скопировать только файл lesf4.
[student/student] $ cp lesf* /home
[student/student] $ ls — l /home
99vp1 расширенный формат
lesf2
lesf3
lesf4
lesf5
lesf6
[student/student] $ rm — i /home/lesf*
student/student] $ cp lesf [3−6] /home
[student/student] $ ls — l /home
99vp1 расширенный формат
lesf3
lesf4
lesf5
lesf6
[student/student] $ rm — i /home/lesf*
student/student] $ cp lesf? /home
[student/student] $ ls — l /home
99vp1 расширенный формат
lesf2
lesf3
lesf4
lesf5
lesf6
[student/student] $ rm — i /home/lesf?
[student/student] $ ls — l /home
99vp1 расширенный формат
13. Удаляем созданные файлы следующей командой
[student/student] $ rm — ir /home/ 99vp1/les/les*
14. Создаем новый рабочим каталог
[student/student] $ mkdir /home/lesdir
[student/student] $ cd /home/lesdir
15. Создаем подкаталог
[student/student] $ mkdir /home/lesdir/pdir
16. Создаем текстовый файл командой cat
[student/student] $ cat > Unixfile. lab
We make new file on name Unixfile
This file content 2 string
^D
17. Переопределим результат выполнения программы ls в файл
[student/student] $ ls — a > katalog. ls
[student/student] $ cat katalog. ls
pdir
[student/student] $ _
18. Посмотрим сколько в этом каталоге файлов с расширением. ls.
[student/student] $ ls|grep 8. ls > filtr. ls
[student/student] $ cat filtr. ls
katalog. ls
[student/student] $ _
Выводы по результатам выполнения работы
В результате выполнения лабораторной работы мы
познакомились с особенностями загрузки операционной системы Linux в режиме терминала, входа в систему и регистрации пользователей,
познакомились со стандартными каталогами Linux,
загружали midnight commander,
ползовались утилитой man,
используя тексовый редактор ed, научились создавать, редактировать текстовые файлы,
изучили синтаксис команд и некоторые из них, такие как ls, cat, cp, rm, mkdir, pwd, и др.
научились выполнять переназначение файлов и использовать переназначения для работы командами операционной системы,
ознакомились с применением программных каналов (конвейеров).