Работа с текстовыми редакторами, процессами и файловыми системами

 

Министерство Образования и науки Российской Федерации

"Уральский федеральный университет"

Физико-технологический институт

кафедра Вычислительной техники












"Операционные системы"





студент группы ФТ-110802: Шипигусев А.А.







Екатеринбург


Лабораторная работа №1. Изучение основных команд для работы с файлами

Цель: Ознакомиться с:

основными функциями для работы с файлами.

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


Ход работы:

1)Вход в систему под выданной пользовательской учетной записью.

rmpg3

2)Создание в домашнем каталоге файла отчета с именем lab1.txt при помощи команды touch:

rmpg3@rmpg3-Satellite-L40:~$ touch lab1.txt

3)Просмотр значений переменных окружения при помощи команды set:

rmpg3@rmpg3-Satellite-L40:~$ set

4)Вывод в файл lab1.txt значений переменных окружения PATH, LANG, HOME:

rmpg3@rmpg3-Satellite-L40:~$ echo PATH=$PATH>>lab1.txt@rmpg3-Satellite-L40:~$ echo LANG=$LANG>>lab1.txt@rmpg3-Satellite-L40:~$ echo HOME=$HOME>>lab1.txt

5)Просмотр полученного файла при помощи команды less:

rmpg3@rmpg3-Satellite-L40:~$ less lab1.txt

Выводит:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

LANG=ru_RU.UTF-8

HOME=/home/rmpg3

6)Последовательный переход в каталоги /bin, /usr, /etc, /usr/bin. В каждом каталоге выполняется команда ls с различными ключами (-a, -l, -F, -R). Если вывод команды ls

не умещается на экране, то можно воспользоваться командой less (напр. Ls -l | less):

ls -a (вывод всех файлов каталога)

ls -l (информация о файле)

ls -F (папки каталога)

ls -R (выводит список файлов каталога и его подкаталогов)

Переход в каталог /bin:

rmpg3@rmpg3-Satellite-L40:/bin$

Выполнение команды ls с различными ключами:

@rmpg3-Satellite-L40:/bin$ ls -a :


rmpg3@rmpg3-Satellite-L40:/bin$ ls -l :


rmpg3@rmpg3-Satellite-L40:/bin$ ls -F :


rmpg3@rmpg3-Satellite-L40:/bin$ ls -R :


Переход в каталог /usr:@rmpg3-Satellite-L40:/bin$ cd /usr

Выполнение команды ls с различными ключами:


rmpg3@rmpg3-Satellite-L40:/usr$ ls -a :

@rmpg3-Satellite-L40:/usr$ ls -l :


rmpg3@rmpg3-Satellite-L40:/usr$ ls -F :

@rmpg3-Satellite-L40:/usr$ ls -R :


ереход в каталог /etc :@rmpg3-Satellite-L40:/usr$ cd /etc

Выполнение команды ls с различными ключами:

@rmpg3-Satellite-L40:/etc$ ls -a :

@rmpg3-Satellite-L40:/etc$ ls -l :

rmpg3@rmpg3-Satellite-L40:/etc$ ls -F :

@rmpg3-Satellite-L40:/etc$ ls -R :


Переход в каталог /usr/bin:@rmpg3-Satellite-L40:/etc$ cd /usr/bin

Выполнение команды ls с различными ключами:


rmpg3@rmpg3-Satellite-L40:/usr/bin$ ls -a :


rmpg3@rmpg3-Satellite-L40:/usr/bin$ ls -l :

@rmpg3-Satellite-L40:/usr/bin$ ls -F :

@rmpg3-Satellite-L40:/usr/bin$ ls -R :


7)Переход обратно в домашний каталог:

rmpg3@rmpg3-Satellite-L40:/usr/bin$ cd

8)Изучение команд uname и date :

rmpg3@rmpg3-Satellite-L40:~$ uname

Выводит: Linux@rmpg3-Satellite-L40:~$ date

Выводит:

Сб. мая 26 19:13:50 YEKT 2012

Дополнительная информация по этим командам:@rmpg3-Satellite-L40:~$ man uname

и@rmpg3-Satellite-L40:~$ man date

9)Сравнение команд date иdate :

rmpg3@rmpg3-Satellite-L40:~$ date

Выводит:

Сб. мая 26 19:13:50 YEKT 2012@rmpg3-Satellite-L40:~$date

Выводит: May 26 19:21:47 YEKT 2012

10)Добавление в конец отчета информации, выводимой командами uname -a и date :

rmpg3@rmpg3-Satellite-L40:~$ uname -a>>lab1.txt@rmpg3-Satellite-L40:~$ date>>lab1.txt

11)Создание в домашнем каталоге подкаталогов test1 и test2 :

rmpg3@rmpg3-Satellite-L40:~$ mkdir test1 test2

12)Копирование файла /home/labs/text.txt в каталог test2.Добавление в файл отчета вывода команды ls -R

Копирование файла /home/labs/text.txt в каталог test2 :

rmpg3@rmpg3-Satellite-L40:~$ cp labs/text.txt test2

Добавление в файл отчета вывода команды ls -R :

rmpg3@rmpg3-Satellite-L40:~$ ls -R>>lab1.txt

13)Перемещение файла text.txt из каталога test2 в каталог test1

rmpg3@rmpg3-Satellite-L40:~$ mv test2/text.txt test1

Добавление в файл отчета вывода команды ls -R :

rmpg3@rmpg3-Satellite-L40:~$ ls -R>>lab1.txt

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

/usr/share содержащие в своем имени сочетание букв ru (используются параметры -type и -name):


rmpg3@rmpg3-Satellite-L40:~$ find /usr/share -type d -name ru >> lab1.txt

/usr/share/cups/doc-root/ru

/usr/share/cups/templates/ru

/usr/share/cups/locale/ru

/usr/share/man/ru

/usr/share/locale/ru

/usr/share/locale/l10n/ru

/usr/share/libreoffice/basis3.4/help/ru

/usr/share/locale-langpack/ru

/usr/share/doc/kde/HTML/ru

/usr/share/kde4/apps/klettres/ru

/usr/share/kde4/apps/kvtml/ru

/usr/share/kde4/apps/ktuberling/sounds/ru

/usr/share/kde4/apps/ksgmltools2/customization/ru


15)С помощью команды rmdir удаляем каталоги, созданные при выполнении пункта 11:

rmpg3@rmpg3-Satellite-L40:~$ rm -rf test1 test2

16)Добавлем в конец файла две строки. Первая содержит текст: Лабораторная работа №1. Вторая - имя и фамилию студента, выполнившего работу.

rmpg3@rmpg3-Satellite-L40:~$ echo "Лабораторная работа №1" >> lab1.txt

rmpg3@rmpg3-Satellite-L40:~$ echo "Шипигусева Александра" >> lab1.txt

Лабораторная работа №2 Знакомство с редактором Vim.


Цель:

Познакомиться с основными возможностями и функциями терминала по работе с текстом. Познакомиться с текстовым редактором vi.


Одним из самых старых текстовых редакторов является редактор vi. Этот редактор обладает несколько своеобразным интерфейсом и, поначалу, работа с ним вызывает у неопытного пользователя серьёзные затруднения, но тем не менее этот редактор очень популярен и многие тысячи людей используют именно его для редактирования текстов. Практически в любой UNIX совместимой системе имеется какая-либо реализация vi. Наиболее удобной, на мой взгляд, является vim.

Для освоения редактора vim запустите команду vimtutor и выполните упражнения содержащиеся в открывшемся файле. Если Вам не очень понятен английский язык, воспользуйтесь приведенной ниже краткой справкой по vi.

Редактор vi

Vi экранный текстовый редактор. Большая часть экрана используется для отображения редактируемого файла. Последняя строка экрана используется для ввода команд и вывода различной информации. Редактор может находиться либо в режиме редактирования, либо в режиме ввода команд. Для того, чтобы совершать какие либо действия Вы должны находиться в нужном режиме. После запуска редактор находится в командном режиме. Для перехода из режима редактирования в командный режим используется клавиша Esc. Для того, чтобы начать редактирование файла используется команда vi имя_файла.

Основные возможности в командном режиме

Перемещение по файлу:

h, left-arrow переместить курсор влево на один символ

j, down-arrow переместить курсор вниз на одну строку

k, up-arrow переместить курсор вверх на одну строку, right-arrow переместить курсор вправо на один символ

/text<cr> найти строку text в файле и поместить курсор на ее первый символ. После этого

можно использовать клавиши n и Shift-n для перемещения к следующему или

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

Переход в режим редактирования:

iначать ввод текста перед курсором

aначать ввод текста после курсора

oвставить строку после текущей и начать ввод текста в ней

Oвставить строку перед текущей и начать ввод текста в ней

Копирование, вставка и удаление:

yy y$ yw скопировать строку, строку от позиции курсора до конца, слово.

dd d$ dw удалить строку, строку от позиции курсора до конца, слово.

x удалить символ

p вставить содержимое буфера после курсора

P вставить содержимое буфера перед курсором

u отменить последнюю операцию

Сохранение и чтение файлов, выход из редактора:

:w<cr>- сохранить файл;

:w filename<cr>-сохранить файл под указанным именем;

:r filename<cr>-вставить содержимое указанного файла;

:q<cr> -выйти из редактора

:wq<cr>-сохранить файл и выйти из редактора;

:q!<cr>- выйти без сохранения файла.


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

Простейшие команды для работы с текстом


Цель:

Познакомиться с основными возможностями и функциями терминала по работе с текстом. Познакомиться с текстовым редактором vi.

Ход выполнения работы:

{за файл text.txt был взят оччет по первой лабораторной работе}

  1. Скопируйте в домашний каталог файл /home/labs/text.txt.

rmpg3@rmpg3-Satellite-L40:~$ cp labs/text.txt /home/rmpg3

  1. Выведите первые 10 строк файла text.txt.

rmpg3@rmpg3-Satellite-L40:~$ head -n 10 text.txt

  1. Выведите последние 10 строк файла text.txt.

rmpg3@rmpg3-Satellite-L40:~$ tail -n 10 text.txt

  1. Отсортируйте строки файла, исключив повторяющиеся, и выведите в файл отчета (lab2.txt) строки с 205-й по 215-ю из полученного результата. (Выполнить одним конвейером, используя команды sort, head, tail).

rmpg3@rmpg3-Satellite-L40:~$ sort -u text.txt | head -n 215 | tail -n 10 | sort -o lab3.txt

  1. Скопируйте в домашний каталог файл /home/labs/text1.txt.

rmpg3@rmpg3-Satellite-L40:~$ cp labs/text1.txt /home/rmpg3

  1. Добавьте в файл отчета все строки файла text.txt которых нет в файле text1.txt. Используйте команду comm, не забудьте отсортировать файлы перед тем, как подавать их на вход команды comm.

rmpg3@rmpg3-Satellite-L40:~$ sort -o text.txt text.txt@rmpg3-Satellite-L40:~$ sort -o text1.txt text1.txt@rmpg3-Satellite-L40:~$ comm -1 text.txt text1.txt >> lab3.txt

  1. Подсчитайте число слов в файле text.txt и добавьте его в файл отчета.

rmpg3@rmpg3-Satellite-L40:~$ wc -w text.txt >> lab3.txt

  1. Файл /etc/passwd содержит учетные записи пользователей. Каждая учетная запись содержится в отдельной строке и состоит из нескольких полей разделенных двоеточиями. Первое поле содержит имя пользователя, третье поле содержит его идентификатор. Выведите отсортированный список пользователей и их идентификаторов в файл отчета. (Воспользуйтесь командами cut и sort).

rmpg3@rmpg3-Satellite-L40:~$ cut -f 1,3 -d: /etc/passwd | sort >> lab3.txt

  1. Отредактируйте файл отчета при помощи редактора vi:

rmpg3@rmpg3-Satellite-L40:~$ vi lab3.txt

  • Добавьте в начало файла строки содержащие номер лабораторной работы и Ваше имя.
  • Устанавливаем курсор на начало первой строки, нажимаем O. Вводим название лабораторной и имя.
  • Скопируйте пять строк файла начиная с пятой и вставьте их в конце файла.
  • Переводим курсор на 5ую строку. Нажимаем y5. Перводим курсор в конец файла
  • нажимаем p.
  • Удалите предпоследнюю строку.

Переводим курсор на предпоследнюю строку и нажимаем dd.

Сохраняем изменения и выходим, для этого набираем :wq .


Лабораторная работа №4. Команды для управления процессами


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


Использовать на практике основные команды для работы с процессами. Ознакомиться со средствами оболочки преднащначенными для работы с процессами.

Ход выполнения работы:

  1. Освойте работу с командой ps. Попробуйте запускать ее с различными аргументами. Если вывод команды не помещается на экране, используйте команду less.

rmpg3@rmpg3-Satellite-L40:~$ ps -a(выводит информацию о процессах всех пользователей)TTY TIME CMD

pts/2 00:00:00 ps

rmpg3@rmpg3-Satellite-L40:~$ ps -x (выводит информацию о процессах на подключенных к терминалу)

..........................................................

? Ss 0:00 kdeinit4: kdeinit4 Running...

? S 0:00 kdeinit4: klauncher [kdeinit] --fd=9

? Sl 0:03 kdeinit4: kded4 [kdeinit]

? S 0:00 /usr/bin/kglobalaccel

? S 0:00 /usr/bin/kwalletd

? S 0:00 /usr/bin/kactivitymanagerd

? S 0:00 kwrapper4 ksmserver

? Sl 0:00 kdeinit4: ksmserver [kdeinit]

? Sl 0:41 kwin -session 101ce1a71c4161000133806721500000015160000_1338561550_579762

? Sl 4:23 /usr/bin/knotify4

? Sl 1:03 /usr/bin/plasma-desktop

? S 0:00 ksysguardd

? S 0:00 /usr/bin/kuiserver

? Sl 0:00 /usr/bin/akonadi_cont

.....................................................................................@rmpg3-Satellite-L40:~$ ps -w (использовать строки длиной 132 символа)TTY TIME CMD

pts/2 00:00:00 bash

pts/2 00:00:00 ps

@rmpg3-Satellite-L40:~$ ps -e (выводит значения переменных окружения)

...............................................................

? 00:00:00 nginx

? 00:00:00 nginx

? 00:00:00 nginx

? 00:00:01 postgres.bin

? 00:00:03 postgres.bin

? 00:00:00 postgres.bin

? 00:00:00 postgres.bin

? 00:00:00 kio_http_cache_

? 00:00:07 dolphin

? 00:00:00 libreoffice

? 00:00:00 oosplash.bin

? 00:00:29 soffice.bin

? 00:00:15 gwenview

? 00:00:03 konsole

pts/2 00:00:00 bash

? 00:00:00 kworker/0:0

? 00:00:04 ksnapshot

? 00:00:00 kworker/0:1

? 00:00:00 kworker/0:2

pts/2 00:00:00 ps

.......................................................


  1. Выведите в файл отчета1 (lab4.txt) следующую информацию о запущенных Вами процессах: pid, ppid, tty, ruid, command. Вывод должен быть отсортирован по номеру процесса.

rmpg3@rmpg3-Satellite-L40:~$ touch lab4.txt@rmpg3-Satellite-L40:~$ ps -o ppid,tty,ruid,command>>lab4.txt

В файл вывелось:


PPID TT RUID COMMAND

pts/2 1000 /bin/bash

pts/2 1000 ps -o ppid,tty,ruid,command

  1. Выведите в файл отчета информацию о процессах запущенных пользователем root. Вывод должен быть отсортирован по номеру процесса.

rmpg3@rmpg3-Satellite-L40:~$ ps -U root >> lab4.txt

В файл вывелось:TTY TIME CMD

? 00:00:00 init

? 00:00:00 kthreadd

? 00:00:08 ksoftirqd/0

? 00:00:00 kworker/u:0

? 00:00:00 migration/0

? 00:00:00 cpuset

? 00:00:00 khelper

? 00:00:00 netns

? 00:00:00 sync_supers

? 00:00:00 bdi-default

? 00:00:00 kintegrityd

? 00:00:00 kblockd

? 00:00:00 ata_sff

? 00:00:00 khubd

? 00:00:00 md

? 00:00:00 khungtaskd

? 00:00:10 kswapd0

? 00:00:00 ksmd

? 00:00:00 khugepaged

? 00:00:00 fsnotify_mark

? 00:00:00 ecryptfs-kthrea

? 00:00:00 crypto

? 00:00:00 kthrotld

? 00:00:00 scsi_eh_0

? 00:00:00 scsi_eh_1

? 00:00:00 kworker/u:4

? 00:00:00 scsi_eh_2

? 00:00:00 scsi_eh_3

? 00:00:00 scsi_eh_4

? 00:00:00 jbd2/sda5-8

? 00:00:00 ext4-dio-unwrit

? 00:00:00 upstart-udev-br

? 00:00:00 udevd

? 00:00:00 led_workqueue

? 00:00:00 udevd

? 00:00:00 udevd

....................................................


  1. Ключи -c, -v, -j, -u изменяют формат вывода команды. Попробуйте выполнить команду ps с каждым из этих ключей. Результат сохраните в файле отчета.

@rmpg3-Satellite-L40:~$ ps -c>>lab4.txt

В файл вывелось:

файл тест редактор команда

PID CLS PRI TTY TIME CMD

TS 19 pts/2 00:00:00 bash

TS 19 pts/2 00:00:00 ps

@rmpg3-Satellite-L40:~$ ps -v>>lab4.txt

В файл вывелось:TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND

pts/2 Ss 0:00 15 873 7466 3248 0.3 /bin/bash

pts/2 R+ 0:00 0 82 5661 688 0.0 ps -v

@rmpg3-Satellite-L40:~$ ps -j>>lab4.txt

В файл вывелось:PGID SID TTY TIME CMD

4711 4711 pts/2 00:00:00 bash

5211 4711 pts/2 00:00:00 ps


rmpg3@rmpg3-Satellite-L40:~$ ps -u>>lab4.txt

В файл вывелось:PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND4711 0.0 0.3 8340 3248 pts/2 Ss 14:09 0:00 /bin/bash5213 0.0 0.1 5984 1104 pts/2 R+ 15:02 0:00 ps -u


5,6,7 для этих пунктов нет требующихся программ.

8.Создайте в домашнем каталоге именованный канал fifo. Выполните команду cat /home/labs/dao.txt >fifo Теперь с другого терминала выполните команду cat fifo

10:24:15rmpg3~$mkfifo fifo

:24:27rmpg3~$cat /home/rmpg3/labs/dao.txt > fifo

Выполняем с другого терминала:

:25:27rmpg3~$cat fifo

9. При помощи команд tty, w, uname, uptime выведите в файл отчета (lab3.txt) имя текущего терминала, информацию о пользователях, работающих в системе, название и версию операционной системы, время работы системы.


10:28:04rmpg3~$tty>>lab3.txt

:28:18rmpg3~$w>>lab3.txt

:28:26rmpg3~$uname>>lab3.txt

:28:34rmpg3~$uptime>>lab3.txt


В файл вывелось:


/dev/pts/2

:27:55 up 2 days, 27 min, 3 users, load average: 0,16, 0,46, 0,36TTY FROM LOGIN@ IDLE JCPU PCPU WHATpts/0 :0 Sat10 2days 0.00s 26.91s kdeinit4: kded4 [kdeinit] pts/2 :0 10:24 0.00s 0.31s 0.00s wpts/3 :0 10:25 2:04 0.26s 0.26s /bin/bash

:28:04 up 2 days, 27 min, 3 users, load average: 0.14, 0.44, 0.35

.Установите обработчик сигнала SIGINT. Для этого выполните команду:

trap "echo иполучен сигнал SIGINT " INT

:28:49rmpg3~$trap "echo получен сигнал SIGINT" INT


Пошлите несколько раз оболочке сигнал SIGINT. Для этого следует нажать клавиши CTRL-C при нажитии на ctrl-c выводит: получен сигнал SIGINT.

11.Добавьте в начало файла отчета строку с номером лабораторной работы и Вашим именем.

С помощью редактора vim добавляем номер лабораторной работы и мое имя в начало файла.


Лабораторная работа №5. Настройка оболочки


Цель: Ознакомиться с настройками оболочки UNIX. Ознакомиться с файлом .bashrc , который может использоваться для настройки рабочей среды в соответсвии с потребностями пользователя.

Ход работы:

)Сравните вывод команд date иdate.

rmpg3@rmpg3-Satellite-L40:~$ date &&date

Сб. июня 2 21:28:11 YEKT 2012Jun 2 21:28:11 YEKT 2012

2) Измените приглашение командной строки так, чтобы в нем выводилось время, имя пользователя и текущий рабочий каталог. Заканчиваться приглашение должно символом доллара. Сохраните команду определяющую приглашение в файле .bashrc, чтобы приглашение восстанавливалось при каждом запуске оболочки.

rmpg3@rmpg3-Satellite-L40:~$ PS1="\t\u\w\$"

:44:10rmpg3~$

:44:26rmpg3~$echo PS1="\t\u\w\$">>~/.bashrc

3)Просмотрите значения переменых PPID, PWD, OLDPWD, UID, RANDOM и HOSTNAME и сохраните их в файле отчёта (lab5.txt) в формате имя_переменной=значение.


21:53:32rmpg3~$echo "PPID=$PPID">>lab5.txt

:53:52rmpg3~$echo "PWD=$PWD">>lab5.txt

:54:15rmpg3~$echo "OLDPWD=$OLDPWD">>lab5.txt

:54:58rmpg3~$echo "UID=$UID">>lab5.txt

:55:05rmpg3~$echo "RANDOM=$RANDOM">>lab5.txt

:55:34rmpg3~$echo "HOSTNAME=$HOSTNAME">>lab5.txt

В файл вывелось:=4708=/home/rmpg3==1000=16021=rmpg3-Satellite-L40


) Создайте псевдонимы:


10:32:38rmpg3~$alias ls='l -G'

:35:30rmpg3~$alias ll='l -l'

:35:55rmpg3~$alias la='l -a'

:36:47rmpg3~$alias pa='ps ax'

:37:03rmpg3~$alias x='startx'

:37:17rmpg3~$nano ~/.bashrc {открываем файл bashrc и записываем туда псевдонимы}


)Определите функцию lab, которая будет выводить строку "Лабораторная работа N", где N передаётся функции в качестве аргумента, а затем строку содержащую Ваши имя и фамилию. Сохраните определение функции в файле .bashrc. Добавьте результат работы функции в файл отчета.

:44:37rmpg3~$lab() { echo "Лабораторная работа #$1"; echo "Шипигусев Александр";}

:44:55rmpg3~$lab 5

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

Шипигусев Александр

:45:03rmpg3~$lab 5 >> lab5.txt

:45:29rmpg3~$nano ~/.bashrc


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


Цель работы:

Изучить монтирование и демонтирование файловых систем. Получить дополнительную информацию о файловых системах. Смонтировать файловую систему.

Ходы выполнения работы:

.

a) Просмотрите список смонтированных файловых систем.

rmpg3~$mount -v

/dev/sda5 on / type ext4 (rw,errors=remount-ro,commit=0)on /proc type proc (rw,noexec,nosuid,nodev)on /sys type sysfs (rw,noexec,nosuid,nodev)on /sys/fs/fuse/connections type fusectl (rw)on /sys/kernel/debug type debugfs (rw)on /sys/kernel/security type securityfs (rw)on /dev type devtmpfs (rw,mode=0755)on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)on /run/shm type tmpfs (rw,nosuid,nodev)

/dev/sda8 on /boot type ext4 (rw,commit=0)

/dev/sda7 on /home type ext4 (rw,commit=0))Создайте в домашнем каталоге каталог floppy.

:20:08rmpg3~$mkdir floppy

c)Скопируйте в этот каталог файл /home/labs/text.txt.

18:59:25rmpg3~$cp labs/text.txt floppy

d)Просмотрите содержимое каталога floppy.

19:12:07rmpg3~$dir floppy.txt)Вставьте в дисковод отформатированную дискету. Подмонтируй-те дискету к каталогу floppy.

19:19:16rmpg3~$sudo mount /dev/sdb1 floppy

Выведите в файл отчета список смонтированных файловых систем.

:19:40rmpg3~$mount -v >> lab6.txt

в файл вывелось:

/dev/sda5 on / type ext4 (rw,errors=remount-ro,commit=0)on /proc type proc (rw,noexec,nosuid,nodev)on /sys type sysfs (rw,noexec,nosuid,nodev)on /sys/fs/fuse/connections type fusectl (rw)on /sys/kernel/debug type debugfs (rw)on /sys/kernel/security type securityfs (rw)on /dev type devtmpfs (rw,mode=0755)on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)on /run/shm type tmpfs (rw,nosuid,nodev)

/dev/sda8 on /boot type ext4 (rw,commit=0)

/dev/sda7 on /home type ext4 (rw,commit=0)

/dev/sdb1 on /media/4F06-2EDF type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,uhelper=udisks)

/dev/sda1 on /media/C0F4377BF4377330 type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_permissions)

/dev/sdb1 on /home/rmpg3/floppy type vfat (rw)

2)Размонтируйте дискету. Просмотрите содержимое каталога floppy и список смонтированных файловых систем:

19:29:38rmpg3~$sudo umount /dev/sdb1

:29:53rmpg3~$dir floppy .txt

:30:33rmpg3~$mount -v

/dev/sda5 on / type ext4 (rw,errors=remount-ro,commit=0) on /proc type proc (rw,noexec,nosuid,nodev) on /sys type sysfs (rw,noexec,nosuid,nodev) on /sys/fs/fuse/connections type fusectl (rw) on /sys/kernel/debug type debugfs (rw) on /sys/kernel/security type securityfs (rw) on /dev type devtmpfs (rw,mode=0755) on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) on /run/shm type tmpfs (rw,nosuid,nodev)

/dev/sda8 on /boot type ext4 (rw,commit=0)

/dev/sda7 on /home type ext4 (rw,commit=0)

/dev/sdb1 on /media/4F06-2EDF type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,uhelper=udisks)

/dev/sda1 on /media/C0F4377BF4377330 type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_permissions)

3)Вставьте в дисковод дискету. Отформатируйте её на низком уровне и создайте на дискете файловую систему FAT. Скопируйте на дискету какой-нибудь файл.

:39:39rmpg3~$sudo mkdosfs -F 32 /dev/sdb1

19:39:45rmpg3~$cp lab1.txt /dev/sdb1

4): Выведите в файл отчета сведения о степени использования разделов жесткого диска. Выведите в файл отчета сведения о размере Вашего домашнего каталога. Размер должен быть указан в килобайтах или мегабайтах. Выведите, также, сведения о размере корневого каталога, при этом не выходите за пределы файловой системы, на которой находится корневой каталог:

:51:08rmpg3~$df

Файловая система 1K-блоков Исп Доступно Исп% смонтирована на

/dev/sda5 9612516 5507228 3616996 61% /498912 4 498908 1% /dev203516 856 202660 1% /run5120 0 5120 0% /run/lock508784 2180 506604 1% /run/shm

/dev/sda8 956472 72832 835052 9% /boot

/dev/sda7 37044928 1616648 33546476 5% /home

/dev/sda1 262236992 142295344 119941648 55% /media/C0F4377BF4377330

:57:27rmpg3~$du -ms /home/rmpg3 >> lab6.txt

в файл вывелось:

/home/rmpg3

:57:51rmpg3~$du -kxs >> lab6.txt

в файл вывелось



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


Цель:

Ознакомиться со сценарием (текстовый файл, содержащий команды интерпретатора) и подробно изучить их написание.

Ход выполнения работы:

  1. Создайте в домашнем каталоге подкаталог bin.

11:20:16rmpg3~$mkdir bin

  1. Выведите на экран значение переменной PATH и убедитесь, что она содержит созданный Вами каталог bin.

11:35:04rmpg3~$echo PATH=$PATH

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

  1. При помощи редактора vim создайте файл bin/s1.sh:

12:08:19rmpg3~$sudo vim /home/rmpg3/binhome/s1.sh

for file ; do

echo " $file "

head -n 10 $file done

4.Измените права доступа к файлу. Для этого выполните команду chmod +x bin/s1.sh

Команда добавляет разрешение на выполнение файла.

:10:16rmpg3~$sudo chmod +x binhome/s1.sh

5.Выполните сценарий следующим образом:

s1.sh /home/labs/text.txt /home/labs/dao.txt

13:16:38rmpg3~$cd binhome

:17:50rmpg3~/binhome$sh s1.sh /home/rmpg3/labs/dao.txt /home/rmpg3/labs/text.txt

Выводит первые 10 строчек обоих файлов.

6.Сохраните результат в файле отчёта.

13:18:19rmpg3~/binhome$sh s1.sh /home/rmpg3/labs/dao.txt /home/rmpg3/labs/text.txt >> lab7.txt

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

Содержание s2.sh:-alh $1/ | grep $2

  1. Напишите сценарий, который выводит пронумерованный список файлов с расширением txt в текущем каталоге, ожидает от пользователя ввода номера файла, выводит первые десять строк заданного файла и повторяет цикл. Сценарий сохраните под именем list.sh в каталоге bin.

Содержание list.sh:FILE in~/*.txt QUIT[ -e $FILE]$FILE


  1. Встроенная команда интерпретатора read имя считывает строку со стандартного ввода и записывает её в переменную имя. Команда возвращает код завершения ноль если строка была успешно считана и код отличный от нуля если произошла ошибка или встретился конец файла. Напишите сценарий, который считывает строки со стандартного ввода и выводит их на стандартный вывод. (Используйте цикл while). Сценарий сохраните под именем s3.sh.

Содержание s3.sh:true; do

read line

echo $line


Лабораторная работа №8. Настройка сценариев


Цель:

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

Ход выполнения:

  1. Проанализируйте файл /home/labs/back.sh
  2. В подкаталоге bin создайте файл case.sh:


  1. Выполните команду export UID

21:18:38rmpg3~$export UID

  1. Запустите сценарий без аргументов и последовательно с аргументами status, start, status, start, stop, status, stop. Результат сохраните в файле отчета.
  2. В подкаталоге bin создайте файл calc.sh:

22:35:57rmpg3~/binhome$sudo vim calc.sh

res=$1[[ $# -ge 2 ]] ; do=$(($res$1$2)) 2 done echo $res

6.Запустите сценарий следующими командами:

  1. calc.sh 1 + 2 \* 3 + 3 / 4]

22:41:57rmpg3~/binhome$sh calc.sh 1+2\*3+3/4]

+2

  1. calc.sh 1 + 2 \* 3

22:56:36rmpg3~/binhome$sh calc.sh 1 + 2 \* 3

+2

  1. calc.sh 1 + 2\*3

23:06:35rmpg3~/binhome$sh calc.sh 1 + 2\*3

+2*3

  1. calc.sh 1+2

23:09:39rmpg3~/binhome$sh calc.sh 1+2

+2


  1. Объясните почему различается результат в случаях b) и c).

Различаются формулы, в случае b) стоит пробел между 2 и \* и 3 .

  1. Исправьте сценарий так, чтобы в случае d) он выдавал результат 3.

res=$1[[ $# = -ge ]]; do

res$(($res$1$2))

shift| $# -lt 2|: then

res=$(($res))$res


  1. Напишите сценарий summ.sh выводящий сумму своих аргументов если первый аргумент +, произведение если первый аргумент и сообщение Usage: summ.sh +|* arguments ... в противном случае. Например:

bash-2.04$ summ + 4 8 3

.04$ summ \* 4 2 3

содержание summ.sh:[$1="+"]$[$2+$3+$4][$1="\\*"]$[$2*$3*$4]


Лабораторная работа №9. Базовые регулярные выражения. Редактор sed.


Цель: Изучить информацию о базовых регулярных выражениях (BRE).

Ознакомиться с потоковым редактором sed, который считывает строки из текстового файла или стандартного ввода.


Ход работы:

  1. Скопируйте в домашний каталог файл /home/labs/text.txt

23:55:12rmpg3~$cp /home/rmpg3/labs/text.txt /home/rmpg3

  1. Выведите в файл отчета все строки файла text.txt содержащие слово "Благозвон". Добавьте к файлу отчета количество найденных строк.

00:05:21rmpg3~$grep -e Благозвон text.txt>>lab9.txt

:05:42rmpg3~$grep -c -e Благозвон text.txt>>lab9.txt

в файл вывелосьpeace Благозвон

Изображения Благозвон

./Документы: Благозвон

снимок4.png Благозвон

ВСЕМ Благозвон ПОЦОНЫ

ПОЛУЧАЕТСЯ Благозвон

  1. Добавьте к файлу отчета все строки файла text.txt, которые начинаются с буквы "Б" (возможно после нескольких пробелов).

00:10:08rmpg3~$grep -e Б text.txt>>lab9.txtpeace Благозвон

Изображения Благозвон

./Документы: Благозвон

снимок4.png Благозвон

ВСЕМ Благозвон ПОЦОНЫ

ПОЛУЧАЕТСЯ Благозвон

  1. Добавьте к файлу отчета все непустые строки файла text.txt, не содержащие русскую букву "а" (в любом регистре).

00:15:21rmpg3~$grep -iv -e [а] text.txt>>lab9.txt

  1. Добавьте в файл отчета имена файлов каталога /home/labs, которые содержат слово "include".

00:18:49rmpg3~$find /home/rmpg3/labs -name include* -type f>>lab9.txt

/home/rmpg3/labs/include2.txt

/home/rmpg3/labs/include1.txt

/home/rmpg3/labs/include3.txt

  1. Используя редактор sed замените в файле text.txt все слова Снарк на СНАРК. Результат сохраните в файле snark.txt.

…...


./labs:

./test1:

СНАРК

СНАРК

./test2:СНАРКСНАРКСНАРКСНАРКСНАРКСНАРК


.СНАРК/Видео:СНАРК

./Документы: Благозвон.doc

…...


  1. При помощи sed выведите из файла /etc/passwd идентификаторы пользователей и их имена, разделенные символом табуляции, в формате:

  1. root
  2. daemon
  3. operator …

Вывод должен быть отсортирован по идентификатору пользователя. Результат добавьте к файлу отчета.


01:32:08rmpg3~$cat /etc/passwd | sed s/:x:/" "/ | sed s/:[0-9]*.*// | sed s/"[a-z]* "// | sort -g >> lab9.txt


9.Напишите сценарий для sed, который будет менять местами каждые две строки файла. Возможно sed прийдется запускать с ключом -n.

Создаю файл txt.txt#9

и пустой txt1.txt


01:57:11rmpg3~$sed -n -f 1.sed txt.txt>txt1.txt#9

  1. Напишите сценарий для редактора sed, который будет добавлять:
  2. В начало файла строку "<html><body>".
  3. В начало всех строк начинающихся словом "Приступ" строку "<H2>", а в конец строку "</H2>".
  4. В конец всех остальных строк "<br>".
  5. К концу последней строки "</body></html>"

Результат работы сценария сохраните в файле snark.html в каталоге public_html домашнего каталога (каталог потребуется создать). Сценарий сохраните под именем sed1 в домашнем каталоге.

Содержание 11.sed:

1i \<html><body>

/^Pristup/i \<H2>

/^Pristup/a \<H2>

$a \</body></html>

$!a \<br>

:12:18rmpg3~$sed -f 11.sed text9.txt > text9.html

Исходный файл text9.txt:failokok


Полученный text9.htmlfail

Pristup


Pristup

vse ok ok ok end


Министерство Образования и науки Российской Федерации "Уральский федеральный университет" Физико-технологический институт кафедра Вычислитель

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ