Ysa-k02-ru-v2

From
Jump to navigation Jump to search

```wiki

Глава 2: Файловая система Unix/Linux и работа с файлами

1. Иерархия файловой системы Unix

Файловая система имеет иерархическую структуру в виде дерева. Корень файловой системы — это каталог /:

/
├── etc
├── home
│    └── yuri
│         └── Documents
│         └── Downloads  
│         └── Pictures
...
...
└── var
     └── ...

Основные каталоги

/ (root)

  • Корневой каталог
  • От него начинаются все остальные каталоги
  • Обычные пользователи не должны работать здесь напрямую

/etc

  • Конфигурационные файлы системы
  • Настройки сервисов, пользователей, сети

Примеры:

  • /etc/passwd — информация о пользователях
  • /etc/hosts — локальные DNS-записи

/var

  • Изменяемые данные
  • Логи, кэши, очереди

Примеры:

  • /var/log — системные журналы
  • /var/tmp — временные файлы

/home

  • Домашние каталоги пользователей
  • Каждый пользователь имеет свой каталог

Пример:

/home/user

2. Абсолютные и относительные пути

Абсолютный путь

  • Начинается с /
  • Не зависит от текущего каталога

Пример:

/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 user user  1234 Apr 10 12:00 file.txt

Расшифровка:

  • -rw-r--r-- — права доступа
  • 1 — количество ссылок
  • user — владелец
  • user — группа
  • 1234 — размер в байтах
  • Apr 10 12:00 — дата изменения
  • file.txt — имя файла

Типы файлов:

  • - — обычный файл
  • d — каталог
  • l — символическая ссылка

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: Навигация

  1. Перейти в домашний каталог
  2. Вывести текущий каталог
  3. Перейти в /etc
  4. Вернуться в домашний каталог

Практическое задание 2: Каталоги

  1. Создать каталог practice
  2. Внутри него создать каталог test1/test2
  3. Перейти в test2

Практическое задание 3: Файлы

  1. Создать файл file1.txt
  2. Создать файл file2.txt
  3. Вывести список файлов с атрибутами

Практическое задание 4: Просмотр

  1. Добавить текст в файл (используя echo >>)
  2. Просмотреть файл через cat
  3. Просмотреть первые 5 строк через head
  4. Просмотреть последние строки через tail

Практическое задание 5 (дополнительно)

  1. Переместить файл в другой каталог
  2. Переименовать файл
  3. Удалить файл и каталог

7. Материалы для самостоятельного изучения

  • man:
 * man ls
 * man mkdir
 * man rm
 * man mv
 * man cat
  • Документация:
 * Linux Filesystem Hierarchy Standard (FHS)
  • Практика:
 * Создавать тестовые каталоги
 * Работать только через терминал
 * Повторять команды ежедневно

Итог главы

После изучения главы 2 студент:

  • Понимает структуру файловой системы Unix/Linux
  • Различает абсолютные и относительные пути
  • Умеет создавать, перемещать и удалять файлы и каталоги
  • Понимает атрибуты файлов
  • Умеет просматривать содержимое файлов
  • Готов к работе с пользователями и файлами в реальной системе

```