Перейти до вмісту

Модуль 0.4: Файли та директорії

Hands-On Lab Available
Ubuntu beginner 20 хв
Launch Lab ↗

Opens in Killercoda in a new tab

Складність: [ШВИДКО] — Абсолютний новачок

Час на проходження: 25-30 хвилин

Передумови: Модуль 0.2: Що таке термінал? — Ви повинні вміти відкривати термінал та вводити команди.


Що ви зможете зробити

Розділ «Що ви зможете зробити»

Після цього модуля ви зможете:

  • Навігувати абсолютними та відносними шляхами та пояснювати різницю між ними
  • Читати файли за допомогою cat, head та tail і обирати правильний інструмент для конкретного завдання
  • Інтерпретувати права доступу до файлів із виводу ls -l (хто може читати, писати, виконувати)
  • Знаходити приховані файли конфігурації (dotfiles) та пояснювати, навіщо вони потрібні

Все на вашому комп’ютері — кожне фото, кожна пісня, кожен застосунок, кожне налаштування — зберігається як файл. І ці файли організовані в директорії (які також називають папками).

Коли ви використовуєте GUI (графічний інтерфейс), ви бачите кольорові іконки папок і файлів. Ви двічі клацаєте, щоб відкрити їх. Але «за лаштунками» ваш комп’ютер сприймає файли та директорії як дерево текстових шляхів, наприклад /home/yourname/Documents/report.txt.

У Kubernetes та хмарній інженерії ви постійно працюватимете з файлами: файлами конфігурації, скриптами, логами, маніфестами. Якщо ви не зможете навігувати файлами та директоріями з термінала, ви загубитеся. Цей модуль виправить це.


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

Уявіть його як аркуш паперу з якимось написом. Аркуш має:

  • Назву (щоб ви могли його знайти): grocery-list.txt
  • Вміст (власне інформацію): «яйця, молоко, хліб»
  • Розташування (де він зберігається): на вашому столі, у шухляді, у шафі для документів

Файли можуть містити будь-що:

  • Текст (як-от нотатка або конфігурація)
  • Код (інструкції для комп’ютера)
  • Зображення (ваші фото)
  • Музику, відео, бази даних та багато іншого

В нашій аналогії з ресторанною кухнею: файл схожий на картку з рецептом. Він має назву («Томатний суп»), вміст (власне рецепт) і десь зберігається (коробка з рецептами, полиця, шухляда).

Все є файлом (Справді!)

Розділ «Все є файлом (Справді!)»

Ось дещо вражаюче про Linux (операційну систему, на якій працює Kubernetes):

Майже все представлено у вигляді файлу.

  • Ваші власні файли? Файли.
  • Ваша клавіатура? Система бачить її як файл (/dev/input/event0).
  • Ваш жорсткий диск? Теж файл (/dev/sda).
  • Запущені програми? Вони мають записи в /proc/, які виглядають як файли.

Вам не потрібно турбуватися про файли пристроїв прямо зараз. Просто знайте, що концепція «файлів» у Linux набагато глибша, ніж просто документи та фото. Ця філософія дизайну є однією з причин потужності Linux — все можна прочитати, записати та маніпулювати цим за допомогою одного й того ж набору інструментів.


Що таке директорія?

Розділ «Що таке директорія?»

Директорія — це контейнер для файлів (та інших директорій). Це те саме, що й папка — буквально та сама концепція, просто інша назва.

  • Користувачі GUI кажуть «папка» (бо іконка виглядає як паперова папка).
  • Користувачі термінала кажуть «директорія» (технічний термін).

На кухні: директорія схожа на шухляду або полицю. Ваші картки з рецептами (файли) потрапляють у шухляди (директорії). Шухляди можуть містити інші шухляди (піддиректорії).


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

/ <-- "Корінь" (root) — сама вершина, "перший поверх"
├── home/ <-- Тут живуть облікові записи користувачів
│ └── yourname/ <-- ВАША домашня директорія
│ ├── Documents/
│ ├── Downloads/
│ ├── Desktop/
│ └── projects/
├── etc/ <-- Файли конфігурації системи
├── var/ <-- Змінні дані (логи, бази даних)
├── tmp/ <-- Тимчасові файли
└── usr/ <-- Програми користувача та утиліти
ШляхЩо це такеАналогія з кухнею
/Коренева директорія — сама вершина дереваСама будівля — все знаходиться всередині неї
/home/yourname/Ваша домашня директорія — ваш особистий простірВаше персональне робоче місце на кухні
~Скорочення для вашої домашньої директоріїПрізвисько для вашого робочого місця
/etc/Файли конфігурації системиПосібник з правил ресторану та стандарти рецептів
/tmp/Тимчасові файли, які можуть очищатися автоматичноСтіл для підготовки — використовується під час готування, іноді прибирається
/var/log/Лог-файли (записи про те, що сталося)Книга історії замовлень

Символ ~ (тильда) — це шлях-скорочення. Замість того, щоб друкувати /home/yourname/, ви можете просто написати ~. Ваш термінал зрозуміє, що ви маєте на увазі. Це як прізвисько — простіше використовувати, ніж повне ім’я.

Чому це важливо в K8s: Як інженер Kubernetes, ви будете постійно взаємодіяти зі специфічними файлами в цих самих директоріях. Ви будете налаштовувати доступ до кластера, редагуючи ~/.kube/config. Ви будете налагоджувати системні компоненти, читаючи маніфести в /etc/kubernetes/manifests/. А коли щось зламається, ви будете шукати підказки у /var/log/pods/ або /var/log/containers/.

macOS трохи відрізняється. Ваша домашня директорія знаходиться за адресою /Users/yourname/ замість /home/yourname/. Але ~ все одно працює як скорочення, тому вам рідко доводиться про це думати.


Навігація: де я знаходжуся?

Розділ «Навігація: де я знаходжуся?»

Коли ви відкриваєте термінал, ви «стоїте» в якійсь директорії — зазвичай у вашій домашній директорії. Термінал не показує вам візуальну карту; вам потрібно запитати.

«Де я зараз?»

Terminal window
$ pwd
/home/yourname

pwd означає Print Working Directory (вивести робочу директорію). Вона показує повний шлях до місця, де ви зараз перебуваєте.

Аналогія з кухнею: «В якій кімнаті я стою?» — pwd відповідає на це.

«Що є в цій кімнаті?»

Terminal window
$ ls
Desktop Documents Downloads Music Pictures

ls означає list (список). Вона показує файли та директорії у вашому поточному місці.

Ви можете додати параметри, щоб побачити більше деталей:

Terminal window
$ ls -l

Прапорець -l означає «long format» (довгий формат). Тепер ви побачите щось на кшталт:

drwxr-xr-x 2 yourname yourname 4096 Mar 23 10:00 Desktop
drwxr-xr-x 3 yourname yourname 4096 Mar 23 09:45 Documents
-rw-r--r-- 1 yourname yourname 220 Mar 23 08:30 notes.txt

Не панікуйте — ми розкодуємо це трохи пізніше.

«Перейти в іншу кімнату».

Terminal window
$ cd Documents
$ pwd
/home/yourname/Documents

cd означає change directory (змінити директорію). Ви кажете їй, куди йти, і вона вас туди переносить.

Деякі важливі скорочення cd:

КомандаКуди вона вас переноситьАналогія
cd ~ або просто cdВаша домашня директорія«Повернутися до мого робочого місця»
cd ..На один рівень вище (батьківська директорія)«Вийти в кімнату, що містить цю кімнату»
cd -Остання директорія, в якій ви були«Повернутися туди, де я щойно був»
cd /Коренева директорія«Вийти на перший поверх»

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

Розділ «Абсолютні та відносні шляхи»

Це важлива концепція. Є два способи описати, де знаходиться файл або директорія:

Абсолютний шлях (повна адреса)

Розділ «Абсолютний шлях (повна адреса)»

Абсолютний шлях починається від кореня (/) і дає повне розташування:

/home/yourname/Documents/report.txt

Це як повна поштова адреса: Україна, м. Київ, вул. Хрещатик, 1, 01001. Незалежно від того, де ви знаходитесь у світі, ця адреса вказує саме на одне місце.

Відносний шлях (напрямок звідси)

Розділ «Відносний шлях (напрямок звідси)»

Відносний шлях описує розташування відносно того місця, де ви зараз перебуваєте:

Documents/report.txt

Це як сказати: «Два квартали ліворуч, потім один квартал вгору». Ці вказівки працюють, лише якщо ви знаєте початкову точку.

Terminal window
$ pwd
/home/yourname
# Ці дві команди роблять одне й те саме:
$ cd /home/yourname/Documents # Абсолютний шлях
$ cd Documents # Відносний шлях (працює, бо ми в /home/yourname)

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

Розділ «Спеціальні символи шляхів»
СимволЗначенняПриклад
/Коренева директорія (на початку) або роздільник шляху/home/yourname
~Ваша домашня директорія~/Documents = /home/yourname/Documents
.Поточна директорія («тут»)./script.sh = «script.sh у цій директорії»
..Батьківська директорія («на рівень вище»)../Downloads = «вгору, а потім у Downloads»

Тепер зазирнемо всередину файлів. У вас є кілька інструментів, кожен з яких корисний у різних ситуаціях.

Зупиніться та подумайте: Вам потрібно перевірити кілька останніх рядків лог-файлу, який має 10 000 рядків. Чи використаєте ви команду, що показує весь файл, чи ту, що показує лише кінець? Майте це на увазі, коли читатимете про cat, head та tail нижче — кожна з них існує, бо вирішує свою проблему.

cat — Показати весь файл

Розділ «cat — Показати весь файл»
Terminal window
$ cat notes.txt
Це моя перша нотатка.
Я написав її в терміналі!

cat походить від «concatenate» (зчеплювати), але більшість людей використовують її для відображення вмісту файлу. Вона просто «викидає» весь файл на ваш екран.

Аналогія з кухнею: cat — це як прочитати всю картку з рецептом вголос, від початку до кінця.

Коли використовувати: Маленькі файли (до 50 рядків).

head — Показати перші 10 рядків

Розділ «head — Показати перші 10 рядків»
Terminal window
$ head long-file.txt

Показує лише перші 10 рядків. Ви можете змінити кількість:

Terminal window
$ head -n 5 long-file.txt # Показати перші 5 рядків

Аналогія з кухнею: «Просто прочитай мені назву та інгредієнти — мені не потрібен весь рецепт».

tail — Показати останні 10 рядків

Розділ «tail — Показати останні 10 рядків»
Terminal window
$ tail log-file.txt

Показує останні 10 рядків. Надзвичайно корисно для читання лог-файлів, де найновіші записи знаходяться внизу.

Terminal window
$ tail -n 20 log-file.txt # Показати останні 20 рядків

Аналогія з кухнею: «Які були останні кілька замовлень?»


Створення файлів та директорій

Розділ «Створення файлів та директорій»

mkdir — Створити директорію

Розділ «mkdir — Створити директорію»
Terminal window
$ mkdir recipes

Це створить нову директорію з назвою recipes у вашому поточному місці.

Щоб створити вкладені директорії (директорію всередині директорії, яка всередині іншої директорії):

Terminal window
$ mkdir -p recipes/italian/pasta

Прапорець -p означає «створити батьківські директорії за потреби». Без нього ви б отримали помилку, якби recipes/ або recipes/italian/ ще не існували.

touch — Створити порожній файл

Розділ «touch — Створити порожній файл»
Terminal window
$ touch shopping-list.txt

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

Аналогія з кухнею: mkdir — це побудова нової шухляди. touch — це розміщення в ній чистої картки для рецепта.


Приховані файли (Dotfiles)

Розділ «Приховані файли (Dotfiles)»

Деякі файли та директорії починаються з крапки (.). Їх називають прихованими файлами або dotfiles.

Terminal window
$ ls
Documents Downloads Music
$ ls -a
. .. .bashrc .config Documents Downloads Music

Прапорець -a означає «all» (всі) — включаючи приховані файли.

Приховані файли зазвичай містять налаштування та конфігурації. Деякі з поширених:

ФайлЩо він робить
.bashrcНалаштування для вашого термінала bash
.zshrcНалаштування для вашого термінала zsh (стандарт у macOS)
.config/Директорія, що містить конфігурації застосунків
.ssh/SSH-ключі (використовуються для безпечних з’єднань)
.gitconfigНалаштування Git

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


Основи прав доступу до файлів

Розділ «Основи прав доступу до файлів»

Зупиніться та подумайте: Коли ви запускаєте ls -l, ви бачите щось на кшталт -rw-r--r-- поруч із кожним файлом. Як ви думаєте, що означають ці літери? r може нагадувати «read» (читати), w — «write» (писати)… а тире? Спробуйте вгадати, перш ніж читати далі.

Пам’ятаєте, як ми запускали ls -l і бачили це?

drwxr-xr-x 2 yourname yourname 4096 Mar 23 10:00 Desktop
-rw-r--r-- 1 yourname yourname 220 Mar 23 08:30 notes.txt

Давайте розкодуємо перший стовпець: -rw-r--r--

Рядок прав доступу

Розділ «Рядок прав доступу»
- rw- r-- r--
| | | |
| | | └── Права інших (всіх інших)
| | └── Права групи
| └── Права власника (ваші)
└── Тип файлу (- = файл, d = директорія)
ЛітераПравоДля файлівДля директорій
rRead (Читання)Можна бачити вмістМожна бачити список файлів всередині
wWrite (Запис)Можна змінювати вмістМожна додавати або видаляти файли
xExecute (Виконання)Можна запускати як програмуМожна входити в директорію (cd в неї)
-Немає правНе можна виконувати діюНе можна виконувати дію
-rw-r--r-- notes.txt
  • - : Це звичайний файл (не директорія)
  • rw- : Власник може читати та писати (але не виконувати)
  • r-- : Група може лише читати
  • r-- : Інші можуть лише читати
drwxr-xr-x Desktop
  • d : Це директорія
  • rwx : Власник може читати, писати та входити
  • r-x : Група може читати та входити (але не додавати/видаляти файли)
  • r-x : Інші можуть читати та входити (але не додавати/видаляти файли)

Аналогія з кухнею: Права доступу — це як хто має який ключ. Шеф-кухар (власник) має ключ від усього. Су-шефи (група) можуть відкривати більшість шухляд. Офіціанти (інші) можуть лише зазирнути у вікно.

Повчальна історія: Один розробник якось встановив права на файл конфігурації бази даних із паролями як «читання для всіх» (-rw-rw-rw-). Зловмисник, який отримав доступ до сервера на низькому рівні, зміг просто зробити cat файлу конфігурації, прочитати дані доступу та викрасти всю базу даних клієнтів. Правильні права доступу (-rw-------) зупинили б цю атаку на самому початку.

Поки що не турбуйтеся про зміну прав — просто знайте, як їх читати. Ми розберемо chmod, коли він вам знадобиться.


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

  2. Скорочення ~ розгортається у вашу домашню директорію в оболонці (shell). Вам не потрібно запам’ятовувати повний шлях, як-от /home/yourname/ або /Users/yourname/. Історична причина вибору ~ часто розповідається як цікавий факт, але корисним є те, що оболонки сприймають його як коротку назву вашої домашньої папки.

  3. Linux ставиться до всього як до файлу — навіть до вашої клавіатури. Коли ви натискаєте клавішу, ядро записує це натискання у файлоподібний інтерфейс. Програми читають із цього інтерфейсу, щоб знати, що ви надрукували. Ця філософія «все є файлом» пояснює, чому Linux можна повністю керувати з термінала — завжди є файл, який можна прочитати або записати.


ПомилкаЩо відбуваєтьсяЯк виправитиВплив у реальному світі
cd у файл замість директоріїПомилка Not a directoryВикористовуйте cat або head для файлів; cd — для директорійВтрата часу під час інциденту, коли ви намагаєтеся відкрити логи.
Забули пробіл між командою та шляхомПомилка cdDocuments: command not foundЗавжди ставте пробіл: cd DocumentsДрібниця, але скрипти з пропущеними пробілами не працюватимуть в автоматизації.
Використання зворотних слешів \ замість прямих /Шлях не знайденоLinux/macOS використовує прямі слеші: /home/you/DocumentsСкрипт, написаний на Windows, зламається при запуску на вузлі Kubernetes.
Створення файлу замість директоріїВи отримуєте файл «recipes» замість папкиВикористовуйте mkdir для директорій, touch для файлівЗастосунки, що очікують папку для логів, «впадуть», якщо там буде файл.
Загубилися у вкладених директоріяхНе знаєте, де ви знаходитесьЗапустіть pwd, щоб побачити шлях, або cd ~, щоб повернутися додомуМожна випадково видалити файли не в тому середовищі (наприклад, у prod замість dev).
Описка у назві шляхуNo such file or directoryСпершу запустіть ls, щоб побачити назву, потім пишіть уважно (або тисніть Tab!)Скрипти резервного копіювання не збережуть дані, якщо шлях вказано з помилкою.

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


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

Розділ «Контрольні запитання»

Питання 1: Ви читаєте документацію, яка каже вам скопіювати ліцензійний ключ у ~/.kube/config. При цьому ваша поточна робоча директорія — /var/log/pods/. Де саме система шукатиме цей файл через символ ~, і чому використовується це скорочення замість повного шляху?

Показати відповідь

Система шукатиме у домашній директорії вашого користувача (наприклад, /home/yourname/.kube/config у Linux або /Users/yourname/.kube/config у macOS). ~ працює як динамічне скорочення, що завжди вказує на домашню папку поточного користувача. Це зручно для документації та скриптів, бо команда працюватиме незалежно від імені користувача чи операційної системи. Завдяки ~ розробники можуть писати універсальні команди.

Питання 2: Ви щойно завантажили інструмент, який включає файл .env із секретними API-ключами. Коли ви вводите ls у директорії, файл не відображається. Чому так відбувається і яку команду треба запустити, щоб переконатися, що файл на місці?

Показати відповідь

Потрібно запустити ls -a (або ls --all). Файл не відображається звичайною командою ls, тому що його назва починається з крапки (.), що робить його прихованим. Операційні системи приховують такі файли за замовчуванням, щоб не захаращувати список, оскільки вони зазвичай містять налаштування, з якими не потрібно взаємодіяти щодня. Прапорець -a скасовує це правило.

Питання 3: Молодший розробник засмучений, що не може знайти файл конфігурації термінала .bashrc у домашній папці через звичайний провідник GUI. Чому такі файли, як .bashrc, приховані за замовчуванням, і що може піти не так, якби вони були видимі разом із документами?

Показати відповідь

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

Питання 4: Ви зараз шукаєте причину помилки в застосунку, і ваш термінал знаходиться в /home/user/projects/app/src. Вам потрібно прочитати інструкцію, яка лежить у /home/user/projects/app/README.md. Напишіть команду для читання цього файлу через відносний шлях і поясніть, чому він тут кращий.

Показати відповідь

Команда: cat ../README.md (або head ../README.md). Символ .. каже системі піднятися на один рівень вгору в директорію app і там знайти README.md. Відносний шлях тут кращий, бо його набагато швидше надрукувати, ніж повний абсолютний шлях. Під час роботи це економить час і зменшує ймовірність помилок у довгих назвах папок.

Питання 5: Скрипт розгортання видає помилку. Всередині скрипт намагається отримати доступ до конфігурації через cd config/. Проте скрипт працює, лише якщо його запускати з певної папки, і ламається в усіх інших випадках. Яка фундаментальна різниця між використанням config/ та /etc/app/config/, і чому скрипт зламався?

Показати відповідь

Скрипт зламався, бо використовував відносний шлях (config/), який повністю залежить від того, де ви перебуваєте в момент запуску. Якщо ви не в тій папці, де лежить config/, система її не знайде. Навпаки, /etc/app/config/ — це абсолютний шлях. Він починається від кореня (/) і вказує на точне місце, тому скрипт знайде папку незалежно від того, звідки його запустили.

Питання 6: Ви розслідуєте інцидент безпеки. Важливий файл із мейлами клієнтів має права -rw-r-----. Власник файлу — користувач admin, файл належить групі support. Якщо новий користувач приєднається до групи support, що саме він зможе робити з цим файлом і що завадить йому змінити його?

Показати відповідь

Користувач із групи support зможе лише читати вміст файлу, бо права групи — r--. Він не зможе змінити або видалити файл, бо для групи відсутній дозвіл на запис (w). Лише власник (admin) має права і на читання, і на запис (rw-). Такий поділ дозволяє службі підтримки бачити дані, не ризикуючи випадково їх зіпсувати.

Питання 7: Вузол (node) Kubernetes «падає», і системний лог /var/log/syslog розрісся до 500 000 рядків. Вам треба швидко знайти помилку, що сталася прямо перед падінням. Яку команду ви використаєте і чому запуск cat /var/log/syslog був би катастрофічним рішенням?

Показати відповідь

Слід використати tail -n 50 /var/log/syslog, щоб побачити тільки кінець файлу. Використання cat було б катастрофою, бо вона спробує вивести всі 500 000 рядків у термінал одночасно. Це «заб’є» екран, заморозить сесію термінала і зробить неможливим пошук важливих повідомлень про помилки, які знаходяться в самому кінці, де записані останні події. Команда tail створена саме для таких випадків.


Практична вправа: створення вашої першої структури директорій

Розділ «Практична вправа: створення вашої першої структури директорій»

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

  1. Перейдіть у вашу домашню директорію:
Terminal window
$ cd ~
$ pwd

Переконайтеся, що ви бачите шлях до вашої домашньої папки.

  1. Створіть структуру директорій проєкту:
Terminal window
$ mkdir -p kubedojo-practice/recipes/appetizers
$ mkdir -p kubedojo-practice/recipes/main-courses
$ mkdir -p kubedojo-practice/recipes/desserts
  1. Зайдіть всередину:
Terminal window
$ cd kubedojo-practice
$ ls

Ви повинні побачити: recipes

  1. Створіть кілька файлів:
Terminal window
$ touch recipes/appetizers/bruschetta.txt
$ touch recipes/main-courses/pasta-carbonara.txt
$ touch recipes/desserts/tiramisu.txt
  1. Додайте вміст у файл (ми використаємо echo з символом >, щоб записати у файл):
Terminal window
$ echo "Інгредієнти: хліб, томати, базилік, оливкова олія" > recipes/appetizers/bruschetta.txt
$ echo "Інгредієнти: паста, яйця, панчета, пармезан" > recipes/main-courses/pasta-carbonara.txt
$ echo "Інгредієнти: кава, маскарпоне, печиво савоярді, какао" > recipes/desserts/tiramisu.txt

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

  1. Прочитайте файли:
Terminal window
$ cat recipes/appetizers/bruschetta.txt
$ head recipes/main-courses/pasta-carbonara.txt
$ tail recipes/desserts/tiramisu.txt
  1. Перевірте права доступу:

Зупиніться та подумайте: Перш ніж запустити наступну команду, які права ви очікуєте побачити у файлу bruschetta.txt? (Підказка: ви його створили, отже ви — власник. Чи можете ви його читати та писати в нього?)

Terminal window
$ ls -l recipes/appetizers/

Ви повинні побачити рядок прав доступу для вашої брускети.

  1. Перевірте приховані файли у вашій домашній директорії:

Зупиніться та подумайте: Якби ви запустили просто ls ~ без прапорця -a, чи побачили б ви файли на кшталт .bashrc або .config? Чому так?

Terminal window
$ ls -a ~

Шукайте файли, що починаються з . — це ваші dotfiles!

  1. Потренуйтеся в навігації:
Terminal window
$ cd recipes/desserts
$ pwd # Де ви зараз?
$ cd .. # На один рівень вгору
$ pwd # А тепер де?
$ cd ~ # Повернутися додому
$ pwd # Знову вдома

Ви виконали вправу, якщо можете:

  • Перейти в домашню директорію за допомогою cd ~
  • Створити вкладені директорії через mkdir -p
  • Створити файли через touch
  • Записати вміст у файл через echo "текст" > файл
  • Прочитати файли за допомогою cat, head та tail
  • Перевірити права доступу через ls -l
  • Побачити приховані файли через ls -a
  • Навігувати за допомогою cd, cd .. та cd ~

Ви щойно використали інструменти, якими старші інженери користуються щодня. Ви на своєму місці.


Тепер ви вмієте навігувати файловою системою, створювати файли та директорії, читати їх і розуміти права доступу. «Кухня» стає все більш знайомою.

Наступний модуль: Модуль 0.5: Редагування файлів — навчіться наповнювати файли змістом за допомогою текстового редактора, що працює прямо у вашому терміналі.