Основы навигации и операции с файлами и директориями
Основы навигации и операции с файлами и директориями
Добро пожаловать в курс «Основы работы в Linux». Мы начинаем с фундамента — понимания того, как устроена файловая система и как в ней перемещаться. Без этих навыков работа в терминале невозможна.
Файловая система Linux: Дерево, а не лес
В отличие от Windows, где у вас могут быть диски C:, D: и E:, в Linux существует единая иерархическая структура. Всё начинается с корня (root), который обозначается одним символом слэша: /.
Все файлы, папки, подключенные флешки и даже драйверы устройств находятся внутри этого единственного корня. Это напоминает перевернутое дерево, где корень наверху, а ветви (директории) расходятся вниз.
Ключевые директории, которые вам нужно знать:
/— Корневая директория. Начало всех начал./home— Здесь хранятся личные папки пользователей (аналогC:\Users)./binи/usr/bin— Здесь лежат программы и команды, которые мы будем запускать./etc— Хранилище конфигурационных файлов (настроек системы).
Навигация: Где я и куда иду?
Когда вы открываете терминал, вы всегда находитесь в какой-то директории. Чтобы не потеряться, используйте «компас».
pwd — Где я сейчас?
Команда pwd (print working directory) показывает полный путь к текущей папке.
pwd
Вывод может быть таким:
/home/user/projects
Это означает, что вы находитесь в папке projects, которая лежит в user, которая, в свою очередь, находится в home, растущей из корня /.
ls — Что вокруг меня?
Команда ls (list) показывает содержимое текущей директории.
ls
Однако часто нам нужно больше информации. Для этого используются флаги (параметры, начинающиеся с дефиса):
ls -l— Вывод в виде списка (long). Показывает права доступа, владельца, размер и дату изменения.ls -a— Показывает все файлы, включая скрытые. В Linux скрытым считается любой файл, имя которого начинается с точки (например,.bashrc).ls -la— Комбинация флагов: список всех файлов, включая скрытые.
Если у вас нет большого опыта работы с системами Linux, вы можете быть очень удивлены возможностями управления операционной системой из командной строки. timeweb.cloud
cd — Телепорт
Команда cd (change directory) перемещает вас между папками. Здесь важно понимать разницу между абсолютным и относительным путём.
- Абсолютный путь всегда начинается с
/. Это полный адрес от корня.cd /home/user/Downloads— перенесёт вас в загрузки, где бы вы ни находились.
- Относительный путь начинается с имени папки. Это путь от вашего текущего положения.
- Если вы уже в
/home/user, то командаcd Downloadsсработает так же.
- Если вы уже в
Специальные символы для навигации:
cd ..— Подняться на уровень выше (в родительскую папку).cd ~(тильда) или простоcd— Вернуться в домашнюю директорию пользователя.cd -— Вернуться в предыдущую папку, где вы были до последнего перехода (как кнопка «Назад» в браузере).
Создание файлов и директорий
Теперь, когда мы умеем ходить, научимся строить.
mkdir — Создание папок
Команда mkdir (make directory) создает новую директорию.
mkdir my_folder
Если вам нужно создать структуру вложенных папок (например, год, внутри месяц, внутри день), используйте флаг -p:
mkdir -p 2023/December/Report
Без флага -p система выдаст ошибку, если папки 2023 ещё не существует.
touch — Создание файлов
Команда touch изначально предназначена для смены времени последнего доступа к файлу, но если файла не существует, она создает пустой файл.
touch notes.txt
Операции с файлами: Копирование, Перемещение, Удаление
Это самые частые действия при работе с данными. Будьте внимательны: в командной строке Linux нет корзины. Удаленные файлы восстановить крайне сложно.
cp — Копирование
Синтаксис прост: cp [что_копируем] [куда_копируем].
cp report.txt report_backup.txt
Эта команда создаст копию файла report.txt с новым именем.
Важно: Чтобы скопировать папку со всем содержимым, обязателен флаг -r (recursive — рекурсивно).
cp -r my_folder my_folder_backup
mv — Перемещение и переименование
В Linux перемещение и переименование — это одна и та же операция. Команда mv (move) делает и то, и другое.
Перемещение:
mv file.txt /home/user/Documents/
(Файл file.txt улетит в папку Documents).
Переименование:
mv old_name.txt new_name.txt
(Файл останется там же, но сменит имя).
rm — Удаление
Самая опасная команда. rm (remove) удаляет файлы.
rm file.txt— удалит один файл.rm -r folder_name— удалит папку и всё, что внутри неё.
Для удаления пустых каталогов используйте приложение
rmdir. crafted.su
Команда rmdir безопаснее, так как она откажется удалять папку, если в ней есть хоть один файл. Однако на практике чаще используют rm -r для удаления папок с контентом.
Просмотр содержимого файлов
Вам не всегда нужно открывать полноценный редактор, чтобы узнать, что внутри файла (особенно если это логи или конфиги).
cat — Всё и сразу
Выводит всё содержимое файла на экран.
cat config.txt
Если файл огромный, он промелькнет перед глазами и заполнит терминал. Используйте cat только для небольших файлов.
less — Постраничный просмотр
Идеально для чтения длинных логов.
less /var/log/syslog
Вы можете листать текст стрелками вверх/вниз. Чтобы выйти, нажмите клавишу q.
head и tail — Вершки и корешки
head file.txt— покажет первые 10 строк файла.tail file.txt— покажет последние 10 строк файла.
Это крайне полезно при работе с логами, когда вам нужно увидеть только самые свежие записи в конце файла.
Итоги
Мы разобрали базовый набор инструментов для выживания в консоли Linux. Вот краткое резюме:
- Навигация:
pwdпоказывает, где вы;lsпоказывает, что рядом;cdперемещает вас. - Пути: Абсолютные пути начинаются с
/, относительные — от текущей папки...— это шаг назад. - Создание:
mkdirдля папок,touchдля файлов. - Управление:
cpкопирует (нужен-rдля папок),mvперемещает и переименовывает,rmудаляет (навсегда!). - Чтение:
catдля маленьких текстов,lessдля больших,tailдля просмотра конца файла.