Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
unix_lab.doc
Скачиваний:
4
Добавлен:
10.12.2018
Размер:
402.94 Кб
Скачать

Створення маски – umask

umask 0xxx

аргумент – числовий формат прав доступу

без аргумента - видає діючу маску

Виконайте слідуючі дії:

1. Створити новий каталог і файл. Подивитися , які права система їм назначила

touch f ; ls -l f

mkdir D ; ls -l D

2. Подивитися, яка в системі встановлена маска

umask → 0002

3. Маска накладається на першорядно встановлені в системі права.

Частіше за все це права

каталог rwx rwx rwx

файл rw- rw- rx-

Маска 0002 являє собою фільтр

000 000 000 001

Права представимо в двійковому виді;

к 111 111 111

ф 110 110 110

Накладення маски являє собою додавання по mod 2

м 000 000 010

+

к 111 111 111

ф 110 110 110

к 111 111 101

ф 110 110 100

Отримані права переводимо в звичайний вид:

к rwx rwx r-x

ф rw- rw- r --

Це ми і отримуємо при першорядному створенні файлів і каталогів. Якщо маску змінити, права, які даються за умовчанням, будуть іншими.

umask 022

d: rwx rwx rwx

f: rw- rw - rw-

m: - - - - w - - w-

d: rwx r - x r - x

f: rw- r - - r - -

Контрольні запитання

  1. Які типи власників є у об’єктів файлової системи?

  2. Які стандартні права існують для файлів і директорій ?

  3. Які команди міняють власників та права на об’єкти файлової системи?

  4. Що означає кожне з прав для файлів і директорій?

  5. Для чого служить маска?

  6. Як перетворити числове уявлення прав в символьне і навпаки?

Лабораторна робота №3

Тема: «Архівація та пошук файлів.

Використання зовнішніх носіїв»

Мета

Оволодіння практичними навичками архівація та пошуку файлів, використання зовніщніх пристроїв зберігання інформації.

Завдання для самостійної підготовки

1. Вивчити:

  • поняття “архівація” і “стискання”;

  • параметри пошуку файлів;

  • принцип монтування файлових систем;

  • зміст файлів, що відображають файлові системи.

2. Детально ознайомитись з довідкової системи man з такими

командами UNIX: tar, zip, find, mount.

Порядок виконання роботи

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

Зміст звіту

  1. Початкові дані і постановка задачі.

  2. Текст програми.

  3. Висновки.

Методичні вказівки

Архівація файлів та ужимання файлів по своїй природі - різні операції. Архівація - це операція обєднання декількох файлів (і каталогів) в один файл спеціального формата, який зветься архівом. За рахунок наявності службової інформації в архіві, розмір архіву більше суми розмірів вхідних в нього файлів. Ужимання - це операція зменшення розміру файлу з допомогою спеціальних алгоритмів. В Unix архівуванні та ужиманні виконується як правило різними програмами.

Архівування - tar

Команда tar предназначена для створення архівів на магнітній стрічці, а також в файлах. Признак tar-архіву: розширення файла ".tar" або буква "t" в розширенні ".tgz".

Опція архіватора формується з слідуючих категорій

Дія

режим

файл

c – створити архів

v – розширений режим

f – ім”я архівного файлу

t – вивести вміст архіву

w – інтерактивний режим

x - витягнути

z – режим ужимання

u – добавляє тільки файли, які новіші, чим та яка є в архіві копія

A – добавляє файли в існуючий архів

--delete – видалити з архіву

--remove-files – видаляє вихідні файли

--exclude FILE – виключити файл з обробки

Приклади

1) створити архів arh.tar, вмістивши в нього файл b.txt і каталог prog зі всіма його файлами і підкаталогами:

tar cvf arh.tar b.txt prog

rm -rf prog b.txt

2) вивести зміст архву arh.tar:

tar tvf arh.tar

3) витягнути файл prog/a.c з архиву arh.tar (створюється каталог prog {якщо його не було} і в нього записується файл a.c з архіву):

tar xvf arh.tar prog/a.c

ls -al prog

4) витягнути всі файли з архіву arh.tar:

tar xvf arh.tar

ls -l b.txt. prog

5) добавити файл uran до архіву:

tar uvf arh.tar uran

tar tvf arh.tar

Стиснення - gzip, compress, zip

Найбільш широко використовуваним компресором файлі під Unix являється утиліта gzip (зворотня їй утиліта - gunzip). Але, ці утиліти необов’язково входять в поставку операційної системи. Признак файлу, стисненого програмою gzip - розширення ".gz" або ".tgz" (tar+gzip).

Формат команди

gzip file

gunzip file.gz

При стисненні (без додаткових ключів) початковий файл видаляється, на його місці утворюється стиснутий файл, ім’я якого дорівнює імені початкового файлу плюс ".gz". При відновленні відбувається зворотнє: видаляється стиснений файл і створюється початковий.

З ОС Unix поставляється стандартний компресор compress (uncompress). Робота з цими утилітами аналогічна роботі з gzip (gunzip), але використовується розширення ".Z"

Для ОС Unix також є програми zip і unzip, які працюють аналогічно DOS-версіям, в тому числі, як додаток до стиснення, проводять архівування і розпаковку архівів. Формат архівів сумісний з

форматом DOS pkzip та WinZip. (Для DOS/Windows також вже написані утиліти gz і tar.)

Формат команди

zip file.zip список_файлів

gunzip file.zip

gunzip file.zip список_файлів

Пошук файлів (find)

find каталог [вираз ... ]

Команда проводить рекурсивний пошук у вказаному каталозі і його підкаталогах. Для кожного файлу обчислюються значення вказаних в командному рядку логічних виразів, які об'єднуються по "І". Якщо у результаті виходить "ІСТИННО", то ім'я файлу (точніше шлях до нього, починаючи від вказаного в командному рядку каталога, виводиться в стандартний вивід).

Відсутність виразів - завжди "ІСТИННО" (тобто в цьому випадку find рекурсивно виводить імена всіх файлів каталога і його підкаталогів).

Основні вирази find

(Примітка: нижче скрізь, де є числовий параметр N, перед ним можна ставити плюс або мінус, при цьому справедливе наступне правило: "+N" означає "більше, ніж N", "-N" означає "менше, ніж N", просто число N означає "рівне N".)

-name шаблон_імені_файла

істино, якщо ім'я файлу відповідає шаблону; у шаблоні можна використовувати символ ‘*’ і т.п. - при цьому шаблон треба узяти в одинарні лапки.

-perm ABCD

істино, якщо права доступу до файлу точно дорівнюють вказаним (ABCD); права записуються в числовій нотації команди chmod.

-perm -ABCD

істино, якщо вказані права доступу (ABCD) є у файла; права записуються в числовій нотації команди chmod.

-type T

істино, якщо тип файлу рівний вказаному типу T, де Т - один з символів: f (звичайний файл), d (каталог), l (символічний зв'язок), b або з (блоковий або символьний пристрій), p (конвейєр).

-user ім’я_користувача

істино, якщо файл належить вказаному користувачу.

-group ім’я _групи

істино, якщо файл належить вказаній групі.

-size Nc

істино, якщо розмір файлу дорівнює N байт (без символа 'c' розмір інтерпретується в 512-байтних блоках).

-mtime N

істино, якщо вміст файла був модифікований N суток назад (т.е. N*24 години назад).

-atime N

істино, якщо останній доступ до файлу мав місце N суток назад (т.е. N*24 години назад).

-ctime N

істино, якщо атрибути файлу були модифіковані N суток назад (т.е. N*24 години назад).

-newer ім’я _файлу

істино,якщо файл був модифікований пізніше, ніж вказаний.

-nouser

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

-nogroup

істино, якщо група-власник файла не знайдена в списку груп (наприклад, група була видалена, а файли залишились).

-maxdepth N вказати кількість вкладених рівнів пошуку

-a

операція "І" в явному виді.

-o

операция "АБО".

\( \)

дужки для угрупування виразів, якщо це необхідно (зверніть увагу на наявність зворотніх слешей). До найдених файлів можуть застосовуватися наступні дії:-print

Вивести на екран ім’я найденого файлу разом з шляхом. Ця дія виконується за умовчанням.

-delete

Видалити знайдені файли.

-exec команда {} \;

Виконання вказаної команди для кожного знайденого файла з передачею імені файла в якості артумента ({}).

-ok команда {} \;

Аналогічна дії -exec, тільки для кожного файу запитується підтвердження перед виконанням команди.

Приклад

find . –name file1

пошук файла file1 в поточному каталозі

find /home/ -name 'fx' | wc- l скільки файлів на f

find /home/ -type d які є каталоги

find /home/ -size +10c розмір більше 10 байт

find /home ! -name 'f*' не починається на f

find /home -empty –exec rm {} \; видалення пустих файлів

find . -empty | wc –l cкільки пустих файлів

find ~ -name "*.txt" -exec cp {} /mnt/floppy/ \; Копіювання всіх

текстових файлів на дискету:

tar cf arc `find –user logname – mtime -1` -

архівування своїх файлів, створених на протязі дня:

Визначення типу файлу

Команда file <file>

Визначити тип файлу. Може замість списку імен файлу використовувати файл зі збереженим в ньому списком імен.

file –f file

Якщо замість file стоїть дефіс, тестує стандартний ввід.

Робота з дискетами та дисками

Підключення дискети

Подивимось файл /ete/ fstab це файл, який зберігає встановлені точки монтування файлових систем.

Дискета або диск також представляє собою автономну ф/с. Для того, щоб можна було з нею працювати, її треба підмонтувати до загальної ф/с.

Це робиться за допомогою утиліт mount.

В XW для цього необхідно нажати іконку з дискетою, а якщо її немає, то на вільному полі натиснути праву кнопку миші.

Основні команди

mount - монтувати

umount - розмонтувати

du – визначити розмір файла

df – перевірити об’єм диска

fdformat – низькорівневий формат

mkfs

mke2fs - створити ф/с

Формат команди mount

mount [- t< тип ф/с>] [<устрій>] [<т. монт.>]

mount – t ext2 /dev/fd0 /mnt/floppy

Так як в файлі /etc/fstab задано у відповідності між пристроями і точками монтування то або <пристрій> або <т. монтування> можна опустити.

Тип ф/с також можна опустити, тоді він задаєтся за умовчанням.

mount /dev/fd0

Проглянути вміст дискети:

ls /mnt/floppy

Помістимо туди файл

ср file 1 /mnt/floppy

Перейти на дискету:

cd /mnt/floppy, ls

Для підключення другої дискети спочатку треба відмонтувати дану:

umount /mnt/ floppy або umount /dev/fd0

Тепер можна подивитися іншу

mount /mnt/ floppy

ls /mnt/ floppy

Форматування дискет

Для того, щоб від форматувати дискету в Linux треба пройти два етапи:

- низькорівневе форматування або розмітка диска;

fd format /dev/fd0

- створення ф/с на пристрої:

mkfs –t ext2 /dev/fd0

/slin/mke2fs [опції] /dev/fd0

Опції:

-с – перевірка на вільний блок

-v- відображає інформацію

-l - <ім’я> - присвоє fd ім’я

В XW для форматування є дві утиліти кfloppy і gfloppy.

Перевірка об’єму диска

df /dev/fd0

Контрольні запитання

  1. Чим архівація різниться від стискання ?

  2. По яким критеріям можна шукати файли з допомогою команди find ?

  3. Основні опції команди tar.

  4. З допомогою яких команд можна дізнатися інформацію про вільне місце в файловій системі?

  5. Що таке монтування\розмонтування ?

Лабораторна робота №4

Тема: «Програмування на мові bash.

Файли ініціалізації»

Мета

Оволодіння практичними навичками професійної роботи з командною оболонкою shell – використання змінних і створення командних файлів, використання файлів ініціалізації.

Завдання для самостійної підготовки

1. Вивчити:

  • організацію умовного виконання командного рядка, угруповання команд у командному рядку;

  • використання змінних shell;

  • організацію командних файлів;

  • арифметичні обчислення в shell;

  • використання псевдонимів.

2. Детально ознайомитись з довідкової системи man з такими

командами UNIX: let, echo, read, env, set, sh, alias.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]