- •6.1 Тема «Поняття файлу і файлової системи»
- •6.1.1 Поняття файла
- •6.1.2. Поняття файлової системи
- •6.1.3. Типи файлів
- •6.1.4 Імена файлів
- •Тема «Організація інформації у файловій системі»
- •6.2.1 Розділи
- •6.2.2 Каталоги
- •6.2.3 Поняття шляху
- •6.2.4 Зв'язок розділів і структури каталогів
- •6.3.1 Жорсткі зв'язки
- •6.3.2 Символічні зв'язки
- •Тема «Атрибути файлів»
- •6.4.1.Атрибути файлів.
- •6.4.2. Атрибути безпеки файлів
- •Тема «Організація інформації у файловій системі»
- •6.5.1 Підходи до використання файлів процесами
- •6.5.2 Загальні відомості про файлові операції
- •6.5.3 Змінні середовища
- •6.5.4 Команди msdos для роботи с каталогами та файлами
- •Тема 6.6 «Міжпроцесова взаємодія на основі інтерфейсу файлової системи»
- •6.6.2 Файлові блокування posix
- •6.6.3 Файлові блокування у Win32
- •Тема 6.7 «Команди загальносистемного призначення»
- •6.7.1 Команди обслуговування дисків.
- •6.7.2 Командний файл autoexec.Вat.
- •6.7.3 Файл конфігурації системи config.Sys.
- •Тема 6.8 «Командні файли» Самостійна робота № 28
- •6.8.1.Призначення та можливості пакетних командних файлів.
- •6.8.2. Командні файли з заміняючими параметрами.
- •Безумовний перехід в командних файлах
- •6.8.4. Організація діалогу переходи в командних файлах.
- •Тема 6.22 Лабораторна робота №11 «Командна оболонка shell, стандартні потоки вводу/виводу, фільтри і конвеєри»
6.2.2 Каталоги
Розділи є основою організації великих обсягів дискового простору для розгортання файлових систем. Для організації файлів у рамках розділу зі встановленою файловою системою було запропоновано поняття файлового каталогу (file directory) або просто каталогу.
Каталог - це об'єкт (найчастіше реалізований як спеціальний файл), що містить інформацію про набір файлів. Про такі файли кажуть, що вони містяться в каталозі. Файли заносяться в каталоги користувачами на підставі їхніх власних критеріїв, деякі каталоги можуть містити дані, потрібні операційній системі, або її програмний код.
Каталог можна уявити собі як символьну таблицю, що реалізує відображення імен файлів у елементи каталогу (зазвичай в таких елементах зберігають низько-рівневу інформацію про файли). Подивимося, як може бути реалізоване таке відображення.
Деревоподібна структура каталогів
Базовою ідеєю організації даних за допомогою каталогів є те, що вони можуть містити інші каталоги. Вкладені каталоги називають підкаталогами (subdirectories). Таким чином формують дерево каталогів. Перший каталог, створений у файловій системі, встановленій у розділі (корінь дерева каталогів), називають кореневим каталогом (root directory).
6.2.3 Поняття шляху
Ім'я файла формується з урахуванням структури каталогів.
Для файла, розташованого всередині каталогу недостатньо його імені для однозначного визначення, де він перебуває, — в іншому каталозі може бути файл із тим самим ім'ям. Тепер для визначення місцезнаходження файла потрібно додавати до його імені список каталогів, де він перебуває. Такий список називають шляхом (path). Каталоги у шляху перераховують зліва направо - від меншої глибини вкладеності до більшої. Роздільник каталогів у шляху відрізняється для різних систем: в UNIX прийнято використовувати прямий слеш «/», а у Windows-системах — зворотний «\».
Абсолютний і відносний шляхи
Є два шляхи до файла: абсолютний і відносний. Абсолютний (або повний) повністю й однозначно визначає місце розташування файла. Такий шлях обов'язково має містити кореневий каталог. Ось приклад абсолютного шляху для UNIX-систем: /usr/local/bin/myfile.Якщо застосування використовує тільки абсолютні шляхи, йому зазвичай бракує гнучкості. Наприклад, у разі перенесення в інший каталог потрібно буде вручну відредагувати всі шляхи, замінивши їх новими.
Відносний - шлях, відлічуваний від деякого місця в ієрархії каталогів. Щоб його організувати, потрібно визначитися із точкою відліку, для чого використовують поняття поточного каталогу. Такий каталог задають для кожного процесу, і він може бути змінений у будь-який момент командою cd або системним викликом chdi г(). Відносний шлях може відлічуватися від поточного каталогу і звичайно кореневий каталог не включає. Прикладом відносного шляху до файла /usr/ local /bin/myfile (за умови, що поточним каталогом є /usr/local) буде bin/myfile, а в ситуації, коли поточним є каталог файла (/usr/local/bin), відносним шляхом буде просто ім'я файла: myfile.
Для спрощення побудови відносного шляху кожний каталог містить два спеціальні елементи:
«.», що посилається на поточний каталог; «..», що посилається на каталог рівнем вище.З урахуванням цих елементів можуть бути задані такі відносні шляхи, як ../../bin/myfile (за умови, що поточний каталог — /usr/local/lib/mylib) або ./myfile (вказує на елемент у поточному каталозі).
Застосування, що обмежується тільки відносними шляхами під час доступу до файлів (особливо, якщо вони не виходять за межі каталогу цього застосування), може бути без змін перенесене в інший каталог тієї самої структури.
Є й інші можливості полегшити задання шляхів доступу до файлів у каталогах. Одним із найпоширеніших способів є використання змінної оточення PATH, що містить список часто використовуваних каталогів. У разі доступу до файла за іменем його пошук спочатку виконуватиметься в каталогах, заданих за допомогою PATH.
