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

Основные команды для работы с файлами. Текстовый редактор vim. Простейшие команды для работы с текстом. Команды для управления процессами. Настройка оболочки и сценариев. Монтирование и демонтирование файловых систем. Базовые регулярные выражения.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 14.07.2012
Размер файла 2,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

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

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

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

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

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

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

2012

Лабораторная работа №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@rmpg3-Satellite-L40:~$ echo LANG=$LANG>>lab1.txt

rmpg3@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@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@rmpg3-Satellite-L40:/bin$ cd /usr

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

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

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

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

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

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

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

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

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

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

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

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

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

rmpg3@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@rmpg3-Satellite-L40:/usr/bin$ ls -F :

rmpg3@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@rmpg3-Satellite-L40:~$ date

Выводит:

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

Дополнительная информация по этим командам:

rmpg3@rmpg3-Satellite-L40:~$ man uname

и

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

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

rmpg3@rmpg3-Satellite-L40:~$ date

Выводит:

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

rmpg3@rmpg3-Satellite-L40:~$ LANG=C date

Выводит:

Sat May 26 19:21:47 YEKT 2012

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

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

rmpg3@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.

1 Редактор vi

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

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

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

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

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

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

l, 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 был взят оччет по первой лабораторной работе}

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

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

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

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

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

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

Отсортируйте строки файла, исключив повторяющиеся, и выведите в файл отчета (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

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

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

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

rmpg3@rmpg3-Satellite-L40:~$ sort -o text.txt text.txt

rmpg3@rmpg3-Satellite-L40:~$ sort -o text1.txt text1.txt

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

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

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

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

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

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

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

Добавьте в начало файла строки содержащие номер лабораторной работы и Ваше имя.

Устанавливаем курсор на начало первой строки, нажимаем O. Вводим название лабораторной и имя.

Скопируйте пять строк файла начиная с пятой и вставьте их в конце файла.

Переводим курсор на 5ую строку. Нажимаем y5. Перводим курсор в конец файла

нажимаем p.

Удалите предпоследнюю строку.

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

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

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

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

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

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

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

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

PID TTY TIME CMD

3043 pts/2 00:00:00 ps

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

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

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

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

1416 ? Sl 0:03 kdeinit4: kded4 [kdeinit]

1420 ? S 0:00 /usr/bin/kglobalaccel

1422 ? S 0:00 /usr/bin/kwalletd

1426 ? S 0:00 /usr/bin/kactivitymanagerd

1489 ? S 0:00 kwrapper4 ksmserver

1490 ? Sl 0:00 kdeinit4: ksmserver [kdeinit]

1510 ? Sl 0:41 kwin -session 101ce1a71c4161000133806721500000015160000_1338561550_579762

1515 ? Sl 4:23 /usr/bin/knotify4

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

1522 ? S 0:00 ksysguardd

1526 ? S 0:00 /usr/bin/kuiserver

1530 ? Sl 0:00 /usr/bin/akonadi_cont

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

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

PID TTY TIME CMD

4711 pts/2 00:00:00 bash

4869 pts/2 00:00:00 ps

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

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

3743 ? 00:00:00 nginx

3744 ? 00:00:00 nginx

3745 ? 00:00:00 nginx

3776 ? 00:00:01 postgres.bin

3780 ? 00:00:03 postgres.bin

3785 ? 00:00:00 postgres.bin

3811 ? 00:00:00 postgres.bin

4381 ? 00:00:00 kio_http_cache_

4539 ? 00:00:07 dolphin

4610 ? 00:00:00 libreoffice

4611 ? 00:00:00 oosplash.bin

4627 ? 00:00:29 soffice.bin

4662 ? 00:00:15 gwenview

4708 ? 00:00:03 konsole

4711 pts/2 00:00:00 bash

4767 ? 00:00:00 kworker/0:0

4832 ? 00:00:04 ksnapshot

4859 ? 00:00:00 kworker/0:1

4888 ? 00:00:00 kworker/0:2

4890 pts/2 00:00:00 ps

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

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

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

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

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

PPID TT RUID COMMAND

4708 pts/2 1000 /bin/bash

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

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

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

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

PID TTY TIME CMD

1 ? 00:00:00 init

2 ? 00:00:00 kthreadd

3 ? 00:00:08 ksoftirqd/0

5 ? 00:00:00 kworker/u:0

6 ? 00:00:00 migration/0

7 ? 00:00:00 cpuset

8 ? 00:00:00 khelper

9 ? 00:00:00 netns

10 ? 00:00:00 sync_supers

11 ? 00:00:00 bdi-default

12 ? 00:00:00 kintegrityd

13 ? 00:00:00 kblockd

14 ? 00:00:00 ata_sff

15 ? 00:00:00 khubd

16 ? 00:00:00 md

19 ? 00:00:00 khungtaskd

20 ? 00:00:10 kswapd0

21 ? 00:00:00 ksmd

22 ? 00:00:00 khugepaged

23 ? 00:00:00 fsnotify_mark

24 ? 00:00:00 ecryptfs-kthrea

25 ? 00:00:00 crypto

33 ? 00:00:00 kthrotld

39 ? 00:00:00 scsi_eh_0

40 ? 00:00:00 scsi_eh_1

41 ? 00:00:00 kworker/u:4

220 ? 00:00:00 scsi_eh_2

221 ? 00:00:00 scsi_eh_3

222 ? 00:00:00 scsi_eh_4

291 ? 00:00:00 jbd2/sda5-8

292 ? 00:00:00 ext4-dio-unwrit

343 ? 00:00:00 upstart-udev-br

355 ? 00:00:00 udevd

437 ? 00:00:00 led_workqueue

532 ? 00:00:00 udevd

533 ? 00:00:00 udevd

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

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

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

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

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

PID CLS PRI TTY TIME CMD

4711 TS 19 pts/2 00:00:00 bash

5207 TS 19 pts/2 00:00:00 ps

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

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

PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND

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

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

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

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

PID PGID SID TTY TIME CMD

4711 4711 4711 pts/2 00:00:00 bash

5211 5211 4711 pts/2 00:00:00 ps

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

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

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

rmpg3 4711 0.0 0.3 8340 3248 pts/2 Ss 14:09 0:00 /bin/bash

rmpg3 5213 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

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

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

10:25:27rmpg3~$cat fifo

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

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

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

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

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

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

/dev/pts/2

10:27:55 up 2 days, 27 min, 3 users, load average: 0,16, 0,46, 0,36

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

rmpg3 pts/0 :0 Sat10 2days 0.00s 26.91s kdeinit4: kded4 [kdeinit]

rmpg3 pts/2 :0 10:24 0.00s 0.31s 0.00s w

rmpg3 pts/3 :0 10:25 2:04 0.26s 0.26s /bin/bash

Linux

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

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

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

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

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

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

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

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

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

Ход работы:

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

rmpg3@rmpg3-Satellite-L40:~$ date && LANG=C date

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

Sat Jun 2 21:28:11 YEKT 2012

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

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

21:44:10rmpg3~$

21: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

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

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

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

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

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

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

PPID=4708

PWD=/home/rmpg3

OLDPWD=

UID=1000

RANDOM=16021

HOSTNAME=rmpg3-Satellite-L40

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

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

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

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

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

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

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

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

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

10:44:55rmpg3~$lab 5

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

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

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

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

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

Цель работы:

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

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

1.

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

rmpg3~$mount -v

/dev/sda5 on / type ext4 (rw,errors=remount-ro,commit=0)

proc on /proc type proc (rw,noexec,nosuid,nodev)

sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)

fusectl on /sys/fs/fuse/connections type fusectl (rw)

none on /sys/kernel/debug type debugfs (rw)

none on /sys/kernel/security type securityfs (rw)

udev on /dev type devtmpfs (rw,mode=0755)

devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)

tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)

none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)

none 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)

b)Создайте в домашнем каталоге каталог floppy.

11:20:08rmpg3~$mkdir floppy

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

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

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

19:12:07rmpg3~$dir floppy

text.txt

e)Вставьте в дисковод отформатированную дискету. Подмонтируй-те дискету к каталогу floppy.

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

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

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

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

/dev/sda5 on / type ext4 (rw,errors=remount-ro,commit=0)

proc on /proc type proc (rw,noexec,nosuid,nodev)

sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)

fusectl on /sys/fs/fuse/connections type fusectl (rw)

none on /sys/kernel/debug type debugfs (rw)

none on /sys/kernel/security type securityfs (rw)

udev on /dev type devtmpfs (rw,mode=0755)

devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)

tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)

none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)

none 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

19:29:53rmpg3~$dir floppy

text.txt

19:30:33rmpg3~$mount -v

/dev/sda5 on / type ext4 (rw,errors=remount-ro,commit=0)

proc on /proc type proc (rw,noexec,nosuid,nodev)

sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)

fusectl on /sys/fs/fuse/connections type fusectl (rw)

none on /sys/kernel/debug type debugfs (rw)

none on /sys/kernel/security type securityfs (rw)

udev on /dev type devtmpfs (rw,mode=0755)

devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)

tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)

none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)

none 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. Скопируйте на дискету какой-нибудь файл.

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

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

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

19:51:08rmpg3~$df

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

/dev/sda5 9612516 5507228 3616996 61% /

udev 498912 4 498908 1% /dev

tmpfs 203516 856 202660 1% /run

none 5120 0 5120 0% /run/lock

none 508784 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

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

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

1402 /home/rmpg3

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

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

1439404

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

Цель:

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

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

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

11:20:16rmpg3~$mkdir bin

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

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

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

При помощи редактора 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

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

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

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

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

13:16:38rmpg3~$cd binhome

13: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

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

Содержание s2.sh:

ls -alh $1/ | grep $2

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

Содержание list.sh:

select FILE in~/*.txt QUIT

do

if [ -e $FILE]

then

head $FILE

else

break

fi

done

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

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

while true; do

read line

echo $line

done

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

Цель:

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

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

Проанализируйте файл /home/labs/back.sh

В подкаталоге bin создайте файл case.sh:

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

21:18:38rmpg3~$export UID

Запустите сценарий без аргументов и последовательно с аргументами status, start, status, start, stop, status, stop. Результат сохраните в файле отчета.

В подкаталоге bin создайте файл calc.sh:

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

res=$1

shift

while [[ $# -ge 2 ]] ; do

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

shift 2 done echo $res

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

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

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

1+2

calc.sh 1 + 2 \* 3

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

1+2

calc.sh 1 + 2\*3

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

1+2*3

calc.sh 1+2

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

1+2

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

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

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

res=$1

shift

while [[ $# = -ge ]]; do

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

shift

done

if | $# -lt 2|: then

res=$(($res))

fi

echo $res

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

bash-2.04$ summ + 4 8 3

15

bash-2.04$ summ \* 4 2 3

содержание summ.sh:

if [$1="+"]

then

echo $[$2+$3+$4]

elif[$1="\\*"]

then

echo $[$2*$3*$4]

fi

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

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

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

Ход работы:

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

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

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

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

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

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

green peace Благозвон

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

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

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

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

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

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

00:10:08rmpg3~$grep -e Б text.txt>>lab9.txt

green peace Благозвон

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

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

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

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

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

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

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

Добавьте в файл отчета имена файлов каталога /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

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

…...

./labs:

text

./test1:

СНАРК

СНАРК

./test2:

textСНАРКСНАРКСНАРКСНАРКСНАРКСНАРК

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

peaceСНАРК

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

LABOR.doc

…...

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

root

daemon

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

Shipigusev

Alexander

Laba #9

и пустой txt1.txt

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

Shipigusev

Alexander

Laba #9

Напишите сценарий для редактора sed, который будет добавлять:

В начало файла строку "<html><body>".

В начало всех строк начинающихся словом "Приступ" строку "<H2>", а в конец строку "</H2>".

В конец всех остальных строк "<br>".

К концу последней строки "</body></html>"

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

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

1i \<html><body>

/^Pristup/i \<H2>

/^Pristup/a \<H2>

$a \</body></html>

$!a \<br>

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

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

Nachalo fail

Pristup

Pristup

vse ok

ok ok

end

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

Nachalo fail

Pristup

Pristup

vse ok ok ok end

Размещено на Allbest.ru


Подобные документы

  • Принципы устройства и работы ПЭВМ. Методика и порядок работы с текстовыми редакторами на компьютере, создание и обработка текстовой информации. Понятие базы данных, методика ее создания и редактирования, команды управления и выполняемые функции.

    курс лекций [40,2 K], добавлен 06.05.2009

  • Виды компьютерной графики. Программные средства для работы с фрактальной графикой. Базовые команды черчения. Основные и дополнительные сервисные команды AutoCAD. Растровая, векторная, фрактальная и трёхмерная графика. Команды редактирования чертежа.

    курсовая работа [41,8 K], добавлен 22.04.2016

  • Описание текстового редактора MS WORD, его возможности. Основные элементы интерфейса редактора: кнопка Office, главные команды панели быстрого доступа, лента, контекстное меню и полоса прокрутки. Рабочая область приложения, настройка строки состояния.

    реферат [24,0 K], добавлен 23.10.2014

  • Характеристика порядка работы с компьютерной техникой, охраны труда на предприятии. Ознакомление с разновидностями антивирусных программ. Основы работы с текстовыми редакторами, электронными таблицами, базами данных, информационно-поисковыми системами.

    отчет по практике [139,5 K], добавлен 18.10.2015

  • Общая организация файловой системы. Виртуальные страницы. Команды для работы с ФС. Способы организации файлов. Системные вызовы управления процессами. Алгоритм работы планировщика процессов. Мультипрограммный режим работы ОС. Структура ядра системы.

    курсовая работа [645,3 K], добавлен 23.03.2015

  • Права доступа к файлам и управление ими и другими атрибутами. Значения прав доступа для файлов и директорий. Набор файловых флагов. Команды управления процессами в операционной системе UNIX. Опции и значения программ архивации и сжатия - tar и gzip.

    контрольная работа [234,4 K], добавлен 16.01.2014

  • Разработка текстового редактора для работы с текстовыми приложениями. Описание работы программы, использование языка С++ для ее создания. Описание работы программы, ее простота и надежность, как для начинающих программистов, так и для профессионалов.

    курсовая работа [872,8 K], добавлен 25.11.2010

  • Создание и редактирование текстовых документов, содержащих таблицы, рисунки и другие мультимедийные объекты. Разница между текстовыми редакторами и текстовыми процессорами. Запуск Microsoft Word. Создание нового документа. Завершение работы в MS Word.

    презентация [306,6 K], добавлен 19.12.2014

  • Арифметические команды языка Assembler в архитектуре x86. Организация ветвлений и циклов в программах. Ввод строк с клавиатуры и команды пакетной обработки (строковые команды). Алгоритм вывода на экран в текстовом режиме с использованием средств BIOS.

    контрольная работа [18,0 K], добавлен 05.07.2014

  • Настройка рабочей среды пользователя. Понятие и классификация профилей, преимущества их ввода. Различия профилей в версиях Windows и в Vista, создание локального профиля. Дополнительные параметры системы. Команды работы с файлами, каталогами, дисками.

    презентация [914,2 K], добавлен 20.12.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.