
- •"Операційні системи та системне програмування"
- •1 Перелік практичних занять Практичне заняття № 1
- •Короткі теоретичні відомості
- •Порядок виконання роботи
- •Контрольні питання
- •Практичне заняття № 2
- •Короткі теоретичні відомості
- •Порядок виконання роботи
- •Контрольні питання
- •Практичне заняття № 3
- •Короткі теоретичні відомості
- •Порядок виконання роботи
- •Контрольні питання
- •Практичне заняття № 4
- •Короткі теоретичні відомості
- •Порядок виконання роботи
- •Контрольні питання
- •2 Критерії оцінювання знань студентів за 100–бальною системою
- •Список літератури
Порядок виконання роботи
Ознайомитися з основними прийомами роботи з обліковими записами користувачів.
Ознайомитися з повноваженнями каталогів, файлів, та вивчити методи встановлення повноважень.
Опрацювати теоретичний матеріал із використанням описаних методів та команд, що розглядалися.
Оформити детальний звіт про виконання практичного заняття з описом п. 3 та відповідями на контрольні запитання.
Контрольні питання
Що таке вхід в систему, робоча сесія, домашній каталог?
Хто такий суперкористувач в операційній системі?
Що таке віртуальний термінал і як його можна змінити?
Якими командами Linux можна створити обліковий запис, встановити його пароль, знищити запис?
Поля записів в файлах /etc/passwd і /etc/group, що вони відбивають?
Які є методи видалення користувачів з системи?
Для чого існують групи користувачів?
Як створити групу користувачів, додати користувача в групу, видалити користувача з групи?
Чи може один користувач входити до складу декількох груп?
Як створюється робочий каталог користувача і що в ньому знаходиться?
Що таке історія команд, навіщо вона потрібна, та як можна нею скористатися?
Яка допомога є в Linux і як нею скористатися?
Назвіть каталоги, в яких знаходяться основні команди Linux, що виконуються.
Що таке повноваження файлів та каталогів?
Які є способи представлення прав доступу на файли та каталоги?
Чім відрізняються права доступу до файлу і до каталогу?
Як змінити власника файлу, каталогу?
Як змінити групу власників файлу, каталогу?
Як правильно закінчити роботу з ОС Linux? Як перезавантажити систему? Як вимкнути систему в певний час з попередженням користувачів?
Література: [1 – 4].
Практичне заняття № 2
Тема. Робота з текстовим редактором vi
Мета: вивчення роботи зі стандартним багатовіконним текстовими редактором vi для створення та редагування текстових файлів. Визначення його можливостей та недоліків.
Короткі теоретичні відомості
Редактор vi не є текстовим процесором або настільною видавничою системою. Він не має меню і фактично не оснащений довідковою підтримкою.
Якщо звичайні текстові процесори мають можливості форматування тексту на екрані й у надрукованому виді (виділяючи текстові фрагменти полужирним шрифтом, курсивом або підкресленням), vi цього не робить. Однак, у випадку критичної ситуації редактор vi може виявитися єдиним доступним редактором.
Повноекранний текстовий редактор vi можна застосовувати для вводу, модифікації, видалення тексту, пошуку і заміни фрагментів тексту, копіювання, вирізання та вставки блоків.
Редактор vi працює в двох режимах: командному і вводу тексту.
Командний режим. Натискання на клавіші інтерпретуються як команди, що дозволяють зберігати текст, переміщувати курсор в різні частини файлу, модифікувати, видаляти, впорядковувати фрагменти тексту, а також виходити з редактора.
Режим уведення тексту. Натискання на клавіші сприймаються як текст файла, що редагується. У цьому режимі редактор подібний друкарській машинці.
Редактор vi запускається в командному режимі. Перед уведенням тексту потрібно натиснути клавіші <a> або <i>, а для повернення в командний режим – клавішу <Esc>. В процесі редагування можна вільно переходити з одного режиму в другий. Для переходу з командного режиму в режим уведення тексту натисніть одну з наступних клавіш:
<a> – для додавання тексту після курсору;
<i> – для вставки тексту перед курсором.
Запуск vi. Для редагування або перегляду файла, що вже існує у вашому поточному каталозі, уведіть vi із наступною вказівкою імені файла. Наприклад:
vi vifile.1
Для створення файлу можна запускати редактор vi з ім’ям неіснуючого файлу. Тоді vi створить його.
Не дивлячись на простоту, що здається, редактор vi дозволяє запускати і редагувати відразу декілька файлів. При відкритті файлів можна користуватися символами шаблона, наприклад:
vi *.txt
У випадку, якщо ви редагуєте декілька файлів:
:n |
Перехід до наступного файлу, що редагується |
:e# |
Повернення до попереднього відкритого файлу |
:args |
Виводить список відкритих файлів і вказує файл, в якому ви знаходитесь |
:rewind |
Дозволяє перейти до першого файлу в списку, зберігши всі зміни внесені в поточний файл |
:rewind! |
Дозволяє перейти до першого файлу в списку, не зберігаючи зміни внесені в поточний файл |
Командний режими роботи редактора vi. Найчастіше команда представляє собою першу літеру англійської назви дії, що виконується, тобто команда r (replace) застосовується для заміни символу, i (insert) – команда вставки, e (end) – перехід до кінця поточного слова і т.ін.
Вихід із vi. З vi можна вийти декількома способами.
Команда |
Дія |
:q |
Вихід якщо дані в буфері не були змінені, або вихід після модифікації буфера і зберігання змін у файлі |
:q! |
Вихід із скасуванням усіх змін у буфері з часу останнього зберігання змін у файлі |
:wq або :x |
Запис буфера в робочий файл із наступним виходом із редактора |
Скасування команди. Редактор vi надає можливість скасування останньої дії або зміни вмісту буфера, якщо ви ще не встигнули зберегти цю зміну у файлі. Скасування реалізується в командному режимі. У цьому випадку натисніть клавішу <Esc> для переходу в командний режим, а потім - u (undo - скасувати).
Використовуйте команду u для скасування змін стільки разів, скільки треба. Якщо, відмінити навіть одну-єдину зміну, і ви прийняли рішення залишити буфер у його вихідному стані, вам прийдеться використовувати команду : q! (скасування змін), оскільки vi вирішить, що буфер був змінений.
Запис файлів і зберігання буфера. Для зберігання буфера введіть команду :w (write - писати). При цьому редактор повинен знаходитись в командному режимі.
Існує декілька варіантів зберігання файла.
:w |
Запис буфера у файл, що редагується в vi |
:w ім'я_файла |
Запис буфера в зазначений файл |
:w! ім'я_файла |
Перезапис існуючого файла в зазначений файл |
Збереження нового файлу. Якщо ви запустили редактор без завдання імені файла, необхідно зазначити його при зберіганні на диску результатів своєї роботи. У цьому випадку команда запису має наступний формат:
:w ім’я_файлу
Керування курсором. Клавіші керування курсором – клавіші зі стрілками. На клавіатурі Linux користувацькими також повинні бути клавіші <Page Up> <Page Down>.
Крім використання клавіш із стрілками, vi дає інші способи керування курсором. Ці способи іноді виявляються ефективніше «стрілочних». Нижче наведені декілька комбінацій клавіш для керування курсором на екрані.
j |
Переміщує курсор вниз на один рядок |
k |
Переміщує курсор вверх на один рядок |
l |
Переміщує курсор вправо на один символ |
h |
Переміщує курсор вліво на один символ |
Ctrl-f |
Переміщує курсор на один екран вперед (вниз) |
Ctrl-b |
Переміщує курсор на один екран назад (вверх) |
Ctrl-d |
Переміщує курсор на половину екрана вперед (вниз) |
Ctrl-u |
Переміщує курсор на половину екрана назад (вверх) |
1G |
Переміщує курсор до початку файла |
G |
Переміщує курсор в кінець файлу |
0 або | |
Переміщує курсор на початок рядка |
$ |
Переміщує курсор в кінець рядка |
n| |
Переміщує курсор в n-ну позицію рядка (від початку) |
+ |
Перехід на початок наступного рядка |
- |
Перехід на початок попереднього рядка |
M |
Перехід в рядок, що знаходиться у центрі екрану |
H |
Перехід в верхній рядок екрану |
L |
Перехід в нижній рядок екрану |
w |
Перехід уперед на одне слово |
b |
Перехід до початку поточного слова |
e |
Перехід до кінця поточного слова |
Додавання тексту. Для додавання тексту в буфер редагування потрібно з командного режиму перейти в режим уведення тексту. Натисніть <a>, щоб переключитися в режим уведення з додаванням тексту після позиції курсору, або <i>, щоб переключитися в режим введення і вставки тексту перед позицією курсору. Завершивши додавання тексту, натисніть клавішу <Esc> для повернення в командний режим.
a |
Додавання тексту після позиції курсору, поки не нажата Esc |
А |
додавання тексту в кінець поточного рядка, поки не нажата Esc |
i |
Вставка тексту перед позицією курсору, поки не нажата Esc |
I |
Вставка тексту в початок поточного рядка, поки не нажата Esc |
r |
Заміна символу в поточній позиції курсору |
R |
Заміна тексту з поточної позиції курсору, поки не нажата Esc |
o |
Вставка порожнього рядка за поточним рядком для додавання тексту |
O |
Вставка порожнього рядка перед поточним рядком для додавання тексту |
~ |
Змінює регістр символу, n~ - змінює n регістр n наступних символів |
Ctrl-G або :f |
Визначає, в якому місті файлу ви знаходитесь та деяку додаткову інформацію |
xp |
Міняє місцями два символи: стирає другий символ та поміщає його перед першим |
Ctrl-u |
Відміна попередньої дії, не виходячи в командний режим |
s |
Заміна поточного символу іншим та продовження вставки тексту |
S |
Заміна поточного рядку цілком |
Видалення тексту. Щоб можна було видаляти символи, редактор повинен знаходитися в командному режимі.
<x> |
Видалення символу в позиції курсору |
dw |
Видалення тексту, починаючи з позиції курсору в поточному слові до початку наступного слова |
d$ |
Видалення тексту, починаючи з позиції курсору до кінця рядка |
Shift-d |
Видалення залишку поточного рядка (аналогічно команді d$) |
dd |
Видалення всього поточного рядка, незалежно від позиції курсору в рядку |
Зміна і заміна тексту. Команди зміни в vi дозволяють змінити слово або залишок рядка. При цьому відбувається заміна одного слова або текстового рядка іншим словом або текстовим рядком.
x |
Заміна одного символу |
Shift-r |
Заміна послідовності символів |
cw або ce |
Заміна поточного слова, починаючи з позиції курсору до кінця слова |
cb |
Заміна поточного слова з початку слова до символу, який знаходиться перед позицією курсору |
c$ або Shift+c |
Заміна рядка, починаючи з позиції курсору до кінця рядка |
с) |
Заміна тексту від поточної позиції курсору до кінця речення |
с( |
Заміна тексту від початку поточного речення до символу перед курсором |
с} |
Заміна тексту від поточної позиції курсору до кінця абзацу |
c{ |
Заміна тексту від початку поточного абзацу до символу перед курсором |
cc |
Заміна цілого рядка |
. |
Повтор останньої зміни |
Пошук. Пошук можна робити як у прямому, так і в зворотному напрямках щодо поточної позиції в буфері; можна також продовжити пошук. У кожному випадку vi виконує пошук заданого рядка тексту в зазначеному напрямку, розміщаючи курсор на початку знайденого рядка.
/рядок |
Пошук рядка вперед |
?рядок |
Пошук рядка назад |
n |
Продовження пошуку в поточному напрямку |
Shift-n |
Продовження пошуку в протилежному напрямку |
Копіювання, вирізка і вставка. При видаленні або вирізці символів, слів, сточки або частини рядка що видаляється об’єкт зберігається в буфері загального призначення.
yw |
Копіювання, починаючи з позиції курсору в поточному слові до початку наступного слова |
y$ або Shift-y |
Копіювання від позиції курсору до кінця рядка |
yy |
Копіювання поточного рядка цілком |
dd або ndd |
Вирізання одного рядка тексту в буфер, або n рядків тексту |
ddP |
Вирізання тексту і вставка його на це ж місце. При цьому вирізаний фрагмент попадає на перший рівень дев’ятирівневого стеку, після цього можна вирізати ще фрагмент і він попаде на перший рівень стеку, а попередій фрагмент зміститься на другий рівень стеку (цього не відбувається при команді копіювання yy). |
“2p |
Вставка вирізаного фрагменту з другого рівня стеку |
p |
Вставляє об’єкт справа від позиції курсору |
Shift+p |
Вставляє об’єкт перед курсором |
Для вставки в поточний файл вмісту іншого файлу можна використовувати команду :r (read – читати). Якщо ви бажаєте переписати увесь поточний файл в новий файл можна примінити наступну команду :w (write – писати). Якщо треба зберегти поточний рядок і десять рядків, наступних за ним в файлі з іменем «letter», можна використати наступну команду:
:.,+10w letter
Параметри оточення для редактора vi
Параметр |
Функція |
ai |
autoindent установлює відступ кожного рядка на той же рівень, що має попередній рядок |
noai |
autoindent off. Автоматичний відступ відключений (по умовчанню) |
ap |
autoprint виводить на екран поточний рядок при його зміні. По умовчанню діє установка autoprint on (включений) |
eb |
errorbells змушує комп’ютер видавати звуковий сигнал у випадку введення помилкової команди |
noeb |
errorbells off. Звук при помилці відключений (по умовчанню) |
nu |
number відображає номера рядків при редагуванні файла. |
nonu |
number off. Номера рядків не виводяться (по умовчанню) |
redraw |
redraw on. Обновляє екран у міру виникнення змін (по умовчанню) |
sm |
showmatch on. Відображає відповідні відкриваючі круглі скобки при введенні закриваючих круглих скобок |
nosm |
showmatch off. Відмінити showmatch (по умовчанню) |
smd |
showmode on. Відображає в правому кінці рядка стану індикатор режиму (INPUT, REPLASE або CHANGE) після уведення відповідної команди |
nosmd |
showmode off. Поточний режим не виводиться (по умовчанню) |
warn |
warn on. Відображає попереджуюче повідомлення при спробі вийти з vi, якщо буфер був змінений, але не збережений у дисковому файлі (по умовчанню) |
ts=n |
Встановлює розмір табуляції, в n пробілів. |
wm=n |
wrapmargin. Автоперенос. Якщо n більше нуля, редактор автоматично вставляє новий рядок, коли поточне слово заходить за завдану границю. Наприклад, установка wm=5 завдає праву границю для дисплею з довжиною рядка 80 символів на рівні 75 позиції. Цей параметр відключається після установки wm=0, який діє по умовчанню |
ws |
word search on. Змушує переходити при виконанні пошуку від кінця файлу до початку файлу і продовжувати пошук (по умовчанню) |
Режим роботи введення тексту редактора vi. Текст набирається в режимі введення тексту. При цьому символи можна добавляти після курсору або добавляти перед курсором. На початку рядка ці розходження не виявляються. Використовується режим уведення тільки для набору тексту.