Тектовый редактор VI. ОС UNIX ...

1



4



.







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

Текстовый редактор vi. Создание и сохранение файлов. Основные режимы работы. Назначение и функции командного режима. Назначение и функции режима редактирования.







Цель работы: Изучение и закрепления студентами навыков использования основных команд экранного редактора vi.

1. Скопировать файл /etc/passwd в Ваш входной каталог
2. Вставить перед первой строкой следующую строку:
# file /etc/passwd
3. Вставить после строки с вашим регистрационным именем следующую строку:
user00:x:0:1:superuser:/home/user00:/sbin/ksh
4. Изменить GID в вашей строке и в следующих 3 строках на 100.

	







Для выполнения задания 1 выполните следующие команды:

cd

cp /etc/passwd passwd

chmod u+w passwd

В задании 2 установить курсор на первую строку,  и с помощью команды "O" ввести текст.

В задании 3 установить курсор на соответствующую строку, и с помощью команды "o" ввести текст.

Для выполнения задания 4 установить курсор на соответствующую строку (начинающуюся с вашего регистрационного имени) и первую цифру GID; командой cw100 изменить GID. Установить курсор на следующую строку (идентификатор пользователя) и  цифру GID и повторить команду с помощью ".". Выполнить аналогичные действия для других строк.









		Скопировать файл /etc/passwd в свой входной каталог:

$ cp /etc/passwd passwd – копирование файла в текущий каталог

Результат: Скопирован файл passwd.

		Вставить перед первой строкой следующую строку:
# file /etc/passwd:

Перед тем, как редактировать файл, необходимо установить соответствующий доступ (w):

$ chmod u+w passwd

$ vi passwd

О – пустая строка для текста (над текущей).

Результат: Курсор передвинули к началу экрана, вставили необходимую строчку (нажимаем i для вставки). 

		Вставить после строки с вашим регистрационным именем следующую строку:
user00:x:0:1:superuser:/home/user00:/sbin/ksh

о – пустая строка для текста (под текущей).

Результат: Нашли свою регистрационную строчку, вставили новую (требуемую).
4. Изменить GID в вашей строке и в следующих 3 строках на 100:

cw100

cw100

cw100

Результат: Устанавливаем курсор, нажимаем cw (при этом старые данные удаляются) и вводим новое значение и esc (для выхода в командный интерфейс).



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

Процессы. Порождение процессов. Процессы родители и процессы-потомки. Взаимодействие процессов.







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

1. Определить номер процесса вашей стартовой программы shell;
2. Завершить свой стартовый процесс shell командой kill;
3. Какие процессы выполняются под  управлением пользователя (любого из 
зарегистрировавшихся в системе)?;
4. Выполнить следующую команду:

	sleep 3600 &

	запомнить выданный номер процесса PID;
5. Завершить фоновый процесс (sleep) командой kill. Объяснить результат (номер процесса (PID) берется  из задания 4);
6. Создайть конвейер из команд cat /etc/passwd и nl. Объяснить принцип взаимодействия процессов и причину вывода результата выполнения команды nl на терминал пользователя;
7. Создать конвейер команд, в результате выполнения которых можно получить число пользователей, работающих в текущий момент;






 

Для выполнения задания 3 выполнить команду: 

ps -fu имя_пользователя; 

В задании 4 использовать команду  ps -fu имя_пользователя.









Определить номер процесса вашей стартовой программы shell;

$ sh – запускаем процесс

$ ps – смотрим, что запущено:

PID  CLS PRI  TTY      TIME   COMD

2078 TS  70  pts009    0:00    sh

данные

данные

…

Результат: Показывает процессы, которые запущены на данный  

момент.

Завершить свой стартовый процесс shell командой kill;

$ kill –s 9 2078

запустив команду ps можно убедиться в том, что процесс shell завершен. 

Результат: Процесс shell завершен.

Какие процессы выполняются под  управлением пользователя (любого из зарегистрировавшихся в системе)?;

$ ps -fu di2016

UID    PID   PPID  CLS PRI  C    STIME TTY      TIME COMD

Di2016 1402  1400   TS  80  0 12:51:10 pts/5    0:00  sh

Результат: Показывает, какие процессы запущены пользователем di2016.

4. Выполнить следующую команду:

sleep 3600 &

запомнить выданный номер процесса PID;

$ sleep 3600 &

2342

Задержка для команды по указанному PID на указанное количество секунд.

Завершить фоновый процесс (sleep) командой kill. Объяснить результат (номер процесса (PID) берется  из задания 4);

$ kill –s 9 2342

Результат: процесс sleep был завершен командой kill.

Создайть конвейер из команд cat /etc/passwd и nl. Объяснить принцип взаимодействия процессов и причину вывода результата выполнения команды nl на терминал пользователя;

$ cat /etc/passwd|nl

Root:x:0:3:0000-Admin(0000):/:/sbin/sh

…

152 di2016:x:431:1::/home/di201:/usr/bin/sh

Результат: Вывод файла на экран с нумерацией строк.

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

$ who|nl

1  root       console      Apr 17 11:05

2  di2011     pts004       Apr 17 11:16

3  di20111    pts009       Apr 17 12:34

4  di2016     pts003       Apr 17 12:43

Результат: Вывод информации о том, кто находится в сети с нумерацией строк.



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

Использование команд операционной системы UNIX.







Цель работы: изучение и закрепления студентами навыков работы с ОС.

Перейдите в каталог "/etc".

1.Укажите шаблоны, которые подходят для следующих имен файлов:

1) всех имен 

2) всех имен, которые начинаются с  "."

3) всех имен, которые начинаются с  ".c" 

			4) всех имен, которые начинаются с "a" и     оканчиваются на ".f"

5) всех имен, которые оканчиваются не на "v", "w", "x", "y" или "z" 

6) всех имен, которые состоят из трех строчных букв

		7) всех имен, которые содержат, по крайней мере, одну гласную букву 

		8) все элементы, которые начинаются с буквы и имеют длину в два символа.

		Что происходит, если shell не находит подходящего элемента?







Перейдите в каталог "/etc".

1.Укажите шаблоны, которые подходят для следующих имен файлов:

$ cd /

$ cd etc



$ ls

Результат: все файлы в каталоге.

$ echo .*

Результат: . .. .pwd.lock

$ ls .c*

Результат: файлы с комбинацией “.с” отсутствуют в данном каталоге.

$ ls a*.f

Результат: файлы с комбинацией “a*.f” отсутствуют в данном каталоге. Где * - заменяет символ, группу символов или их отсутствие.

$ echo *[a-u]

Результат: выведен список файлов.

$ echo [a-z][a-z][a-z]

Результат: выведен список файлов.

$ echo *[aeiouy]*

Результат: выведен список файлов.

$ echo [a-z]?

Результат: выведен список файлов. ? – один символ.

		Что происходит, если shell не находит подходящего элемента?

Если используется команда echo, то выводится сам шаблон. Если используется команда ls, то выводится сообшение: «файлы не найдены». 













 





$ logname – вывод системного идентификатора пользователя.

$ tty – вывод информации о терминале, соединенном со стандартным вводом.

$ who – вывод списка пользователей подключенных в данный момент к системе, даты и времени входа каждого пользователя в систему.

$ pwd – вывод имени текущего каталога (выведет регистрационный каталог, если мы в нем находимся).

$ cd – делает указанный каталог текущим рабочим каталогом.

$ pwd – вывод имени каталога в котором мы находимся.

$ cd – при вводе $cd делает домашний каталог текущим.

$ ls – при вводе без параметров выдаст список файлов  и подкаталогов текущего каталога.

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

$ cat – выводит содержимое файла на экран. 

$ сat - >>f1 – вся информация, вводимая с клавиатуры, будет записана в файл. Завершение работы – ctrl-d. 

$ сat - >>f2 – вся информация, вводимая с клавиатуры, будет записана в файл f2.

$ cp – копирование содержимого файла в файл с другим именем либо в другой каталог с сохранением существующего имени файла, всех файлов одного каталога в другой каталог.

$ mv – переименование файла или перемещение одного или нескольких файлов в другой каталог.

$ mv f2 .../dd2 – эта команда перемещает указанный файл в указанный каталог. 

$ ls –i – при вводе с параметром –i – вывод индексов файлов.

$ find – поиск файлов. Параметр –name – поиск файлов с указанным именем. Параметр –print – вывод имен найденных файлов на экран, этот параметр обязателен, если пользователь хочет увидеть результат поиска. 

$ find –name profile –print – вывод на экран найденных файлов.

$ page – выводит на экран весь файл или его части.