Модуль 0.4: Файли та директорії
Складність:
[ШВИДКО]— Абсолютний новачокЧас на проходження: 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
Розділ «В macOS»macOS трохи відрізняється. Ваша домашня директорія знаходиться за адресою /Users/yourname/ замість /home/yourname/. Але ~ все одно працює як скорочення, тому вам рідко доводиться про це думати.
Навігація: де я знаходжуся?
Розділ «Навігація: де я знаходжуся?»Коли ви відкриваєте термінал, ви «стоїте» в якійсь директорії — зазвичай у вашій домашній директорії. Термінал не показує вам візуальну карту; вам потрібно запитати.
pwd — Print Working Directory
Розділ «pwd — Print Working Directory»«Де я зараз?»
$ pwd/home/yournamepwd означає Print Working Directory (вивести робочу директорію). Вона показує повний шлях до місця, де ви зараз перебуваєте.
Аналогія з кухнею: «В якій кімнаті я стою?» —
pwdвідповідає на це.
ls — List Contents
Розділ «ls — List Contents»«Що є в цій кімнаті?»
$ lsDesktop Documents Downloads Music Picturesls означає list (список). Вона показує файли та директорії у вашому поточному місці.
Ви можете додати параметри, щоб побачити більше деталей:
$ ls -lПрапорець -l означає «long format» (довгий формат). Тепер ви побачите щось на кшталт:
drwxr-xr-x 2 yourname yourname 4096 Mar 23 10:00 Desktopdrwxr-xr-x 3 yourname yourname 4096 Mar 23 09:45 Documents-rw-r--r-- 1 yourname yourname 220 Mar 23 08:30 notes.txtНе панікуйте — ми розкодуємо це трохи пізніше.
cd — Change Directory
Розділ «cd — Change Directory»«Перейти в іншу кімнату».
$ cd Documents$ pwd/home/yourname/Documentscd означає change directory (змінити директорію). Ви кажете їй, куди йти, і вона вас туди переносить.
Деякі важливі скорочення cd:
| Команда | Куди вона вас переносить | Аналогія |
|---|---|---|
cd ~ або просто cd | Ваша домашня директорія | «Повернутися до мого робочого місця» |
cd .. | На один рівень вище (батьківська директорія) | «Вийти в кімнату, що містить цю кімнату» |
cd - | Остання директорія, в якій ви були | «Повернутися туди, де я щойно був» |
cd / | Коренева директорія | «Вийти на перший поверх» |
Абсолютні та відносні шляхи
Розділ «Абсолютні та відносні шляхи»Це важлива концепція. Є два способи описати, де знаходиться файл або директорія:
Абсолютний шлях (повна адреса)
Розділ «Абсолютний шлях (повна адреса)»Абсолютний шлях починається від кореня (/) і дає повне розташування:
/home/yourname/Documents/report.txtЦе як повна поштова адреса: Україна, м. Київ, вул. Хрещатик, 1, 01001. Незалежно від того, де ви знаходитесь у світі, ця адреса вказує саме на одне місце.
Відносний шлях (напрямок звідси)
Розділ «Відносний шлях (напрямок звідси)»Відносний шлях описує розташування відносно того місця, де ви зараз перебуваєте:
Documents/report.txtЦе як сказати: «Два квартали ліворуч, потім один квартал вгору». Ці вказівки працюють, лише якщо ви знаєте початкову точку.
Приклад
Розділ «Приклад»$ 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 — Показати весь файл»$ cat notes.txtЦе моя перша нотатка.Я написав її в терміналі!cat походить від «concatenate» (зчеплювати), але більшість людей використовують її для відображення вмісту файлу. Вона просто «викидає» весь файл на ваш екран.
Аналогія з кухнею:
cat— це як прочитати всю картку з рецептом вголос, від початку до кінця.
Коли використовувати: Маленькі файли (до 50 рядків).
head — Показати перші 10 рядків
Розділ «head — Показати перші 10 рядків»$ head long-file.txtПоказує лише перші 10 рядків. Ви можете змінити кількість:
$ head -n 5 long-file.txt # Показати перші 5 рядківАналогія з кухнею: «Просто прочитай мені назву та інгредієнти — мені не потрібен весь рецепт».
tail — Показати останні 10 рядків
Розділ «tail — Показати останні 10 рядків»$ tail log-file.txtПоказує останні 10 рядків. Надзвичайно корисно для читання лог-файлів, де найновіші записи знаходяться внизу.
$ tail -n 20 log-file.txt # Показати останні 20 рядківАналогія з кухнею: «Які були останні кілька замовлень?»
Створення файлів та директорій
Розділ «Створення файлів та директорій»mkdir — Створити директорію
Розділ «mkdir — Створити директорію»$ mkdir recipesЦе створить нову директорію з назвою recipes у вашому поточному місці.
Щоб створити вкладені директорії (директорію всередині директорії, яка всередині іншої директорії):
$ mkdir -p recipes/italian/pastaПрапорець -p означає «створити батьківські директорії за потреби». Без нього ви б отримали помилку, якби recipes/ або recipes/italian/ ще не існували.
touch — Створити порожній файл
Розділ «touch — Створити порожній файл»$ touch shopping-list.txtЦе створює новий порожній файл. (Якщо файл уже існує, команда оновить час його останньої зміни, не змінюючи вміст).
Аналогія з кухнею:
mkdir— це побудова нової шухляди.touch— це розміщення в ній чистої картки для рецепта.
Приховані файли (Dotfiles)
Розділ «Приховані файли (Dotfiles)»Деякі файли та директорії починаються з крапки (.). Їх називають прихованими файлами або dotfiles.
$ lsDocuments 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 = директорія)Три види прав
Розділ «Три види прав»| Літера | Право | Для файлів | Для директорій |
|---|---|---|---|
r | Read (Читання) | Можна бачити вміст | Можна бачити список файлів всередині |
w | Write (Запис) | Можна змінювати вміст | Можна додавати або видаляти файли |
x | Execute (Виконання) | Можна запускати як програму | Можна входити в директорію (cd в неї) |
- | Немає прав | Не можна виконувати дію | Не можна виконувати дію |
Читання прикладу
Розділ «Читання прикладу»-rw-r--r-- notes.txt-: Це звичайний файл (не директорія)rw-: Власник може читати та писати (але не виконувати)r--: Група може лише читатиr--: Інші можуть лише читати
drwxr-xr-x Desktopd: Це директоріяrwx: Власник може читати, писати та входитиr-x: Група може читати та входити (але не додавати/видаляти файли)r-x: Інші можуть читати та входити (але не додавати/видаляти файли)
Аналогія з кухнею: Права доступу — це як хто має який ключ. Шеф-кухар (власник) має ключ від усього. Су-шефи (група) можуть відкривати більшість шухляд. Офіціанти (інші) можуть лише зазирнути у вікно.
Повчальна історія: Один розробник якось встановив права на файл конфігурації бази даних із паролями як «читання для всіх» (
-rw-rw-rw-). Зловмисник, який отримав доступ до сервера на низькому рівні, зміг просто зробитиcatфайлу конфігурації, прочитати дані доступу та викрасти всю базу даних клієнтів. Правильні права доступу (-rw-------) зупинили б цю атаку на самому початку.
Поки що не турбуйтеся про зміну прав — просто знайте, як їх читати. Ми розберемо chmod, коли він вам знадобиться.
Чи знали ви?
Розділ «Чи знали ви?»
Коренева директорія
/називається “root” (корінь), тому що дерево директорій росте вниз. Як і у справжнього дерева, корінь знаходиться вгорі, а гілки розходяться нижче. Кожен файл на вашому комп’ютері знаходиться десь на гілці, яка з’єднується з/.Скорочення
~розгортається у вашу домашню директорію в оболонці (shell). Вам не потрібно запам’ятовувати повний шлях, як-от/home/yourname/або/Users/yourname/. Історична причина вибору~часто розповідається як цікавий факт, але корисним є те, що оболонки сприймають його як коротку назву вашої домашньої папки.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 створена саме для таких випадків.
Практична вправа: створення вашої першої структури директорій
Розділ «Практична вправа: створення вашої першої структури директорій»Мета
Розділ «Мета»Створити структуру директорій, додати файли, прочитати їх та перевірити права доступу — і все це виключно через термінал.
Кроки
Розділ «Кроки»- Перейдіть у вашу домашню директорію:
$ cd ~$ pwdПереконайтеся, що ви бачите шлях до вашої домашньої папки.
- Створіть структуру директорій проєкту:
$ mkdir -p kubedojo-practice/recipes/appetizers$ mkdir -p kubedojo-practice/recipes/main-courses$ mkdir -p kubedojo-practice/recipes/desserts- Зайдіть всередину:
$ cd kubedojo-practice$ lsВи повинні побачити: recipes
- Створіть кілька файлів:
$ touch recipes/appetizers/bruschetta.txt$ touch recipes/main-courses/pasta-carbonara.txt$ touch recipes/desserts/tiramisu.txt- Додайте вміст у файл (ми використаємо
echoз символом>, щоб записати у файл):
$ echo "Інгредієнти: хліб, томати, базилік, оливкова олія" > recipes/appetizers/bruschetta.txt$ echo "Інгредієнти: паста, яйця, панчета, пармезан" > recipes/main-courses/pasta-carbonara.txt$ echo "Інгредієнти: кава, маскарпоне, печиво савоярді, какао" > recipes/desserts/tiramisu.txtСимвол
>означає «направити вивід у цей файл» замість того, щоб показувати його на екрані. Уявіть, що слова шеф-кухаря не просто звучать у повітрі, а відразу записуються на картку з рецептом.
- Прочитайте файли:
$ cat recipes/appetizers/bruschetta.txt$ head recipes/main-courses/pasta-carbonara.txt$ tail recipes/desserts/tiramisu.txt- Перевірте права доступу:
Зупиніться та подумайте: Перш ніж запустити наступну команду, які права ви очікуєте побачити у файлу
bruschetta.txt? (Підказка: ви його створили, отже ви — власник. Чи можете ви його читати та писати в нього?)
$ ls -l recipes/appetizers/Ви повинні побачити рядок прав доступу для вашої брускети.
- Перевірте приховані файли у вашій домашній директорії:
Зупиніться та подумайте: Якби ви запустили просто
ls ~без прапорця-a, чи побачили б ви файли на кшталт.bashrcабо.config? Чому так?
$ ls -a ~Шукайте файли, що починаються з . — це ваші dotfiles!
- Потренуйтеся в навігації:
$ 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: Редагування файлів — навчіться наповнювати файли змістом за допомогою текстового редактора, що працює прямо у вашому терміналі.