Ysa-k02-ru-v2: Difference between revisions
| Line 364: | Line 364: | ||
== 7. Материалы для самостоятельного изучения == |
== 7. Материалы для самостоятельного изучения == |
||
```wiki |
|||
* man: |
|||
== Материалы для самостоятельного изучения (улучшенные) == |
|||
* man ls |
|||
* man mkdir |
|||
=== Онлайн-документация и статьи === |
|||
* man rm |
|||
* man mv |
|||
* **Linux Filesystem Hierarchy (подробное руководство по иерархии каталогов)** — объясняет стандарт и структуру каталогов Linux/Unix. [Linux Filesystem Hierarchy – Linuxtopia (англ.)](https://www.linuxtopia.org/online_books/linux_beginner_books/linux_filesystem/index.html?utm_source=chatgpt.com) |
|||
* man cat |
|||
* **Linux Directory Structure Explained for Beginners** — краткое и наглядное объяснение структуры каталогов для новичков. :contentReference[oaicite:1]{index=1} |
|||
* Документация: |
|||
* **Статья на Хабре: Структура файловой иерархии Linux (рус.)** — обзор стандартов и назначений каталогов. :contentReference[oaicite:2]{index=2} |
|||
* Linux Filesystem Hierarchy Standard (FHS) |
|||
* **Урок «Иерархия файловой системы» на Linux Journey** — содержит объяснение каталогов и практические лабораторные задания. :contentReference[oaicite:3]{index=3} |
|||
* Практика: |
|||
* **Навигация по файловой системе (Яндекс.Учебник)** — пошаговое руководство по абсолютным и относительным путям, каталогам и ссылкам. :contentReference[oaicite:4]{index=4} |
|||
* Создавать тестовые каталоги |
|||
* **Каталоги Linux / Father Beginners Guide (YoungLinux)** — объясняет назначение всех основных системных каталогов. :contentReference[oaicite:5]{index=5} |
|||
* Работать только через терминал |
|||
* Повторять команды ежедневно |
|||
=== Учебные курсы и видео (англ.) === |
|||
* **O’Reilly: Becoming a Linux Power User (видео-курс)** — включает подробные уроки про файловую систему. :contentReference[oaicite:6]{index=6} |
|||
* **Linux Essentials: Hands-On Course (видео)** — практический курс по основам Linux, включая структуру файловой системы. :contentReference[oaicite:7]{index=7} |
|||
* **Learn Linux in a Month of Lunches (книга/онлайн-глава про файловую систему)** — подробное руководство по каталогам, полезно при чтении по теме FHS. :contentReference[oaicite:8]{index=8} |
|||
=== Книги и печатные ресурсы === |
|||
* **«UNIX и Linux. Руководство системного администратора»** — классическое руководство по системному администрированию (обсуждается файловая система, права, команды и др.). |
|||
*(заметка: ссылки на скачивание встречаются на форумах, но лучше использовать официальные издания и покупать/брать в библиотеке)* :contentReference[oaicite:9]{index=9} |
|||
* **«The Linux Command Line» (автор William Shotts)** — отличная книга для начинающих, охватывает работу с каталогами, файлами и командами оболочки. |
|||
* **«Linux Bible» и «Linux Fundamentals»** — большие справочники, включающие разделы по файловой системе (структура, команды, практика). |
|||
=== Дополнительные русскоязычные учебники и материалы === |
|||
* **Учебник по системе Linux (разделы про команды и файловую систему)** — структурированный материал для новичков. :contentReference[oaicite:10]{index=10} |
|||
* **Лекция «Работа с файловой системой» (НOU ИНТУИТ)** — учебный материал про навигацию и пути. :contentReference[oaicite:11]{index=11} |
|||
* **Учебные страницы о работе с файлами и каталогами (volodya-leveryev.github.io)** — практические примеры команд `cd`, `ls`, структуры дерева каталогов. :contentReference[oaicite:12]{index=12} |
|||
== Советы по работе с материалами == |
|||
* Читайте как минимум **2–3 источника** про иерархию файловой системы — это поможет лучше понять стандарты и различия между дистрибутивами. |
|||
* Практикуйтесь с **командами cd, ls, pwd, tree** (если установлена) после каждого раздела теории — практика ускоряет усвоение. |
|||
* Попробуйте найти **анализ структуры каталогов в установленной VM**: |
|||
<pre> |
|||
ls /usr |
|||
ls /var/log |
|||
ls /etc |
|||
</pre> |
|||
* Используйте **вопросы и задания** из онлайн-уроков (например, на Linux Journey) для закрепления материала. :contentReference[oaicite:13]{index=13} |
|||
* Чтобы углубить понимание, можно читать главы про **не только команды, но и архитектуру Unix/Linux** (книги по системному администрированию и устройству ОС). |
|||
== Итог == |
|||
Предложенные ссылки и книги дадут вам: |
|||
* Понимание стандартов и структуры каталогов Unix/Linux (FHS) |
|||
* Практические знания про навигацию и команды |
|||
* Глубокое понимание назначения каждого важного каталога |
|||
* Возможность самостоятельной подготовки к практическим заданиям и экзаменам |
|||
Эти ресурсы пригодятся для **самостоятельного углубленного изучения** темы файловой системы в Linux/Unix. |
|||
::contentReference[oaicite:14]{index=14} |
|||
``` |
|||
== Итог главы == |
== Итог главы == |
||
Revision as of 11:56, 29 December 2025
```wiki
Глава 2: Файловая система Unix/Linux и работа с файлами
1. Иерархия файловой системы Unix
Файловая система имеет иерархическую структуру в виде дерева. Корень файловой системы — это каталог /:
/ -> / ├── etc -> /etc │ ├── groups -> /etc/groups │ └── passwd -> /etc/passwd │ ├── home -> /home │ ├── yuri -> /home/yuri │ │ ├── Documents -> /home/yuri/Documents │ │ ├── Downloads -> /home/yuri/Downloads │ │ └── Pictures -> /home/yuri/Pictures │ │ │ └── jens -> /home/jens │ ├── Downloads -> /home/jens/Downloads │ └── Pictures -> /home/jens/Pictures ... ... └── var └── ...
Основные каталоги
/
- Корневой каталог (root)
- От него начинаются все остальные каталоги
- Обычные пользователи не должны работать здесь напрямую
/etc
- Конфигурационные файлы системы
- Настройки сервисов, пользователей, сети
Примеры:
- /etc/passwd — информация о пользователях
- /etc/hosts — локальные DNS-записи
/var
- Изменяемые данные
- Логи, кэши, очереди
Примеры:
- /var/log — системные журналы
- /var/tmp — временные файлы
/home
- Домашние каталоги пользователей
- Каждый пользователь имеет свой каталог
Примеры:
- /home/yuri
- /home/jens
- /home/wolf
2. Текущий рабочий каталог (Current Working Directory, CWD)
Что такое текущий рабочий каталог (cwd)
Текущий рабочий каталог (current working directory, CWD) — это каталог, в котором пользователь «находится» в данный момент во время работы в терминале.
Все команды, которые используют относительные пути, работают относительно текущего рабочего каталога.
Проще говоря:
- Терминал всегда «стоит» в каком-то каталоге
- Этот каталог и есть текущий рабочий каталог
Как узнать текущий рабочий каталог
Для этого используется команда:
pwd
Пример вывода:
/home/yuri
Это означает, что все относительные пути будут отсчитываться от `/home/yuri`.
Как текущий каталог влияет на команды
Предположим, структура каталогов такая:
/home/yuri/ ├── docs/ │ └── file.txt └── images/
Если текущий каталог:
/home/yuri
То команда:
ls
покажет:
docs images
А команда:
cat docs/file.txt
успешно выведет файл.
Если же текущий каталог:
/home/yuri/images
То команда:
cat docs/file.txt
НЕ сработает, потому что путь `docs/file.txt` ищется относительно `/home/yuri/images`.
В этом случае нужно:
- либо использовать относительный путь с `..`
cat ../docs/file.txt
- либо абсолютный путь
cat /home/yuri/docs/file.txt
Изменение текущего рабочего каталога
Для смены текущего каталога используется команда cd (cd = chance working directory = изменить рабочий каталог)
Примеры:
cd /etc cd /home/user cd docs cd .. cd ~
После каждой команды `cd` текущий рабочий каталог меняется.
Специальные обозначения, связанные с CWD
- `.` — текущий каталог
- `..` — родительский каталог
Примеры:
ls . ls .. cd .. cd ./docs
Пример: Команда
ls .
показывает содержимое текущего каталога (обычно эквивалентно `ls`).
Типичные ошибки новичков
- Попытка открыть файл, не учитывая текущий каталог
- Путаница между абсолютными и относительными путями
- Непонимание, почему команда «не находит файл»
Очень важно **всегда понимать, где вы сейчас находитесь**.
Практические упражнения: текущий рабочий каталог
Упражнение 1: Определение CWD
- Войти в систему
- Выполнить команду:
pwd
- Записать путь текущего каталога
Упражнение 2: Влияние CWD
- Перейти в домашний каталог
- Создать каталог:
mkdir testcwd
- Перейти в него:
cd testcwd
- Проверить текущий каталог с помощью `pwd`
Упражнение 3: Относительные пути
- Находясь в `testcwd`, создать файл:
touch file1.txt
- Вернуться на уровень выше:
cd ..
- Попробовать вывести файл:
cat testcwd/file1.txt
Упражнение 4 (дополнительно)
- Перейти в `/etc`
- Выполнить `pwd`
- Вернуться в домашний каталог одной командой
cd ~
Абсолютный путь
- Начинается с /
- Не зависит от текущего каталога
Пример:
/home/user/Documents/file.txt
Относительный путь
- Зависит от текущего каталога
- Не начинается с /
Пример:
Documents/file.txt
Специальные обозначения
- . — текущий каталог
- .. — родительский каталог
- ~ — домашний каталог пользователя
Примеры:
cd .. cd . cd ~
3. Повторение и расширение: базовые команды файловой системы
mkdir — создание каталогов
mkdir test mkdir dir1 dir2 mkdir -p projects/linux/scripts
Параметр:
- -p — создать всю цепочку каталогов
rm — удаление файлов и каталогов
rm file.txt rm -r directory rm -rf directory
Внимание: Команда rm **безвозвратно удаляет данные**.
mv — перемещение и переименование
mv file1 file2 mv file.txt /tmp/ mv dir1 dir2
4. Атрибуты файлов (ls -l)
Команда:
ls -l
Пример вывода:
-rw-r--r-- 1 yuri user 1234 Apr 10 12:00 file.txt
Расшифровка:
- -rw-r--r-- — права доступа
- 1 — количество ссылок
- yuri — владелец
- user — группа
- 1234 — размер в байтах
- Apr 10 12:00 — дата изменения
- file.txt — имя файла
5. Важные команды для работы с файлами
touch — создание пустого файла
touch file.txt
cat — вывод содержимого файла
cat file.txt
more — постраничный просмотр
more file.txt
head — начало файла
head file.txt head -n 5 file.txt
tail — конец файла
tail file.txt tail -n 10 file.txt tail -f /var/log/syslog
6. Практика: навигация и работа с файлами
Практическое задание 1: Навигация
- Перейти в домашний каталог
- Вывести текущий каталог
- Перейти в /etc
- Вернуться в домашний каталог
Практическое задание 2: Каталоги
- Создать каталог practice
- Внутри него создать каталог test1/test2
- Перейти в test2
Практическое задание 3: Файлы
- Создать файл file1.txt
- Создать файл file2.txt
- Вывести список файлов с атрибутами
Практическое задание 4: Просмотр
- Добавить текст в файл (используя echo >>)
- Просмотреть файл через cat
- Просмотреть первые 5 строк через head
- Просмотреть последние строки через tail
Практическое задание 5 (дополнительно)
- Переместить файл в другой каталог
- Переименовать файл
- Удалить файл и каталог
7. Материалы для самостоятельного изучения
```wiki
Материалы для самостоятельного изучения (улучшенные)
Онлайн-документация и статьи
- **Linux Filesystem Hierarchy (подробное руководство по иерархии каталогов)** — объясняет стандарт и структуру каталогов Linux/Unix. [Linux Filesystem Hierarchy – Linuxtopia (англ.)](https://www.linuxtopia.org/online_books/linux_beginner_books/linux_filesystem/index.html?utm_source=chatgpt.com)
- **Linux Directory Structure Explained for Beginners** — краткое и наглядное объяснение структуры каталогов для новичков. :contentReference[oaicite:1]{index=1}
- **Статья на Хабре: Структура файловой иерархии Linux (рус.)** — обзор стандартов и назначений каталогов. :contentReference[oaicite:2]{index=2}
- **Урок «Иерархия файловой системы» на Linux Journey** — содержит объяснение каталогов и практические лабораторные задания. :contentReference[oaicite:3]{index=3}
- **Навигация по файловой системе (Яндекс.Учебник)** — пошаговое руководство по абсолютным и относительным путям, каталогам и ссылкам. :contentReference[oaicite:4]{index=4}
- **Каталоги Linux / Father Beginners Guide (YoungLinux)** — объясняет назначение всех основных системных каталогов. :contentReference[oaicite:5]{index=5}
Учебные курсы и видео (англ.)
- **O’Reilly: Becoming a Linux Power User (видео-курс)** — включает подробные уроки про файловую систему. :contentReference[oaicite:6]{index=6}
- **Linux Essentials: Hands-On Course (видео)** — практический курс по основам Linux, включая структуру файловой системы. :contentReference[oaicite:7]{index=7}
- **Learn Linux in a Month of Lunches (книга/онлайн-глава про файловую систему)** — подробное руководство по каталогам, полезно при чтении по теме FHS. :contentReference[oaicite:8]{index=8}
Книги и печатные ресурсы
- **«UNIX и Linux. Руководство системного администратора»** — классическое руководство по системному администрированию (обсуждается файловая система, права, команды и др.).
*(заметка: ссылки на скачивание встречаются на форумах, но лучше использовать официальные издания и покупать/брать в библиотеке)* :contentReference[oaicite:9]{index=9}
- **«The Linux Command Line» (автор William Shotts)** — отличная книга для начинающих, охватывает работу с каталогами, файлами и командами оболочки.
- **«Linux Bible» и «Linux Fundamentals»** — большие справочники, включающие разделы по файловой системе (структура, команды, практика).
Дополнительные русскоязычные учебники и материалы
- **Учебник по системе Linux (разделы про команды и файловую систему)** — структурированный материал для новичков. :contentReference[oaicite:10]{index=10}
- **Лекция «Работа с файловой системой» (НOU ИНТУИТ)** — учебный материал про навигацию и пути. :contentReference[oaicite:11]{index=11}
- **Учебные страницы о работе с файлами и каталогами (volodya-leveryev.github.io)** — практические примеры команд `cd`, `ls`, структуры дерева каталогов. :contentReference[oaicite:12]{index=12}
Советы по работе с материалами
- Читайте как минимум **2–3 источника** про иерархию файловой системы — это поможет лучше понять стандарты и различия между дистрибутивами.
- Практикуйтесь с **командами cd, ls, pwd, tree** (если установлена) после каждого раздела теории — практика ускоряет усвоение.
- Попробуйте найти **анализ структуры каталогов в установленной VM**:
ls /usr ls /var/log ls /etc
- Используйте **вопросы и задания** из онлайн-уроков (например, на Linux Journey) для закрепления материала. :contentReference[oaicite:13]{index=13}
- Чтобы углубить понимание, можно читать главы про **не только команды, но и архитектуру Unix/Linux** (книги по системному администрированию и устройству ОС).
Итог
Предложенные ссылки и книги дадут вам:
- Понимание стандартов и структуры каталогов Unix/Linux (FHS)
- Практические знания про навигацию и команды
- Глубокое понимание назначения каждого важного каталога
- Возможность самостоятельной подготовки к практическим заданиям и экзаменам
Эти ресурсы пригодятся для **самостоятельного углубленного изучения** темы файловой системы в Linux/Unix.
- contentReference[oaicite:14]{index=14}
```
Итог главы
После изучения главы 2 студент:
- Понимает структуру файловой системы Unix/Linux
- Различает абсолютные и относительные пути
- Умеет создавать, перемещать и удалять файлы и каталоги
- Понимает атрибуты файлов
- Умеет просматривать содержимое файлов
- Готов к работе с пользователями и файлами в реальной системе
```