Перейти к содержимому

2. Навигация в файловой системе

В Linux всё — файл. Директории, устройства, сетевые сокеты — всё представлено в виде файлов в едином дереве директорий, начинающемся с корня /.

/
├── bin/ → основные команды (ls, cp, mv...)
├── etc/ → конфигурационные файлы
├── home/ → домашние директории пользователей
│ └── user/ → твоя домашняя директория (~)
├── tmp/ → временные файлы
├── usr/ → программы и библиотеки
└── var/ → логи, базы данных, переменные данные

pwd (Print Working Directory) — показывает текущую директорию.

/home/user
pwd
cd /etc
pwd
# /etc

ls показывает содержимое директории.

Окно терминала
ls # список файлов в текущей директории
ls /etc # список файлов в /etc
ls -l # длинный формат (права, размер, дата)
ls -la # включая скрытые файлы (начинаются с .)
ls -lh # размеры в человекочитаемом формате (KB, MB)
ls -lt # сортировка по времени изменения
ls -lr # обратная сортировка
ls -R # рекурсивно (все поддиректории)

Пример вывода ls -la:

drwxr-xr-x 2 user user 4096 Mar 15 10:30 Documents
-rw-r--r-- 1 user user 1234 Mar 14 09:15 README.md
lrwxrwxrwx 1 user user 12 Mar 13 08:00 link -> /etc/hosts

Первый символ: d — директория, - — файл, l — символическая ссылка.

Окно терминала
cd /etc # перейти в /etc (абсолютный путь)
cd Documents # перейти в Documents (относительный путь)
cd .. # перейти на уровень выше
cd ../.. # перейти на два уровня выше
cd ~ # перейти в домашнюю директорию
cd - # перейти в предыдущую директорию
cd # без аргументов — тоже в домашнюю
Окно терминала
# Абсолютный путь — начинается с /
cd /home/user/Documents
# Относительный путь — от текущей директории
cd Documents # если ты уже в /home/user
cd ./Documents # то же самое, ./ можно опустить
Окно терминала
mkdir myproject # создать директорию
mkdir -p myproject/src/components # создать вложенные директории
mkdir dir1 dir2 dir3 # создать несколько сразу
mkdir -m 755 scripts # создать с правами 755

Флаг -p очень полезен: создаёт всю цепочку директорий, даже если промежуточные не существуют.

Окно терминала
rmdir mydir # удалить пустую директорию
rmdir -p a/b/c # удалить цепочку пустых директорий

Важно: rmdir работает только с пустыми директориями. Для непустых используй rm -rf (осторожно!).

Окно терминала
touch file.txt # создать пустой файл
touch file1.txt file2.txt # создать несколько файлов
touch -t 202301010000 old.txt # создать с указанной датой

Если файл уже существует, touch обновляет его время последнего изменения.

СимволЗначение
~Домашняя директория (/home/user)
.Текущая директория
..Родительская директория
-Предыдущая директория

Нажми Tab для автодополнения пути или команды:

  • Одно нажатие — дополняет если вариант один
  • Два нажатия — показывает все варианты
Окно терминала
cd Doc<Tab> # → cd Documents/
ls /etc/hos<Tab> # → ls /etc/hosts
Окно терминала
# 1. Определи текущую директорию
pwd
# 2. Посмотри содержимое домашней директории
ls -la ~
# 3. Создай структуру проекта
mkdir -p ~/myproject/{src,dist,docs,tests}
ls ~/myproject/
# 4. Попрыгай между директориями
cd ~/myproject/src
pwd
cd ..
pwd
cd -
# 5. Создай несколько файлов
touch ~/myproject/README.md ~/myproject/src/index.js
# 6. Убедись что файлы созданы
ls -la ~/myproject/

Освоив эти команды, ты можешь летать по файловой системе как профи. Следующий шаг — работа с файлами!