МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
“ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ЛАБОРАТОРНИЙ ПРАКТИКУМ
З курсів ’Операційні системи комп’ютерних мереж’ та „Мережне забезпечення комп’ютерних систем проектування”
для студентів напрямів 0804 ’Комп’ютерні науки“ та фаху
7.080.402 „Комп”ютерні системи проектування’
ЛЬВІВ - 2009
Лабораторний практикум з курсів ’Операційні системи комп’ютерних мереж’ та „Мережне забезпечення комп’ютерних систем проектування”.
Для студентів напрямів 0804 „Комп”ютерні науки” та та фаху
7.080.402 „Комп”ютерні системи проектування’ /Упорядник Буров Є.В.
Львів, Вид-во Національного Університету “Львівська Політехніка”, 2009, - с. 31
Упорядники: Буров Є.В.
Рецензенти: Катренко А.В., к.е.н., доц.
Кісь , к.т.н., доц.
Вiдповiдальний за випуск: Пасічник В.В., д.т.н., проф.
Затверджено на засiданнi кафедри ‘Iнформацiйнi системи та мережi’, протокол № від Лабораторна робота №1
Тема: ОС Linux. Знайомство з операційною системою
Мета роботи: навчитися основам роботи з файловою системою Linux, керування правами доступу користувача. Дослідити зміст та призначення стандартних каталогів Linux. Практично засвоїти базові операції з ОС
Теоретичні відомості:
Історія створення та статус Linux
Linux – один з клонів ОС UNIX, який вільно розповсюджуєтся відповідно до ліцензії GNU. Основу цієї ОС було закладено Лінусом Торвальдсом (Linus Torvalds) з університету м. Хельсинки. На сьогодні Лінус координує роботи з ядром Linux, але розробка системи виконується великим колективом програмістів з різних країн відповідно до проекту GNU, який координує Товариство Вільного Програмного Забезпечення (Free Software Foundation). Перша версія Linux вийшла 5 жовтня 1991 року. На сьогодні існує велика кількість дистрибутивів Linux, що використовують одне ядро Linux. На сьогодні найновішою версією ядра є __________
Вхід та вихід з системи
Linux , так як і UNIX є багатокористувацькою ОС. Це значить, що декілька користувачів, що працюють за різними терміналами, можуть одночасно працювати з одним сервером Linux. Кожен користувач у багатокористувацькій системі мусить мати своє ім”я та пароль. Після завантаження системи виводиться підказка:
login: користувач вводить ім”я користувача ОС
password: користувач вводить відповідний пароль. Процес введення паролю не відображається на екрані.
Ім”я користувача та пароль задаються адміністратором та можуть бути змінені користувачем з викорисанням команди passwd
Якщо реєстраційні дані уведені правильно, користувач отритмує можливість введення команд з командного рядка інтерпретатора команд.
Після закінченння роботи необхідно коректно вийти з системи з використанням команди
shutdown –r now
Деякі прості команди
date – вивід біжучої дати та часу
who – список користувачів, що працюють у системі1
pwd – відображення біжучого каталогу
passwd – зміна паролю
cd – змінга каталогу
ls – відображення списку файлів та каталогів у біжучому каталозі
Файлові системи та каталоги
Існує два розуміння терміну „Файлова система”. У першому файловою системою вважають конкретний набір файлів та каталогів на диску та його логічна організація. У другому – організація збереження інформації на диску, способи доступу до даних. У цій роботі ми розглядаємо логічну організацію файлів на диску.
Файлова система Linux подібна до файлової системи MS DOS, яка у свій час створювалася по аналогії з файловою системою UNIX. Кожний логічний та фізичний об”єкт у Linux існує як файл Linux. В якості фізичних об”єктів виступають диски, прінтери, термінали; під логічними об”єктами розуміють каталоги та звичайні файли, що містіть докуменнти та програми.
В цій лабораторні й роботі ви ознйомитеся з
іменами файлів, що дозволені в Linux
типами файлів Linux
як визначити та налаштувати дозволи на доступ до файлу
структурою каталогів Linux
Файли та шляхи
В Linux як і в інших операційних системах, треба розрізняти коротке та повне імена файлів. Повне ім”я файлу відображає розташування файлу у файловій системі – абсолютне або відносне. Ім”я файлу (коротке) – це послідовність букв, цифр та деяких розділових знаків. Ця послідовність не повинна містити пробіли або інші символи, що використовуються як розділювачі полів (delimiters). Наприклад назва файлу johns.letter – це коректна назва, а назва johns letter – некоректна, так як містить пробіл. У назвах файлів не дозволяється використовувати деякі службові символи, які мають спеціальне значення для інтерпретатора команд системи:
! @ # $ % ^ & * ( ) [ ] { } ' " \ / | ; < >
Особливу роль відіграє символ / , який використовують як розділювач у шляхах файлів. Існує можливість використовувати в іменах файлів і „заборонені” символи, але тоді треба брати ім”я файлу у лапки, наприклад
“! Johns Letter” . Але при цьому морже ускладнитися використання цього файлу програмами, а також його використання в інших ОС.
Примітка: у деяких дистрибутивах Linux обмеження на використання спеціальних символів в іменах файлів в значній мірі подолано. Водночас, з метою збереження переносимості програм рекомендується дотримуватися згаданих вище обмежень.і
Перші версії UNIX, з яких виводится і Linux, мали обмеження на довжину файлу у 14 символів. В Linux це обмеження знято – імена файлів можуть мати до 256 символів. Деякі з існуючих версій UNIX (наприклад BSD), дозволяють викуористовувати імена довжиною до 64 символів, але тільки перші 14 з них є значущими. Для забезпечення сумісності між операційними системами рекомендується обмежити імена файлів 14 символами.
Повне ім”я (шлях) файлу може мати необмежену кількість символів.
В Linux файли не існують самі по собі, вони обов”язково повинні міститися в якомусь каталозі. Найвищий ієрархічний рівень у системі каталогів називається коріневим (root) та позначається знаком /. Якщо файл носит ім”я minny, та розташований у кореневому каталозі, то його абсолютний шлях буде /minny.
Файлі користувачів розміщуються в одному з підкаталогів кореневого каталогу з ім”ям Home. Для кожного з користувачів створюють окремий підкаталог з ім”ям користувача. Наприклад, якщо в системі існує користувач minny, то іі файли будуть знаходитися у каталозі /home/minny. Абсолютне ім”я файлу вказує повний шлях до файлу починаючи з кореневого каталогу. Наприклад, таким іменем може бути /home/minny/minnys.file.
Поряд з абсолютним іменем існує і відносне ім”я, яке задається відносно біжучого каталогу. Наприклад, якщо користувач minny знаходитьься у своєму долмашньомук каталогу /home/minny, то відносним іменем файлу буде minnys.file. Для того, щоб визначити який каталог є біжучим, можна скористатися командою pwd (print working directory). Визначити біжучий каталог також можна якщо вивести на екран значення змінної оточення $pwd командою echo $pwd
При завданні відносного імені файла можна використовувати два знаки, що мають спеціальне значення. Це
. (окрема крапка) – означає біжучий каталог,
.. (дві крапки) – означає батьківський каталог для біжучого
Наприклад, якщо біжучий каталог /home/minny, то каталог з абсолютни ім”ям /minny можна задати таки відносним ім”ям: ../../minny. Знак біжучого каталогу – окрема крапка- буває корисним, наприклад, підчас переміщення файлу. Для того, щоб перенести каталог /copper у біжучий каталог, використовують команду
mv /copper minny
Цю ж операцію можна виконати і інакше:
mv /copper .
де знак . використовується для позначення біжучого каталогу.
Більшість команд Linux працюють з повними іменами файлів. Але найчастіше доводиьтся виконувати операції над файлами з біжучого каталогу. При цьому всі відносні імена розглядаються відносно біжучого каталогу.
Каталоги є різновидом файлів. Каталогів іменують по тих же правилах, що й файли. На відміну від деяких ОС, в Linux немає поняття логічного диску позначеного літерою. Всі файли, навіть фізично розміщені на різних дисках, логічно подані як складова частина кореневої файлової системи.
Визначено чотири головних типів файлів: звичайний файл, каталог, посилання та спеціальний файл. Кожен з тих типів, крім каталогів, має декілька підтипів.
Для того, щоб визначити тип файлу, використовуйте команду file. Ця команда дозволяє визначити, чи є файл виконувальним, текстовим, чи містить інші дані. Команда file має такий синтаксис:
file [-vczl] [-f namefile] [-m magicfile] filelist
Де:
Аргумент
Опис
-с
Виводить «магічний» файл /usr/lib/magic, що містиь заголовки двійкових файлів для їх коректної ідентифікації. Цей аргумент часто викоритстовують разом з -m для відлагодження нового файлу перед його інсталяцією
-z
Аналізує зміст стиснутого файлу, намагаючись визначити його тип
-L
Працює з символьними посиланнями
-f namefile
Вказує програмі, що список файлів, тип яких потрібно визначити, знаходиться у текстовому файлі namefile. Такий аргумент зручно використовувати, якщо потрібно визначити тип декількох файлів
-m magicfile
Задає нестандартний «магічний» файл. За замовчуванням використовують /usr/lib/magic
filelist
Список файлів, тип яких потрібно визначити. Назвіи файлів розділені пробілами
Звичайні файли
Користувачі системи Linux найчастіше працюють з звичайними файлами. Ці файли, наприклад, моржуть містити віхідний код програми на мові С, скріпт командної мови, двійковий виконувальний код та ін. Файли різних типів не відрізняються в Linux, за виключенням, виконувальних, які мають спеціальну ознаку. Виконувальні файли можна запустити на виконання якщо вказати у командному рядку назву файла. Виконувальні файли – це бінарні двійкові файли, що містять машинній код або команди командної мови.
Каталоги
Каталоги – це файли, що містять імена звиччайних файлів та підкаталогів, а такод вказівники на ці файли та підкаталоги. Каталоги – це єдини місце у системі, де зафіксовані назви файлів. При використанні команди ls, яка відображає зміст каталога, просто виводиться зміст файлу каталога. Будь-якого звертання до самих файлів не відбувається. Якщо назву файлу змінюють (командою mv) так що файл залишається у тому ж каталозі, система змінює відповідний запис у файлі каталога. Якщо файл переміщується в інший каталог того ж диску, то запис про файл переміщується у файл каталогу призначення. Якщо ж файл переміщується на інший диск, то система фізично переміщує сам файл на цей диск, та відображає ці зміни у відповідних файлах каталогів.
Каталоги та фізичні диски
Кожному файлу в Linux присвоюють унікальний номер, який називають індексом файла (inode). Індекс зберігають у таблиці індексів (inode table), яка створюється при форматуванні диску. Кожен фізичний та логічний диск мають свою таблицю індексів. Індекс містить всю інформацію про файл, таку як тип файлу та розташування даних на диску. Тип прописанй в індексі може приймати три значення- звичайний файл, каталог, спеціальний файл.
Індекс з номенром 1 присвоюється кореневому (root) каталогу і дає системі адресу розташування кореневого каталогу на диску. Кореневий каталог містить список файлів, назві каталогів та відповідних індексів.
Linux може знайти довільний файл, переглянувши ланцюжок каталогів, починаючи з кореневого. Зміст каталогу може виглядати, наприклад, так:
1 .
1 ..
45 etc
230 dev
420 home
123 .profile
У списку наявні файли . (крапка) та .. (дві крапки), які відповідають біжучому каталогу та батьківському каталогу. Так як еореневий каталог не має батьківського, то запис про батьківський каталог посилається на сам кореневий каталог.
Зміст каталогу /home виглядає так:
420 .
1 ..
643 minny
Індекс біжучого каталога (.) співпадає з індексом, ваказаним для /home у кореневому каталогу. Індекс батьківського каталога відповідає індексу кореневого каталога.
Linux орієнтується у файловій системі рухаючись уверх та вниз по ланцюжкам файлів- каталогів файлової системи. Якщо файл переносится на інший диск, система спочатку знаходить цей файл на диску, аналізуцючи таблицю індексів. Потім файл переноситься на інший диск фізично, а в таблицю індексів нового диску додається індекс нового файла. Після цього індекс в таблиці первинного диску знищується.
При знищенні файлу, система фізично файл не витирає. Замість цього вона помічає індекс цього файлу як вільний, а запис в каталозі про файл знищується.
Посилання (зв”язки)
Посилання не є справжніми файлами. Їм відповідають записи в каталогах, що вказують на один і той же індекс. В таблиці індексів зберігається інформація про те, скільки посилань асоційовано з файлом. Файл можна знищити тільки, коли на нього не буде посилань. Посилання не можуть вказувати на файли на іншому диску.
Linux має посилання і іншого типу, т. зв. символічні посилання (symbolic link) Для такого просилання відповідний запис каталога містить індекс файлу, в якому розміщена інформація про шлях до іншого файла, який може знаходитися у довільному місці логічної файлової системи Linux. Якщо знищується файл, то знищуються і всі символічні посилиння на нього.
Для відображення інформації про посилання можна скористатися командою ls –l
При цьому у списку файлів біжучого каталогу буде відображатися, що даний файл є посиланням, наприклад:
lrwxrwxrwx 1 root root 4 Jan 18 16:27 Info->info/
Ознакою того, що даний файл є посиланням є символ “l” на початку рядка
Спеціальні файли
Всі фізичні пристрої, приєднані до Linux – диски, термінали, прінтери – подані файлами. Майже усім зовнішнім пристроям відповідають файли у каталозі /dev. Наприклад, системній консолі відповідає файл /dev/console, а терміналу може відповідати файл /dev/tty01.
Прінтери та термінали називають символьними пристроями, так як обмін інформацією з комп”ютера з ними відбувається посимвольно. На відміну від символьних пристроїв, обмін даними з дисками відбувається цілими блоками, кожен з яких має адрес, поданий відповідними номерами дорожки та сектору. На диск неможливо записати чи прочитати окремий символ. Тому диск є блочним пристроєм.
Для зручності в Linux робота з символьними та блочними пристроями відбувається з точки зору користувача однаково. Як для символьних, так і для блочних пристроїв створюється логічний пристрій символьного типу.
Ще одним типом пристрою є іменований канал (named pipe). Фактично він є буфером FIFO (first in — first out). Такий буфер є звичайним файлом. При записі його розмір збільшується, а при зчитуванні – зменшується. Такі файли використовують для того, декілька одночасно працюючих програм посилали інформацію одна одній. Наприклад, команда роздруку файлів lp визначає параметри друку шляхом запису в іменований канал інформації для системного процеса lpshed який керує друкуванням.
Корисним є також спеціальний пристрій /dev/null (кошик для сміття). Вивід даних у цей файл ігнорується. Наприклад, якщо користувача не цікавлять діагносимчні повідомлення, які зазвичай виводяться в стандартний потік помилок, він може переспрямувати вивід у кошик для сміття:
ls -la > /dev/null
Права доступу до файлів
Права доступу до файлу або каталогу в Linux – це щось більше ніж просто права доступу на читання або запуск програми – вони визначають також і тип файла і то, яким чином буде виконуватися процес, що відповідає файлу.
Права доступу для даного файлу можна дізнатися, якщо виконати команду ls –l . Параметр -l вказує команді ls, що списоу файлів біжучого каталога треба видати у розширеному форматі. Результат виконання команди може виглядати, наприклад, так:
drwx------ 2 sglines doc 512 Jan 1 13:44 Mail
drwx------ 5 sglines doc 1024 Jan 17 08:22 News
-rw------- 1 sglines doc 1268 Dee 7 15:01 biblio
drwx------ 2 sglines doc 512 Dee 15 21:28 bin
-rw------- 1 sglines doc 44787 Oct 20 06:59 books
-rw------- 1 sglines doc 23801 Dee 14 22:50 bots.msg
-rw-r----- 1 sglines doc 105990 Dee 27 21:24 duckie.gif
У цьому виводі відображена практично уся інформація, яку можна отримати аналізуюсчи записи у каталозі та індекси файлів. У першій колонці наведені права доступу до файлів, другий стовпець вказує кфлькість посилань на файл або к-сть додаткових блоків каталогу, третя відображає власника файла (в Linux власники файлів можуть бути трьох типів: користувач, група користувачів, всі користувачі). Четвертий стовпець містить ім”я групи якій належить даний файл, п”ята – розмір файлу в байтах, шоста – час та дату його створення, а сьома – назву файла.
Перший стовпець з правами доступу у свою чергу склавдається з чотирьох полів:
- rwx rwx rwx
Перше поле вказує на тип файла. Звичайний файл позначається (-), каталог – буквою d. Можливі значення цього поля такі:
Символ
Значення
-
Звичайний файл
b
Файл, якому відповідає блочний пристрій
c
Файл, якому відповідає символьний пристрій
d
Каталог
Три наступні поля відображають права доступу для файлу для читання, запису, виконання. Перше поле задає права користувача – власника файла, друге – права групи користувачів, третє – права усіх інших користувачів. Кожне з цих полів має по три символи. Наприклад, послідовність rwx у першому полі означає, що власник файла має права на читання, запис та виконання файла.
Зазвичай файл-програма виконується з правами доступу того користувача, який її запустив на виконання. Але, якщо встановлено спеціальний біт (User Id bit, біт користувача файла) то програма виконується з правами власника файла. Це означає, що програма буде мати такі ж права доступу до інших файлів, що й власник. Наприклад, якщо звичайний користувач запустить файл власником якого є адміністратор (root), то програма буде мати права доступу адміністратора при звертанні до всіх файлів системи, незважаючи на обмеження прав доступу звичайного користувача. Аналогічно діє і інший біт керування (group Id bit), тільки по відношенню до групи.
Дані про режим виконання файлу містять ще біт збереження задачі (sticky bit, біт прилипання). Цей біт вказує системі на необхідність зберегти копію програми, що виконується у пам”яті після її завершення. Включення цього біта вигідно при частому запуску програми, так як економить час на завантьаження файла у пам”ять при кожному запуску.
Завдання та зміна прав доступу виконується з використанням кооманди chmod. Ця команда застосовується у двох формах – абсолютній та відносній. Синтаксис абсолютної форми використовує завдання у восьмірковій формі кода прав доступу. Для отримання значення повного коду захисту файла необхідно додати базові складові чсастини подані у таблиці нижче
Код
Режим доступу
0001
Права на виконання для інших
0002
Права на запис для інших
0004
Права на читання для інших
0010
Права на виконання для групи
0020
Права на запис для группы
0040
Права на читання для группы
0100
Права на виконання для власника
0200
Права на запис для власника
0400
Права на читання для власника
1000
Встановлено біт збереження задачі
2000
Якщо файл виконувальний – то включено біт групи, у всіх інших випадках – повністю блокує доступ до файлу
4000
Якщо файл виконувальний – то включено біт користувача
Наприклад, для того, щоб дати права на читання, запис для власника файлу, на читання та запис групі, та жодних прав іншим користувачам, можна скористатися командою
chmod 660 file
де 660 – це сума відповідник складових кодів прав
При використанні команди chmod у відносній формі, необхідно задати такі параметри:
кому даються права
права даються вперше, додаються до існуючих, чи вилучаються
які нові права даються
Наприклад, команда chmod a=rwx file встановить заново права на читання, запис та виконання для усіх користувачів.
Параметри команди chmod, які використовуються у відносній формі наведені у таблиці нижче
Значення параметра
Опис
Група користувачів
a
Всі користувачі: даний коритстувач, його група, та усі інші
g
Група даного користувача
o
Всі користувачі, що не входять у групу даного користувача
u
Тільки даний користувач
Операція
+
Додати права до вже існуючих
-
Вилучити права
=
Надати вказані права замість існуючих
Права доступу до файлу
x
Право на виконання
r
Право на читання
w
Право на запис
s
Встановлено біт користувача
t
Встановлено біт збереження задачі
Якщо для файла біт користувача встановлено, команда ls –l виведе для нього такий рядок:
-rws------ 1 sglines 3136 Jan 17 15:42 х
Якщо додати біт групи, цей вивід буде такий:
-rws--s--- 1 sglines 3136 Jan 17 15:42 х
Якщо додати біт збереження задачі, отримаємо наступний запис:
-rws--srwt 1 sglines 3136 Jan 17 15:42 х
Літери s та t вказують на стан біта користувача та біта збереження задачі
Стандартні каталоги Linux
Коли користувач успішно зареєструється у системі, він одразу ж потрапляє до свого робочого каталогу /home/username, де username – ім”я користувача у системі. Змінна PATH містить посилання на інші каталоги, де знаходяться виконувальні файли.
Типова структура каталогів Linux виглядає так:
/
Кореневий каталог
/etc
Містить дані налаштувань необхідні для запуску та подальшої роботи системи
/passw
/rc.d
/sbin
Містить програми (двійковий код) та командні скріпти необхідні для запуску системи
/bin
/tmp
Каталог для тимчасового збереження даних програмами. Як правило, програми, що завершуються повинні витерти інформацію з тимчасового каталога, яку вони внесли. ОС сама періодично чистить цей каталог
/var
/lib
Бібліотека функцій необхідна для компілятора мови C; також містить всі бібліотеки спільного використання, які завантажуються у пам»ять по мірі необхідності.
/home
Домашні каталоги користувачів
/<username>
Каталог користувача
/install
/usr
/bin
/proc
Хід роботи та індивідуальні завдання
Ознайомитися з теоретичними відомостями.
Завантажити ОС Linux та зареєструватися у системі
Ознайомитися зі структурою каталогів, пояснити їх призначення
Поровести пошук файлів у заданому каталозі по різним категоріям, пояснити різницю файлів
Дати повний опис знайдених файлів, у тому числі прав доступу.
Змінити права доступу для вказаного викладачем файла так щоб:
власник міг виконувати та записувати файл
власник міг тільки виконувати та читати, а група – тільки читати
решта користувачів могли тільки читати
група мала повний доступ
всі користувачі могли виконувати файл
жоден з користувачів не міг виконувати файл
тільки власник міг використовувати файл
власник міх читати файл, а група – ні
Всі введені команди та екранний вивід системи, а також варіанти вирішення індивідуальних завдань зпротоколювати у звіт про виконання роботи.
Лабораторна робота №2
Тема: ОС Linux. Робота з каталогами та файлами
Мета роботи: поглибити знання про файли та каталоги Linux. Навчитися працювати з файлами та організовувати їх по каталогам.
Теоретичні відомості
Команди роботи з файлами можна поділити на дві категорії:
команди, що працюють з файлами як з єдиним цілим (об”єктом)
команди, що змінюють вміст файлів
Отримання списку файлів
Головна команда для отримання списку файлів – ls. Спосіб відображення цією командою файлів залежить від того, як вона використовується. Якщо ls використовується разом з каналами, то кожен файл відолбражається в окремому рядку. Найчастіше, однак інформація відображається по стовпцях.
Поведінка команди ls керується ключами у формі – abcd. Ключі команді ls можна об”єднувати, наприклад: ls -lF
Значення найважливіших ключів команди ls наведені у таблиці нижче
Ключ
Значення
-a
Відображає усі файли. Якщо не задано ключів –а або –А, то не відображаються файли, імена яких починаються з крапки (.). Такі приховані файли найчастіше містять налаштування програм.
-A
Аналогічно ключу –а. Відрізняється тим, що каталоги . та .. не відображаються
-b
Всі неграфічні символи відображаються у восьмірковій формі \ddd
-c
Для сортування використовується час останньої модифікації.
-C
Задає вивід назв файлів у багатьох стовпцях.
-d filename
Якщо filename – назва каталогу, то авідображається тільки його назва, а не вміст. Ключ часто використовують разом з ключом l для визначення статусу каталогу. Якщо ключ не використовується, то виводиться вміст каталогу
-F
Помічає каталоги символами /, виконувальні файли *, символічні посилання @, програмні канали - |, сокети - =
-i
Для кожного файлу у першій колонці виводиться його індекс
-l
Відоюражає каталоги у розширеному форматі, виводячи режим, власника, розмір у байтах, час останньої модифікації для кожного файла. Якщо виводиться інформація про спеціальний файл, то замість розміру відображаються номери пристроїв. Якщо файл є символічним посиланням, виводиться також і -> та назва файлу на який посилаються.
-n
Замість назв файлів відображають ідентифікатори користувачів та груп, асоційованих з кожним файлом та каталогом.
-q
Усі неграфічні символи в назвах файлів замінюються на знаки питання ?.
-r
Змінює порядо сортування на зворотній.
-s
Відображає розміри усіх файлів, разом з додатковими блоками у кілобайтах
-t
Сортує файли та каталоги не по назвах, а по часу модифікації
-u
Використовує час останнього доступу до файлу при сортуванні
-x
Багатостовпцевий вивід інформації з сортуванням не по стовпцям, а по рядкам
Організація файлів
В Linux немає заздалегідь визначених правил організації файлів. Файли не мають розширень, таких як в MS DOS чи Windows. Користувач може розробити власну систему іменування файлів. Класична схема організації файлів базується на використанні підкаталогів. Наприклад bin – для збереження бінарних файлів, lib – бібліотек, etc – файлів налаштувань
Каталоги створюють командою
mkdir назва_каталога
Треба мати права доступу на запис у той каталог, в явкому створюється підкаталог. Нехай користувач створив три програми: prog1, prog2, prog3. Усі влни знаходяться у каталозі $HOME/bin.Якщо потрібно, щоб ці програми запускалися як і будь-яка інша команда Linux, необхідно до змінної оточення PATH додати шлях $HOME/bin. Це робиться такою командою (bash shell):
PATH=$PATH:$HOME/bin; export PATH
Вираз $HOME подає шлях до робочого каталогу користувача. Наприклад, якщо робочий каталог користуча /home/minny, то $HOME/bin інтерпретується системою як /home/minny/bin.
Якщо користувач створив деякі бібліотеки спільного використання для декількох програм, то доцільно розмістити їх у каталог $HOME/lib та додати шлях до цього каталога у змінну PATH.
Копіювання файлів
Для копіювання файлів використовують команду
cp from <path/filename> to <path/filename>
Для копіювання файлів необхідно мавти права на читання з каталогу з якого копіюється файл та права запису у каталог призначення.
При копіюванні файлів:
якщо вказати назву файла, який вже існує в каталозі, старий файл заміниться новим
якщо в параметрі to команди cp вказати тільки назвус каталога, то файл скопіюється з тою ж назвою.
з використанням команди cp file1 file2 file3 …. directory у каталог призначення скопіюється декілька файлів
при копіюванні можна використовувати шаблони (*, ?)
Переміщення та перейменування файлів
В Linux переміщення та пейменування файлів виконується командою mv, яка має той же синтаксис та правила використання , що й cp. Таким чином, використовуючси команду mv ьщжна перемістити багато файлів в один каталог, але назва каталогу повинна бути останньою у списку параметрів і треба мати права запису у каталог призначення.
Крім того, команда mv дозволяє пееміщувати та переіменовувати файли та каталоги. При переіменуванні файла змінюється тільки запис про нього. Файл фізично переміщуєтьсмя тільки тоді, коли його нове розташування є на іншому диску.
Видалення файлів та каталогів
Для видалення файлів використовують команду rm. Для видалення файла необхідно мати на нього права на читання та запис.
Якщо випадково набрати команду rm *, то будуть видалені усі файли біжучого каталогу. При цьому підкаталоги видалені не будуть. Для видалення підкаталогів, використовують команду rm –r *
Зручним способом захисту від випадкового вилучення файлів є використання команди rm ві інтерактивному режимі (з ключем –i). При цьому система буде питати дозволу на знищення кожного фала у каталозі.
Після знищення файлу поноваити його можна хіба що з резервної копії.
Перегляд вмісту файлів
Майже кожна команда Linux виводить результат виконання команди на консоль. Якщо команда отримує вхідні дані з файла, то після опрацювання файла результати також відображаються на екрані. При цьому для перегляду інформації можна скористатися однією з трьох команд: cat, more, less
Linux, як і всі інші системи UNIX при запуску відкриває чотири стандартних файла: стандартний ввід, вивід, вивід помилок та допоміжний. Ці файли відповідають насткупним пристроям:
Назва
Позначення
Пристрій
Стандартний ввід
Standard in (stdin)
Клавіатура
--- вивід
Standard out (stdout)
Екран
--- вивід помилок
Standard err (stderr)
Екран
Допоміжний
Auxiliary
Допоміжний пристрій
Використання команди cat
Для перегляду великих файлів найпростіше використовувати команду cat (concatenate, з»єднати).
cat file1 fiile2 file3
Параметрами команди cat є список файлів. Первинне призначення цієї команди – це об”єднання текстових файлів, але її можна використовувати і для перегляду файлів. При спробі вивести на екран великий файл, його вміст швидко промайне на екрані і користувач не зможе побачити його. Одним з способів призупинити вивід, а потім поновити його – це використати комбінації клавіш <ctrl-s> (зупинка), <ctrl-q> (продовження). Для цього також можна використати команди more та less для поекранного виводу інформації.
Використання команди more
Команди more та less використовують для поекранного виводу інформації. Але кожна з цих команд працює інакше. Команди визначають скількі рядків зміститься на екрані звертаючись до бази даних по терміналах та до змінної оточення TERM.
Команда more є старішою командою. Вперше вона з”явилася у версії Berkeley системи UNIX. Вона виявмлася настільки корисною, що стала , як і редактор vi, стандартною. Найпростіша форма використання команди це
more filename
При цьому виводиться частина файла розміром в один екран. Якщо натиснути клавішу пробілу, буде виведено наступний екран. Якщо натиснути <Enter>, то буде виведено тільки наступний рядок.
Можна переглядати і декілька файлів одночасно (more file1 file2 file3). Якщо треба відредагувати якійсь файл, то треба натиснути одну з клавіш <e> або <v>. При натисненні <e> файл відкриється у редакторі, що вказаний у змінній EDITOR (за замовченням – ed). При натисненні <v> файл відкриється у редакторі, що вказаний у змінній VISUAL (за замовченням – vi).
Суттєвим недоліком команди more є те, зміст файлів вона дозволяє переглядати тільки в одному напрямку. Цього недоліку позбавлена команда less
Використання команди less
Команда less працює практично так само, як і more. Формат команди:
less filename
Для перегляду наступного екрану треба натиснути пробіл, а для перегляду попереднього екрану – клавішу <b>
Недоліком less є неможливість редагування файлу, що переглядають
Пошук файлів
Якщо не вдалося знайти потрібний файл командою ls, то можна використати для пошуку команду find. Ця команда є дуже потужною, що робить її складною у використанні та розумінні.
Використання команди find складається з трьох етапів, кожен з яких у свою чергу може складатися з одного або декількох підетапів:
Де шукати
Що шукати
Що робити, коли файл знайдено
Якщо відома назва файла, але невідомо його знаходження, то для пошуку можна скористатися такою командою:
find / -name <filename> -print
Водночас, якщо пошук починається з кореня файлової системи, він може тривати протягом довгого часу, так як при цьому будуть аналізуватися кожнен каталог і кожен файл усіх файлових систем. Якщо відомо, що потрібний файл скорш за все знаходиться у певних каталогах, то скоротити час пошуку можна якщо вказати каталоги пошуку.
find /usr1 /usr2 –name <filename> -print
У таблиці наведені найбільш вживані ключі команди find
Команда
Опис
-name file
Параметр file може бути назвою файлу або шаблоном, що використовує символи підстановки. При використанні шаблону в результаті пошуку обирається кожен файл, назва якого задовільняє шаблону