Linux Professional Institute Learning Logo.
Перехід до основного вмісту
  • Головна
    • Усі ресурси
    • LPI Навчальні матеріали
    • Стати дописувачем
    • Видавничі партнери
    • Cтати видавничим партнером
    • Про нас
    • FAQ
    • Дописувачі
    • Дорожня карта
    • Контакти
  • LPI.org
2.3 Урок 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. Тема 2: Як знайти свій шлях у системі Linux
  2. 2.3 Використання папок та перегляд списку файлів
  3. 2.3 Урок 1

2.3 Урок 1

Вступ

Сертифікат:

Linux Essentials

Версія:

1.6

Розділ:

2 Знайдіть свій шлях у системі Linux

Тема:

2.3 Використання каталогів і переліку файлів

Урок:

1 з 2

Файли та каталоги

Файлова система Linux подібна до файлових систем інших операційних систем тим, що містить файли та каталоги. Файли містять такі дані, як зрозумілий людині текст, виконувані програми або двійкові дані, які використовуються комп’ютером. Каталоги використовуються для впорядкування файлової системи. Каталоги можуть містити файли та інші каталоги.

$ tree

Documents
├── Mission-Statement.txt
└── Reports
    └── report2018.txt

1 directory, 2 files

У цьому прикладі Documents — це каталог, який містить один файл (Mission-Statement.txt) та один підкаталог (Reports). У свою чергу, каталог Reports містить один файл під назвою report2018.txt. Говорять, що каталог Documents є батьківським для каталогу Reports.

Tip

Якщо команда tree недоступна у вашій системі, встановіть її за допомогою менеджера пакунків вашого дистрибутива Linux. Зверніться до уроку з управління пакунками, щоб дізнатися, як це зробити.

Імена файлів та каталогів

Імена файлів і каталогів у Linux можуть містити літери нижнього та верхнього регістру, цифри, пробіли та спеціальні символи. Однак, оскільки багато спеціальних символів мають особливе значення в оболонці Linux, правильним буде підхід не використовувати пробіли чи спеціальні символи під час іменування файлів або каталогів. Наприклад, для коректного використання пробілів потрібно правильно ввести символ escape \:

$ cd Mission\ Statements

Розглянемо ім’я файлу report2018.txt. Імена файлів можуть містити суфікс, який йде після крапки (.). На відміну від Windows, цей суфікс не має особливого значення в Linux; він призначений тільки для сприйняття людиною. У нашому прикладі .txt вказує нам, що це текстовий файл, хоча технічно він може містити будь-які дані.

Навігація по файловій системі

Отримання поточного місцезнаходження

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

user@hostname ~/Documents/Reports $

Зауважте, що така інформація, як user і hostname, буде розглянута в наступних розділах. З командного рядку ми тепер знаємо, що наше поточне розташування знаходиться в каталозі Reports. Аналогічно, команда pwd надрукує робочий каталог:

user@hostname ~/Documents/Reports $ pwd
/home/user/Documents/Reports

Зв’язок між каталогами представлено косою рискою (/). Ми знаємо, що Reports є підкаталогом Documents, який є підкаталогом user, який розташований у каталозі, який називається home. Виглядає так, що нібито home не має батьківського каталогу, але це зовсім не так. Батьківський елемент каталогу home називається кореневим каталогом (root) і представлений першою косою рискою (/). Ми обговоримо кореневий каталог у наступному розділі.

Зверніть увагу, що виведення команди pwd дещо відрізняється від шляху, зазначеного в командному рядку. Замість /home/user командний рядок містить тильду (~). Тильда — це спеціальний символ, який представляє домашній каталог користувача. Більш детально це буде розглянуто на наступному уроці.

Перегляд вмісту каталогу

Вміст поточного каталогу відображається за допомогою команди ls:

user@hostname ~/Documents/Reports $ ls
report2018.txt

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

Зміна поточного каталогу

Навігація в Linux в основному здійснюється за допомогою команди cd. Вона змінює каталог. Використовуючи попередню команду pwd, ми знаємо, що наш поточний каталог /home/user/Documents/Reports. Ми можемо змінити наш поточний каталог, ввівши новий шлях:

user@hostname ~ $ cd /home/user/Documents
user@hostname ~/Documents $ pwd
/home/user/Documents
user@hostname ~/Documents $ ls
Mission-Statement.txt Reports

З нашого нового розташування ми можемо “бачити” Mission-Statement.txt та наш підкаталог Reports, але не вміст нашого підкаталога. Ми можемо повернутися до "Reports" таким чином:

user@hostname ~/Documents $ cd Reports
user@hostname ~/Documents/Reports $ pwd
/home/user/Documents/Reports
user@hostname ~/Documents/Reports $ ls
report2018.txt

Тепер ми повернулися туди, де починали.

Абсолютний і відносний шляхи

Команда pwd завжди виводить абсолютний шлях. Це означає, що шлях містить кожен крок шляху, від верхньої частини файлової системи (/) до нижньої частини (Reports). Абсолютні шляхи завжди починаються з /.

/
└── home
    └── user
        └── Documents
            └── Reports

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

Другий приклад (cd Reports) було набагато легше ввести. Це приклад відносного шляху. Відносні шляхи коротші, але мають сенс лише відносно вашого поточного місцезнаходження. Розглянемо аналогію: я відвідую вас у вашому домі. Ви говорите, що ваш друг живе по сусідству. Я розумію де він живе, тому що його помешкання розташоване відносно мого поточного місцезнаходження. Але якщо ви скажете мені це телефоном, я не зможу знайти будинок вашого друга. Вам потрібно буде дати мені повну адресу.

Особливі відносні шляхи

Оболонка Linux дає нам способи скоротити наш шлях під час навігації. Щоб розкрити перші спеціальні шляхи, ми вводимо команду ls з прапорцем -a. Цей прапорець змінює команду ls таким чином, щоб виводився перелік всіх файлів і каталогів включно з прихованими файлами та каталогами:

user@hostname ~/Documents/Reports $ ls -a
.
..
report2018.txt
Note

Ви можете звернутися до сторінки man для ls, щоб зрозуміти, для чого опція -a.

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

.

Вказує на поточне розташування (у цьому випадку Reports).

..

Вказує батьківський каталог (у цьому випадку Documents).

Зазвичай не потрібно використовувати спеціальний відносний шлях для поточного розташування. Легше і зрозуміліше ввести report2018.txt, ніж ./report2018.txt. Але . має застосування, про яке ви дізнаєтеся в наступних розділах. Наразі ми зосередимося на відносному шляху для батьківського каталогу:

user@hostname ~/Documents/Reports $ cd ..
user@hostname ~/Documents $ pwd
/home/user/Documents

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

user@hostname ~/Documents $ cd ../..
$ pwd
/home

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

  1. Для кожного з наведених нижче шляхів визначте, є він абсолютним чи відносним:

    /home/user/Downloads

    ../Reports

    /var

    docs

    /

  2. Зверніть увагу на таку структуру файлів. Примітка: каталоги закінчуються косою рискою (/), коли "дерево" викликається з опцією "-F". Вам знадобляться підвищені привілеї, щоб запустити команду tree у кореневому каталозі (/). Нижче наведено приклад виведення, який не вказує на повну структуру каталогів. Використовуйте його, щоб відповісти на наступні запитання:

    $ sudo tree -F /
    
    /
    ├── etc/
    │   ├── network/
    │   │   └── interfaces
    │   ├── systemd/
    │   │   ├── resolved.conf
    │   │   ├── system/
    │   │   ├── system.conf
    │   │   ├── user/
    │   │   └── user.conf
    │   └── udev/
    │       ├── rules.d/
    │       └── udev.conf
    └── home/
        ├── lost+found/
        └── user/
            └── Documents/
    
    12 directories, 5 files

    Використовуйте цю структуру, щоб відповісти на наступні запитання.

    Користувач вводить такі команди:

    $ cd /etc/udev
    $ ls -a

    Яким буде результат команди ls -a?

  3. Введіть найкоротшу команду для кожного з наступних варіантів:

    • Ваше поточне місцезнаходження — кореневий каталог (/). Введіть команду, щоб перейти до lost+found у каталозі home (це приклад):

      $ cd home/lost+found
    • Ваше поточне місцезнаходження — кореневий каталог (/). Введіть команду, щоб перейти до каталогу з назвою /etc/network/.

    • Ваше поточне місцезнаходження /home/user/Documents/. Перейдіть до каталогу з назвою /etc/.

    • Ваше поточне місцезнаходження /etc/systemd/system/. Перейдіть до каталогу з назвою /home/user/.

  4. Розглянемо такі команди:

    $ pwd
    /etc/udev/rules.d
    $ cd ../../systemd/user
    $ cd ..
    $ pwd

    Який результат останньої команди pwd?

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

  1. Припустимо, що користувач ввів наступні команди:

    $ mkdir "this is a test"
    $ ls
    this is a test

    Яка команда cd дозволить вам увійти до цього каталогу?

  2. Спробуйте ще раз, але після введення cd this натисніть клавішу TAB. Що тепер відображається в командному рядку?

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

  3. Спробуйте створити каталог, ім’я якого містить символ \. Відобразіть назву каталогу за допомогою ls і видаліть каталог.

Підсумки

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

  • Основи файлової системи Linux.

  • Різницю між батьківським каталогом та підкаталогом.

  • Різницю між абсолютним шляхом до файлу та відносним шляхом до файлу.

  • Спеціальні відносні шляхи . і ...

  • Навігацію по файловій системі за допомогою команди cd.

  • Знаходження свого поточного місцезнаходження за допомогою команди pwd.

  • Виведення переліку всіх файлів та каталогів за допомогою ls -a.

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

cd

Зміна поточного каталогу.

pwd

Виведення шляху до поточного робочого каталогу.

ls

Виведення вмісту каталогу та відображення властивостей файлів.

mkdir

Створення нового каталогу.

tree

Відображення ієрархічного списку дерева каталогів.

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

  1. Для кожного з наведених нижче шляхів визначте, є він абсолютним чи відносним:

    /home/user/Downloads

    абсолютний

    ../Reports

    відносний

    /var

    абсолютний

    docs

    відносний

    /

    абсолютний

  2. Зверніть увагу на таку структуру файлів. Примітка: каталоги закінчуються косою рискою (/), коли "дерево" викликається з опцією "-F". Вам знадобляться підвищені привілеї, щоб запустити команду tree у кореневому каталозі (/). Нижче наведено приклад виведення, який не вказує на повну структуру каталогів. Використовуйте його, щоб відповісти на наступні запитання:

    $ sudo tree -F /
    
    /
    ├── etc/
    │   ├── network/
    │   │   └── interfaces
    │   ├── systemd/
    │   │   ├── resolved.conf
    │   │   ├── system/
    │   │   ├── system.conf
    │   │   ├── user/
    │   │   └── user.conf
    │   └── udev/
    │       ├── rules.d/
    │       └── udev.conf
    └── home/
        ├── lost+found/
        └── user/
            └── Documents/
    
    12 directories, 4 files

    Користувач вводить такі команди:

    $ cd /etc/udev
    $ ls -a

    Яким буде результат команди ls -a?

    . .. rules.d udev.conf
  3. Введіть найкоротшу команду для кожного з наступних варіантів:

    • Ваше поточне місцезнаходження — кореневий каталог (/). Введіть команду, щоб перейти до lost+found у каталозі home (це приклад):

      $ cd home/lost+found
    • Ваше поточне місцезнаходження — кореневий каталог (/). Введіть команду, щоб перейти до каталогу з назвою /etc/network/:

      $ cd etc/network
    • Ваше поточне місцезнаходження /home/user/Documents/. Перейдіть до каталогу з назвою /etc/:

      $ cd /etc
    • Ваше поточне місцезнаходження /etc/systemd/system/. Перейдіть до каталогу з назвою /home/user/:

      $ cd /home/user
  4. Розглянемо такі команди:

    $ pwd
    /etc/udev/rules.d
    $ cd ../../systemd/user
    $ cd ..
    $ pwd

    Який результат останньої команди pwd?

    /etc/systemd

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

  1. Припустимо, що користувач ввів наступні команди:

    $ mkdir "this is a test"
    $ ls
    this is a test

    Яка команда cd дозволить вам увійти до цього каталогу?

    $ cd this\ is\ a\ test
  2. Спробуйте ще раз, але після введення cd this натисніть клавішу TAB. Що тепер відображається в командному рядку?

    $ cd this\ is\ a\ test

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

  3. Спробуйте створити каталог, ім’я якого містить символ \. Відобразіть назву каталогу за допомогою ls і видаліть каталог.

    Ви можете екранувати зворотну косу риску за допомогою іншої зворотної косої риски (\\) або використати одинарні чи подвійні лапки для всього імені каталогу:

    $ mkdir my\\dir
    $ ls
    'my\dir'
    $ rmdir 'my\dir'

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

Наступний Урок

2.3 Використання папок та перегляд списку файлів (2.3 Урок 2)

Прочитайте наступний урок

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

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

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

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

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

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

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