Роздрукувати сторінку
Главная \ Методичні вказівки \ Методичні вказівки \ 5121 Лабораторна робота з курсу Операційні системи, Основні прийоми оперування файлами в ОС Linux

Лабораторна робота з курсу Операційні системи, Основні прийоми оперування файлами в ОС Linux

« Назад

Мета: Оволодіння практичними навичками щодо оперування файлами в ОС Linux; розвиток інженерного мислення студентів у галузі операційних систем та системного програмування.

Теоретичні відомості:

Логічна структура файлових систем переважної більшості сучасних ОС сімейства Linux базується на стандарті Filesystem Hierarchy Standard (FHS).

Каталог /bin повинен містити виконувані файли загальнодоступних утиліт, які можуть знадобитись для завантаження системи, вирішення проблем під час завантаження, та відновлення системи з архіву.

У каталозі /boot повинні міститись усі файли, потрібні для завантаження системи.

У каталозі /dev (або його підкаталогах) повинні розміщуватись усі файли пристроїв.

У каталозі /etc (або його підкаталогах) повинні розміщуватись усі файли, що визначають конфігурацію даної машини.

У каталозі /home (та, можливо, його підкаталогах) повинні розміщуватись домашні каталоги (звичайних) користувачів.

У каталозі /lib повинні міститись модулі ядра та ті подільні бібліотеки, які потрібні для завантаження системи й запуску команд, виконувані файли яких розташовані в кореневій файловій системі (у каталогах /bin та /sbin).

Каталог /media повинен містити підкаталоги, що використовуються як точки монтування файлових систем з’їмних носіїв даних, таких як гнучкі диски, компакт-диски, флеш-пам’ять.

Каталог /mnt служить для тимчасового примонтовування файлових систем (системним адміністратором), наприклад, віддалених файлових систем, доступних через службу NFS.

Каталог /opt зарезервовано як альтернативний каталог для розміщення статичних даних окремих програмних пакетів, які з тієї чи іншої причини недоречно розгортати в каталозі /usr, разом із іншими пакетами.

Каталог /root рекомендовано в якості домашнього каталогу системного адміністратора (суперкористувача, користувача root).

Каталог /proc є специфічним для сучасних Linux-систем, служить інтерфейсом до інформаційних структур ядра.

Для створення файлів використовують утиліти: mkdir (створення каталогів), mknod (створення файлів пристроїв та іменованих каналів), mkfifo (створення іменованих каналів).

Приклади застосування:

mkdir newdir створює в поточному каталозі каталог newdir.

mkdir /tmp/mytmp створює каталог /tmp/mytmp (передбачається, що /tmp існує).

mkdir -p onedir/twodir створює каталог onedir/twodir; причому, якщо каталог onedir відсутній, його також буде створено.

Для копіювання файлів використовують утиліти: cp (копіювання файлів без модифікації змісту та можливості оперування атрибутами), dd (копіювання файлів з можливістю модифікації змісту), install (копіювання файлів з можливістю оперування атрибутами).

Приклади застосування:

cp onefile somedir/twofile створює копію файлу onefile з ім’ям somedir/twofile (якщо somedir/twofile не існує, або існує і не є каталогом) або somedir/twofile/onefile (якщо somedir/twofile існує і є каталогом).

cp onefile twofile somedir створює копії файлів onefile та twofile з іменами відповідно somedir/onefile, somedir/twofile. Тут передбачається, що somedir – це існуючий каталог.

Для перейменування/переміщення файлів використовують утиліти: mv (перейменування або переміщення файлів), rename (перейменування файлів).

Приклад застосування.

mv onefile twofile змінює ім’я onefile на twofile (якщо twofile не існує або існує і не є каталогом) або twofile/onefile (якщо twofile існує і є каталогом).

Для оперування зв’язками з файлами використовують утиліти: ln (створення жорстких або символічних зв’язків із файлами), readlink (виведення імені референта символічного зв’язку).

Приклади застосування.

ln origfile link створює для файлу origfile новий жорсткий зв’язок: link (якщо link не є каталогом) або link/origfile (якщо link є каталогом).

ln –s origfile symlink створює для файлу origfile новий символічний зв’язок: symlink (якщо symlink не є каталогом) або symlink/origfile (якщо link є каталогом).

Для видалення файлів використовують утиліти: rm (видалення файлів), rmdir (видалення порожніх каталогів), unlink (видалення файлів), shred (незворотне видалення файлів).

Приклад застосування.

rm somefile видаляє файл somefile, якщо він не є каталогом.

rmdir newdir видаляє каталог newdir, якщо він порожній.

rmdir -p onedir/twodir еквівалент rmdir onedir/twodir; rmdir onedir.

Для виведення змісту каталогів використовують утиліту ls.

Приклади застосування.

ls виводить імена файлів поточного каталогу (окрім тих, що починаються з крапки).

ls -a /tmp виводить імена всіх файлів каталогу /tmp.

ls -l виводить імена і деякі атрибути файлів поточного каталогу.

Для дослідження та обробки розділів файлової системи використовують утиліту find, а також ls (із опцією -R), cp (із опцією -R), mv (із опцією -R), chown (із опцією -R), chgrp (із опцією -R), chmod (із опцією -R).

Приклади застосування.

find / -maxdepth 1 виводить зміст кореневого каталогу.

find /bin /usr/bin /usr/local/bin –name bash виводить абсолютні імена всіх файлів із короткими іменами bash, що містяться в каталогах /bin, /usr/bin, /usr/local/bin та всіх їх підкаталогах.

find doc -type f -exec cp {} back \; копіює всі звичайні файли з каталогу doc та всіх його підкаталогів у каталог back.

Хід роботи:

*Усі завдання необхідно виконувати у новоствореному каталозі /home/stud/прізвище_студента. Екранні копії виконаних в терміналі завдань повинні бути чіткими та містити ім’я даного особистого каталогу.

1. Огляд типової структури каталогів файлової системи Linux.

Розглянути основні каталоги, передбачені стандартом FHS.

2. Базові прийоми оперування та управлінняфайлами Linux.

Розглянути призначення та базові прийоми застосування утиліт pwd, cd (з операндом і без), ls (без опцій і з опцією -a), mkdir, cp, mv, rm, rmdir, find.

Практично відпрацювати виведення утиліти ls із опцією –l. Переконатись у наявності в системі файлів різних типів, звернути увагу на особливості атрибутів файлів пристроїв.

Розглянути призначення та базові прийоми застосування утиліти ln.

3. Основні прийоми оперування носіями даних та файловими системами Linux.

Практично відпрацювати застосування утиліт df, du:

– визначити, з яких носіїв складається локальна файлова система, з якими типами файлових систем, скільки вільного місця залишилось на кожному з них (df -Th або df -Th ––local);

– з’ясувати, на яких носіях розташовані каталоги /, /boot, /home, /usr, /var, /tmp, скільки вільного місця залишилось на кожному з них (df -Th /, df -Th /boot і т.д.);

– з’ясувати розмір свого домашнього каталогу (du -s --apparent-size -h $HOME; можна і без --apparent-size).

4. Створення шаблонів та використання текстових фільтрів в Linux.

Виконати наступні завдання:

1. Складіть шаблон для будь-яких імен файлів, третя буква яких повинна бути голосною буквою англійського алфавіту.

2. Як зробити те ж саме, що і в попередньому завданні, але так, щоб друга буква не була голосною, а могла бути будь-яким іншим символом?

3. Як отримати за допомогою шаблонів всі імена файлів довжиною вісім символів, останній з яких або не цифра, або буква О?

4. Перевірте, чи можна використовувати символ зірочки всередині квадратних дужок. Якщо так, то що означає така конструкція ?

5. Отримайте список імен файлів в /etc, імена яких відповідають шаблону rc?.d. Зробіть це за допомогою команди echo.

6. Виконайте попереднє завдання за допомогою команди ls, а потім за допомогою ls -d. Чому виведений список імен файлів відрізняється ? Визначте, наскільки один список довший за інший.

7. За допомогою файлового шаблону підстановки і команди echo отримайте список файлів в каталозі /etc, імена яких починаються або з символу x, або з X.

8. Подивіться, які змінні оточення задані у вашій системі. Знайдіть найкоротшу змінну.

9. Створіть текстовий файл наступного змісту:

1 +2

6 * 4

97 % 12

43215 / 43 * 100

Порахуйте всі приклади з файлу за допомогою однієї команди.

10. Перевірте, як працює умовний конвеєр &&. Чи можна використовувати його в псевдонімі?

11. Перевірте, як працює умовний конвеєр | |.

Чи можна використовувати його в псевдонімі ?

5. Підведення підсумків. Оформлення та захист звітів по лабораторній роботі.

З повагою ІЦ "KURSOVIKS"!