Linux Professional Institute Learning Logo.
Перехід до основного вмісту
  • Головна
    • Усі ресурси
    • LPI Навчальні матеріали
    • Стати дописувачем
    • Видавничі партнери
    • Cтати видавничим партнером
    • Про нас
    • FAQ
    • Дописувачі
    • Переклади
    • Контакти
  • LPI.org
5.4 Урок 1
Тема 1: Спільнота Linux та кар'єра у світі вільного програмного забезпечення
1.1 Розвиток Linux і популярні операційні системи
  • 1.1 Урок 1
1.2 Основні застосунки з відкритим кодом
  • 1.2 Урок 1
1.3 Відкрите програмне забезпечення та ліцензування
  • 1.3 Урок 1
1.4 ІКТ навички та робота в Linux
  • 1.4 Урок 1
Тема 2: Як знайти свій шлях у системі Linux
2.1 Основи командного рядку
  • 2.1 Урок 1
  • 2.1 Урок 2
2.2 Використання командного рядку для отримання допомоги
  • 2.2 Урок 1
2.3 Використання папок та перегляд списку файлів
  • 2.3 Урок 1
  • 2.3 Урок 2
2.4 Створення, переміщення та видалення файлів
  • 2.4 Урок 1
Тема 3: Потужність командного рядка
3.1 Архівація файлів через командний рядок
  • 3.1 Урок 1
3.2 Пошук та отримання даних з файлів
  • 3.2 Урок 1
  • 3.2 Урок 2
3.3 Перетворення команд у скрипт
  • 3.3 Урок 1
  • 3.3 Урок 2
Тема 4: Операційна система Linux
4.1 Вибір операційної системи
  • 4.1 Урок 1
4.2 Розуміння апаратного забезпечення комп'ютера
  • 4.2 Урок 1
4.3 Де зберігаються дані
  • 4.3 Урок 1
  • 4.3 Урок 2
4.4 Ваш комп'ютер у мережі
  • 4.4 Урок 1
Тема 5: Безпека та права доступу до файлів
5.1 Основи безпеки та визначення типів користувачів
  • 5.1 Урок 1
5.2 Створення користувачів та груп
  • 5.2 Урок 1
5.3 Керування дозволами та правами власності на файл
  • 5.3 Урок 1
5.4 Спеціальні папки та файли
  • 5.4 Урок 1
How to get certified
  1. Тема 5: Безпека та права доступу до файлів
  2. 5.4 Спеціальні папки та файли
  3. 5.4 Урок 1

5.4 Урок 1

Сертифікат:

Linux Essentials

Версія:

1.6

Розділ:

5 Безпека та дозволи на файли

Тема:

5.4 Спеціальні каталоги та файли

Урок:

1 з 1

Вступ

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

Тимчасові файли

Тимчасові файли – це файли, які використовуються програмами для зберігання даних, які потрібні лише на короткий час. Це можуть бути дані запущених процесів, журнали збоїв, файли-шаблони з автозбереження, проміжні файли, які використовуються під час перетворення файлів, файли кешу тощо.

Розташування тимчасових файлів

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

/tmp

Відповідно до FHS, програми не повинні вважати, що файли, записані тут, будуть збережені між викликами програми. Рекомендація полягає в тому, щоб цей каталог був очищений (усі файли стерті) під час завантаження системи, хоча це не є обов’язковим.

/var/tmp

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

/run

Цей каталог містить дані змінних часу виконання, які використовуються запущеними процесами, наприклад файли ідентифікаторів процесу (.pid). Програми, яким потрібно більше одного файлу під час виконання, можуть створювати тут підкаталоги. Це розташування повинно бути очищено під час завантаження системи. Колись задачі цього каталогу виконував /var/run, а в деяких системах /var/run може бути символьним посиланням на /run.

Зауважте, що ніщо не заважає програмі створювати тимчасові файли в інших місцях системи, але рекомендовано дотримуватися умов, встановлених FHS.

Дозволи на тимчасові файли

Наявність загальносистемних тимчасових каталогів у багатокористувацькій системі створює певні проблеми щодо дозволів доступу. Спочатку можна подумати, що такі каталоги будуть “доступними для запису всім”, тобто будь-який користувач міг би записувати або видаляти в них дані. Але якби це було так, як ми могли б запобігти стиранню або зміні файлів, створених іншим користувачем?

Рішення — це спеціальний дозвіл під назвою sticky-біт, який застосовується як до каталогів, так і до файлів. Однак з міркувань безпеки ядро Linux ігнорує sticky-біт, коли він застосовується до файлів. Коли цей спеціальний біт встановлений для каталогу, він не дозволяє користувачам видаляти або перейменовувати файл у цьому каталозі, якщо вони не є власниками файлу.

Каталоги з встановленим sticky-біт показують t, що замінює x у дозволі для інших у виведенні команди ls -l. Наприклад, давайте перевіримо дозволи для каталогів /tmp і /var/tmp:

$ ls -ldh /tmp/ /var/tmp/
drwxrwxrwt 25 root root 4,0K Jun  7 18:52 /tmp/
drwxrwxrwt 16 root root 4,0K Jun  7 09:15 /var/tmp/

Як ви можете бачити, якщо t замінює x у дозволі для інших, обидва каталоги мають встановлений sticky-біт.

Щоб встановити sticky-біт у каталозі за допомогою chmod у числовому режимі, використовуйте чотиризначне позначення та 1 як першу цифру. Наприклад:

$ chmod 1755 temp

встановить sticky-біт для каталогу з назвою temp, а дозволи — rwxr-xr-t.

При використанні символьного режиму використовуйте параметр t. Отже, +t, щоб встановити sticky-біт, і -t, щоб його вимкнути. Таким чином:

$ chmod +t temp

Поняття про посилання

Ми вже говорили, що в Linux все розглядається як файл. Але існує спеціальний тип файлу, який називається посилання (link), і є два типи посилань у системі Linux:

Символьні посилання

також називаються м’які посилання (soft links), вони вказують на шлях до іншого файлу. Якщо ви видалите файл, на який вказує посилання (цей файл називається target), воно все одно буде існувати, але воно “перестане працювати”, оскільки тепер вказує на “об’єкт, якого не існує”.

Жорсткі посилання

Подумайте про жорстке посилання як другу назву для вихідного файлу. Вони не є дублікатами, а натомість являються додатковим записом у файловій системі, що вказує на те саме місце (inode) на диску.

Tip

Inode — це структура даних, яка зберігає атрибути для об’єкта (наприклад, файлу чи каталогу) у файловій системі. Серед цих атрибутів є ім’я файлу, дозволи, право власності та на яких блоках диска зберігаються дані для об’єкту. Думайте про це як про запис в індексі, звідси й назва, яка походить від “індексного вузла”.

Робота з жорсткими посиланнями

Створення жорстких посилань

Команда для створення жорсткого посилання в Linux цє ln. Основний синтаксис:

$ ln TARGET LINK_NAME

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

$ ln target.txt /home/carol/Documents/hardlink

створить файл під назвою hardlink у каталозі /home/carol/Documents/, пов’язаний з файлом target.txt у поточному каталозі.

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

Керування жорсткими посиланнями

Жорсткі посилання — це записи у файловій системі, які мають різні імена, але вказують на ті самі дані на диску. Усі такі імена рівні і можуть використовуватися для посилання на файл. Якщо змінити вміст одного з імен, вміст усіх інших імен, які вказують на цей файл, зміниться, оскільки всі ці імена вказують на ті самі дані. Якщо ви видалите одне з імен, інші імена все одно працюватимуть.

Це відбувається тому, що коли ви “видаляєте” файл, дані фактично не стираються з диска. Система просто видаляє запис у таблиці файлової системи, що вказує на inode, що відповідає даним на диску. Але якщо у вас є другий запис, який вказує на той самий inode, ви все одно можете дістатися до даних. Подумайте про це як про дві дороги, що сходяться в одній точці. Навіть якщо ви заблокуєте або зміните одну з доріг, ви все одно зможете дістатися пункту призначення, використовуючи іншу.

Ви можете перевірити це за допомогою параметра -i команди ls. Розглянемо наступний вміст каталогу:

$ ls -li
total 224
3806696 -r--r--r-- 2 carol carol 111702 Jun  7 10:13 hardlink
3806696 -r--r--r-- 2 carol carol 111702 Jun  7 10:13 target.txt

Номер перед дозволами є номером inode. Бачите, що файл hardlink і файл target.txt мають однаковий номер (3806696)? Це тому, що одне є жорстким посиланням на інше.

Але який із них оригінал, а який посилання? Ви не можете точно сказати, оскільки для всіх практичних цілей вони однакові.

Зауважте, що кожне жорстке посилання, яке вказує на файл, збільшує кількість посилань на файл. Це число стоїть відразу після дозволів при виведенні даних за допомогою команди ls -l. За замовчуванням кожен файл має кількість посилань 1 (каталоги мають кількість 2), і кожне жорстке посилання на нього збільшує кількість на одиницю. Отже, це є причиною кількості посилань 2 у файлах у списку вище.

На відміну від символьних посилань, ви можете створювати жорсткі посилання лише на файли, причому як посилання, так і ціль повинні знаходитися в одній файловій системі.

Переміщення та видалення жорстких посилань

Оскільки жорсткі посилання розглядаються як звичайні файли, їх можна видалити за допомогою rm і перейменувати або перемістити по файловій системі за допомогою mv. А оскільки жорстке посилання вказує на той самий inode цільового файлу, його можна вільно переміщувати, не турбуючись про те, що можна “порушити” посилання.

Символьні посилання

Створення символьних посилань

Команда, яка використовується для створення символьного посилання, також ln, але з доданим параметром -s. Приблизно так:

$ ln -s target.txt /home/carol/Documents/softlink

Це створить файл під назвою softlink у каталозі /home/carol/Documents/, вказуючи на файл target.txt у поточному каталозі.

Як і у випадку жорстких посилань, ви можете пропустити ім’я посилання, щоб створити посилання з такою ж назвою, що й цільовий файл у поточному каталозі.

Керування символьними посиланнями

Символьні посилання вказують на інший шлях у файловій системі. Ви можете створювати символьні посилання на файли і каталоги, навіть у різних розділах. Досить легко помітити символьне посилання при виведенні даних командою ls:

$ ls -lh
total 112K
-rw-r--r-- 1 carol carol 110K Jun  7 10:13 target.txt
lrwxrwxrwx 1 carol carol   12 Jun  7 10:14 softlink -> target.txt

У наведеному вище прикладі першим символом у дозволах для файлу softlink є l, що вказує на символьне посилання. Крім того, відразу після імені файлу ми бачимо назву цільового файлу, на яку вказує посилання, файл target.txt.

Зауважте, що в переліках файлів і каталогів самі символьні посилання завжди показують дозволи rwx для користувача, групи та інших, але на практиці дозволи доступу для них такі ж, як і для цільового файлу.

Переміщення та видалення символьних посилань

Як і жорсткі посилання, символьні посилання можна видалити за допомогою rm і перемістити або перейменувати за допомогою mv. Однак при їх створенні слід бути особливо обережними, щоб уникнути “порушення” посилання, якщо воно переміщено з початкового розташування.

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

Це легше зрозуміти на прикладі. Наприклад, у нас є файл з ім’ям original.txt у поточному каталозі, і ми хочемо створити символьне посилання на нього під назвою softlink. Ми могли б використати:

$ ln -s original.txt softlink

І, мабуть, все було б добре. Давайте перевіримо за допомогою ls:

$ ls -lh
total 112K
-r--r--r-- 1 carol carol 110K Jun  7 10:13 original.txt
lrwxrwxrwx 1 carol carol   12 Jun  7 19:23 softlink -> original.txt

Подивіться, як створюється посилання: softlink вказує на (→) original.txt. Однак давайте подивимося, що станеться, якщо ми перемістимо посилання до батьківського каталогу і спробуємо відобразити його вміст за допомогою команди less:

$ mv softlink ../
$ less ../softlink
../softlink: No such file or directory

Оскільки шлях до original.txt не вказано, система припускає, що він знаходиться в тому ж каталозі, що й посилання. Коли це більше не відповідає дійсності, посилання перестає працювати.

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

$ ln -s /home/carol/Documents/original.txt softlink

В такому випадку, куди б ви не перемістили посилання, воно все одно працюватиме, оскільки вказує на абсолютне розташування цільового файлу. Перевірте за допомогою ls:

$ ls -lh
total 112K
lrwxrwxrwx 1 carol carol   40 Jun  7 19:34 softlink -> /home/carol/Documents/original.txt

Вправи до посібника

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

  2. Який тимчасовий каталог повинен бути очищений під час процесу завантаження?

  3. Який параметр для chmod у символьному режимі, щоб увімкнути sticky-біт для каталогу?

  4. Уявіть собі, що в каталозі /home/carol/Documents є файл з назвою document.txt. Яка команда для створення символьного посилання на нього з назвою text.txt у поточному каталозі?

  5. Поясніть різницю між жорстким посиланням на файл і копією цього файлу.

Дослідницькі вправи

  1. Уявіть, що всередині каталогу ви створюєте файл під назвою recipes.txt. Усередині цього каталогу ви також створите жорстке посилання на цей файл, яке називається receitas.txt, і символьне (або м’яке) посилання на нього, яке називається rezepte.txt.

    $ touch recipes.txt
    $ ln recipes.txt receitas.txt
    $ ln -s receitas.txt rezepte.txt

    Вміст каталогу має виглядати так:

    $ ls -lhi
    total 160K
    5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 receitas.txt
    5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 recipes.txt
    5388837 lrwxrwxrwx 1 carol carol  12 jun 24 10:12 rezepte.txt -> receitas.txt

    Пам’ятайте, що жорстке посилання receitas.txt вказує на той самий inode, що й recipes.txt. Що станеться з програмним посиланням rezepte.txt, якщо назву receitas.txt буде видалено? Чому?

  2. Уявіть, що у вас є флеш-накопичувач, підключений до системи та змонтований на /media/youruser/FlashA. Ви хочете створити у своєму домашньому каталозі посилання під назвою schematics.pdf, яке вказує на файл esquema.pdf у кореневому каталозі флеш-накопичувача. Отже, ви вводите команду:

    $ ln /media/youruser/FlashA/esquema.pdf ~/schematics.pdf

    Що станеться? Чому?

  3. Розглянемо наступне виведення даних командою ls -lah:

    $ ls -lah
    total 3,1M
    drwxr-xr-x 2 carol carol 4,0K jun 17 17:27 .
    drwxr-xr-x 5 carol carol 4,0K jun 17 17:29 ..
    -rw-rw-r-- 1 carol carol 2,8M jun 17 15:45 compressed.zip
    -rw-r--r-- 4 carol carol  77K jun 17 17:25 document.txt
    -rw-rw-r-- 1 carol carol 216K jun 17 17:25 image.png
    -rw-r--r-- 4 carol carol  77K jun 17 17:25 text.txt
    • Скільки посилань вказують на файл document.txt?

    • Це символьні чи жорсткі посилання?

    • Який параметр слід передати в ls, щоб побачити, який inode кожного файлу?

  4. Уявіть, що у вашому каталозі ~/Documents є файл з назвою clients.txt, що містить деякі імена клієнтів, і каталог з назвою somedir. Усередині нього є інший файл також під назвою clients.txt з різними іменами. Щоб відтворити цю структуру, скористайтеся наведеними нижче командами.

    $ cd ~/Documents
    $ echo "John, Michael, Bob" > clients.txt
    $ mkdir somedir
    $ echo "Bill, Luke, Karl" > somedir/clients.txt

    Потім ви створюєте посилання всередині somedir з назвою partners.txt, що вказує на цей файл, за допомогою команд:

    $ cd somedir/
    $ ln -s clients.txt partners.txt

    Отже, структура каталогу така:

    Documents
    |-- clients.txt
    `-- somedir
        |-- clients.txt
        `-- partners.txt -> clients.txt

    Тепер ви переміщуєте partners.txt з somedir до ~/Documents і виводите його вміст.

    $ cd ~/Documents/
    $ mv somedir/partners.txt .
    $ less partners.txt

    Чи працюватиме посилання? Якщо так, то вміст якого файлу буде виведено? Чому?

  5. Розглянемо такі файли:

    -rw-r--r-- 1 carol carol 19 Jun 24 11:12 clients.txt
    lrwxrwxrwx 1 carol carol 11 Jun 24 11:13 partners.txt -> clients.txt

    Які права доступу для partners.txt? Чому?

Підсумки

У цьому уроці ви дізналися про те:

  • Де зберігаються тимчасові файли.

  • Який спеціальний дозвіл застосовується до них.

  • Що таке посилання.

  • Різниця між символьними та жорсткими посиланнями.

  • Як створити посилання.

  • Як їх перемістити, перейменувати або видалити.

На цьому уроці розглядались наступні команди:

  • ln

  • Параметр -i для ls

Відповіді до вправ посібника

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

    Оскільки ми не піклуємось про файл після завершення роботи програми, правильний каталог /tmp.

  2. Який тимчасовий каталог повинен бути очищений під час процесу завантаження?

    Каталог /run або, у деяких системах, /var/run.

  3. Який параметр для chmod у символьному режимі, щоб увімкнути sticky-біт для каталогу?

    Символом для sticky-біту в символьному режимі є t. Оскільки ми хочемо ввімкнути (додати) цей дозвіл до каталогу, параметр має бути +t.

  4. Уявіть собі, що в каталозі /home/carol/Documents є файл з назвою document.txt. Яка команда для створення символьного посилання на нього з назвою text.txt у поточному каталозі?

    ln -s – це команда для створення символьного посилання. Оскільки ви повинні вказати повний шлях до файлу, на який ви посилаєтеся, команда виглядає так:

    $ ln -s /home/carol/Documents/document.txt text.txt
  5. Поясніть різницю між жорстким посиланням на файл і копією цього файлу.

    Жорстке посилання — це просто інша назва файлу. Незважаючи на те, що він виглядає як дублікат оригінального файлу, для всіх цілей посилання та оригінал однакові, оскільки вони вказують на ті самі дані на диску. Зміни, внесені до вмісту посилання, відіб’єються на оригіналі, і навпаки. Копія - це повністю самостійна сутність, що займає інше місце на диску. Зміни в копії не відіб’ються на оригіналі, і навпаки.

Відповіді до дослідницьких вправ

  1. Уявіть, що всередині каталогу ви створюєте файл під назвою recipes.txt. Усередині цього каталогу ви також створите жорстке посилання на цей файл, яке називається receitas.txt, і символьне (або м’яке) посилання на нього, яке називається rezepte.txt.

    $ touch recipes.txt
    $ ln recipes.txt receitas.txt
    $ ln -s receitas.txt rezepte.txt

    Вміст каталогу має виглядати так:

    $ ls -lhi
    total 160K
    5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 receitas.txt
    5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 recipes.txt
    5388837 lrwxrwxrwx 1 carol carol  12 jun 24 10:12 rezepte.txt -> receitas.txt

    Пам’ятайте, що жорстке посилання receitas.txt вказує на той самий inode, що й recipes.txt. Що станеться з програмним посиланням rezepte.txt, якщо назву receitas.txt буде видалено? Чому?

    Програмне посилання rezepte.txt перестане працювати. Це пов’язано з тим, що м’які посилання вказують на імена, а не на inodes, і ім’я receitas.txt більше не існує, навіть якщо дані все ще знаходяться на диску під ім’ям recipes.txt.

  2. Уявіть, що у вас є флеш-накопичувач, підключений до системи та змонтований на /media/youruser/FlashA. Ви хочете створити у своєму домашньому каталозі посилання під назвою schematics.pdf, яке вказує на файл esquema.pdf у кореневому каталозі флеш-накопичувача. Отже, ви вводите команду:

    $ ln /media/youruser/FlashA/esquema.pdf ~/schematics.pdf

    Що станеться? Чому?

    Команда не буде успішною. Повідомлення про помилку буде Invalid cross-device link (Недійсний міжпристроєвий зв’язок), і це пояснює причину: чому жорсткі посилання не можуть вказувати на цільовий файл на іншому розділі або пристрої. Єдиний спосіб створити таке посилання - це використовувати символьні або м’які посилання, додавши параметр -s до ln.

  3. Розглянемо наступне виведення даних командою ls -lah:

    $ ls -lah
    total 3,1M
    drwxr-xr-x 2 carol carol 4,0K jun 17 17:27 .
    drwxr-xr-x 5 carol carol 4,0K jun 17 17:29 ..
    -rw-rw-r-- 1 carol carol 2,8M jun 17 15:45 compressed.zip
    -rw-r--r-- 4 carol carol  77K jun 17 17:25 document.txt
    -rw-rw-r-- 1 carol carol 216K jun 17 17:25 image.png
    -rw-r--r-- 4 carol carol  77K jun 17 17:25 text.txt
    • Скільки посилань вказують на файл document.txt?

      Кожен файл починається з кількості посилань 1. Оскільки кількість посилань для файлу дорівнює 4, є три посилання, які вказують на цей файл.

    • Це символьні чи жорсткі посилання?

      Це жорсткі посилання, оскільки м’які посилання не збільшують кількість посилань у файлі.

    • Який параметр слід передати в ls, щоб побачити, який inode кожного файлу?

      Параметр -i. Inode буде показано як перший стовпець у виведенні команди ls, як показано нижче:

      $ ls -lahi
      total 3,1M
      5388773 drwxr-xr-x 2 rigues rigues 4,0K jun 17 17:27 .
      5245554 drwxr-xr-x 5 rigues rigues 4,0K jun 17 17:29 ..
      5388840 -rw-rw-r-- 1 rigues rigues 2,8M jun 17 15:45 compressed.zip
      5388833 -rw-r--r-- 4 rigues rigues  77K jun 17 17:25 document.txt
      5388837 -rw-rw-r-- 1 rigues rigues 216K jun 17 17:25 image.png
      5388833 -rw-r--r-- 4 rigues rigues  77K jun 17 17:25 text.txt
  4. Уявіть, що у вашому каталозі ~/Documents є файл з назвою clients.txt, що містить деякі імена клієнтів, і каталог з назвою somedir. Усередині нього є інший файл також під назвою clients.txt з різними іменами. Щоб відтворити цю структуру, скористайтеся наведеними нижче командами.

    $ cd ~/Documents
    $ echo "John, Michael, Bob" > clients.txt
    $ mkdir somedir
    $ echo "Bill, Luke, Karl" > somedir/clients.txt

    Потім ви створюєте посилання всередині somedir з назвою partners.txt, що вказує на цей файл, за допомогою команд:

    $ cd somedir/
    $ ln -s clients.txt partners.txt

    Отже, структура каталогу така:

    Documents
    |-- clients.txt
    `-- somedir
        |-- clients.txt
        `-- partners.txt -> clients.txt

    Тепер ви переміщуєте partners.txt з somedir до ~/Documents і виводите його вміст.

    $ cd ~/Documents/
    $ mv somedir/partners.txt .
    $ less partners.txt

    Чи працюватиме посилання? Якщо так, то вміст якого файлу буде виведено? Чому?

    Це “складно”, але посилання буде працювати, і виведений файл буде файлом у ~/Documents, що містить імена John, Michael, Bob.

    Пам’ятайте, що оскільки ви не вказали повний шлях до цільового файлу clients.txt під час створення символьного посилання partners.txt, цільове розташування файлу буде інтерпретовано як відносне розташування посилання, яке в даному випадку є поточним каталогом.

    Коли посилання було переміщено з ~/Documents/somedir до ~/Documents, воно повинно припинити роботу, оскільки цільовий файл більше не перебуває в тому самому каталозі, що й посилання. Проте трапилось так, що у ~/Documents є файл з іменем clients.txt, тож посилання вказуватиме на цей файл, а не на оригінальний цільовий файл всередині ~/somedir.

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

  5. Розглянемо такі файли:

    -rw-r--r-- 1 rigues rigues 19 Jun 24 11:12 clients.txt
    lrwxrwxrwx 1 rigues rigues 11 Jun 24 11:13 partners.txt -> clients.txt

    Які права доступу для partners.txt? Чому?

    Дозволи доступу для partners.txt є rw-r—​r--, оскільки посилання завжди успадковують ті самі права доступу, що має цільовий файл.

Linux Professional Institute Inc. Всі права захищені. Відвідайте веб-сайт навчальних матеріалів: https://learning.lpi.org
Ця робота ліцензована відповідно до міжнародної ліцензії Creative Commons Attribution-некомерційна-NoDerivatives 4.0.

Linux Professional Institute Inc. Всі права захищені. Відвідайте веб-сайт навчальних матеріалів: https://learning.lpi.org
Ця робота ліцензована відповідно до міжнародної ліцензії Creative Commons Attribution-некомерційна-NoDerivatives 4.0.

LPI є некомерційною організацією.

© 2025 Linux Professional Institute (LPI) - це глобальний стандарт сертифікації та організація підтримки кар'єри для професіоналів з відкритим вихідним кодом. Маючи понад 250 000 власників сертифікатів, це перший і найбільший в світі незалежний від постачальників орган з сертифікації Linux і з відкритим вихідним кодом. LPI має сертифікованих фахівців в більш ніж 180 країнах, здає іспити на декількох мовах і має сотні партнерів по навчанню.

Наша мета-надати економічні та творчі можливості для всіх, зробивши сертифікацію знань і навичок з відкритим вихідним кодом загальнодоступною.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Зв'яжіться з нами
  • Політика конфіденційності та Cookie-файлів

Помітили помилку або хочете допомогти поліпшити цю сторінку? Просимо дайте нам знати.

© 1999–2025 Linux Professional Institute Inc. Всі права захищені.