Работа с текстовыми редакторами, процессами и файловыми системами
Министерство Образования и науки Российской Федерации
"Уральский федеральный университет"
Физико-технологический институт
кафедра Вычислительной техники
"Операционные системы"
студент группы ФТ-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 был взят оччет по первой лабораторной работе}
rmpg3@rmpg3-Satellite-L40:~$ cp labs/text.txt /home/rmpg3
rmpg3@rmpg3-Satellite-L40:~$ head -n 10 text.txt
rmpg3@rmpg3-Satellite-L40:~$ tail -n 10 text.txt
rmpg3@rmpg3-Satellite-L40:~$ sort -u text.txt | head -n 215 | tail -n 10 | sort -o lab3.txt
rmpg3@rmpg3-Satellite-L40:~$ cp labs/text1.txt /home/rmpg3
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
rmpg3@rmpg3-Satellite-L40:~$ wc -w text.txt >> lab3.txt
rmpg3@rmpg3-Satellite-L40:~$ cut -f 1,3 -d: /etc/passwd | sort >> lab3.txt
rmpg3@rmpg3-Satellite-L40:~$ vi lab3.txt
Переводим курсор на предпоследнюю строку и нажимаем dd.
Сохраняем изменения и выходим, для этого набираем :wq .
Лабораторная работа №4. Команды для управления процессами
Цель: Ознакомиться с понятием процесса в среде UNIX. Изучить механизмы межпроцессорного взаимодействия и основные сведения о работе с процессами.
Использовать на практике основные команды для работы с процессами. Ознакомиться со средствами оболочки преднащначенными для работы с процессами.
Ход выполнения работы:
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
.......................................................
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
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
....................................................
@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
Цель:
Ознакомиться со сценарием (текстовый файл, содержащий команды интерпретатора) и подробно изучить их написание.
Ход выполнения работы:
11:20:16rmpg3~$mkdir bin
11:35:04rmpg3~$echo PATH=$PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
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
Содержание s2.sh:-alh $1/ | grep $2
Содержание list.sh:FILE in~/*.txt QUIT[ -e $FILE]$FILE
Содержание s3.sh:true; do
read line
echo $line
Лабораторная работа №8. Настройка сценариев
Цель:
Подробно изучить написание сценариев, ознакомиться с использованием условных операторов.
Ход выполнения:
21:18:38rmpg3~$export UID
22:35:57rmpg3~/binhome$sudo vim calc.sh
res=$1[[ $# -ge 2 ]] ; do=$(($res$1$2)) 2 done echo $res
6.Запустите сценарий следующими командами:
22:41:57rmpg3~/binhome$sh calc.sh 1+2\*3+3/4]
+2
22:56:36rmpg3~/binhome$sh calc.sh 1 + 2 \* 3
+2
23:06:35rmpg3~/binhome$sh calc.sh 1 + 2\*3
+2*3
23:09:39rmpg3~/binhome$sh calc.sh 1+2
+2
Различаются формулы, в случае b) стоит пробел между 2 и \* и 3 .
res=$1[[ $# = -ge ]]; do
res$(($res$1$2))
shift| $# -lt 2|: then
res=$(($res))$res
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, который считывает строки из текстового файла или стандартного ввода.
Ход работы:
23:55:12rmpg3~$cp /home/rmpg3/labs/text.txt /home/rmpg3
00:05:21rmpg3~$grep -e Благозвон text.txt>>lab9.txt
:05:42rmpg3~$grep -c -e Благозвон text.txt>>lab9.txt
в файл вывелосьpeace Благозвон
Изображения Благозвон
./Документы: Благозвон
снимок4.png Благозвон
ВСЕМ Благозвон ПОЦОНЫ
ПОЛУЧАЕТСЯ Благозвон
00:10:08rmpg3~$grep -e Б text.txt>>lab9.txtpeace Благозвон
Изображения Благозвон
./Документы: Благозвон
снимок4.png Благозвон
ВСЕМ Благозвон ПОЦОНЫ
ПОЛУЧАЕТСЯ Благозвон
00:15:21rmpg3~$grep -iv -e [а] text.txt>>lab9.txt
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
…...
./labs:
./test1:
СНАРК
СНАРК
./test2:СНАРКСНАРКСНАРКСНАРКСНАРКСНАРК
.СНАРК/Видео:СНАРК
./Документы: Благозвон.doc
…...
Вывод должен быть отсортирован по идентификатору пользователя. Результат добавьте к файлу отчета.
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
Результат работы сценария сохраните в файле 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 | Пользовательское соглашение
ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ