Работа с текстовыми редакторами, процессами и файловыми системами
Основные команды для работы с файлами. Текстовый редактор 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