Навигация и базовые команды файловой системы
Учимся перемещаться по папкам и управлять файлами из командной строки.
Путь — это адрес файла или папки в файловой системе; он бывает абсолютным (от корня
/) или относительным (от текущей папки).
Где я нахожусь и что вокруг
Три команды-ориентира: pwd показывает текущую папку, ls — её содержимое, cd — переход в другую папку.
pwd
ls -la
cd /var/log
cd ..
cd ~cd .. поднимается на уровень выше, cd ~ (или просто cd) ведёт в домашнюю папку, cd - возвращает в предыдущую.
Абсолютные и относительные пути
Абсолютный путь начинается с / и не зависит от того, где вы сейчас: /home/user/project. Относительный отсчитывается от текущей папки: project/src. Специальные обозначения: . — текущая папка, .. — родительская, ~ — домашняя.
| Запись | Значение |
/ | корень файловой системы |
~ | домашняя папка пользователя |
. | текущая папка |
.. | папка на уровень выше |
Создаём, копируем, удаляем
mkdir -p project/src
cp file.txt project/src/
mv project/src/file.txt project/main.txt
cat project/main.txt
rm project/main.txt
rm -r projectОпция -p у mkdir создаёт всю цепочку папок сразу и не ругается, если они уже есть. cp копирует, mv перемещает или переименовывает, rm удаляет, а rm -r удаляет папку со всем содержимым.
Как работает под капотом
В Linux всё — файл, и файловая система устроена как дерево с единственным корнем /. У каждого процесса (включая вашу оболочку) есть «текущая рабочая папка» — именно относительно неё считаются относительные пути. Команда cd меняет этот параметр у самой оболочки, поэтому cd — встроенная команда Bash, а не отдельная программа: внешняя программа не смогла бы поменять папку родителя.
Частые ошибки
- rm -rf без раздумий.
rm -rf /илиrm -rf $VAR/с пустой переменной может стереть систему. Всегда проверяйте путь дважды;rmв Bash не спрашивает подтверждения и не имеет «корзины». - Пробелы в именах.
cd Мои файлыуйдёт в папкуМои. Имена с пробелами берите в кавычки:cd "Мои файлы". - Путаница . и ~. Точка — текущая папка, тильда — домашняя; это разные места.
Итог
pwd,ls,cd— базовая навигация по дереву каталогов.- Пути бывают абсолютные (от
/) и относительные (от текущей папки). mkdir -p,cp,mv,rm -r— создание и управление файлами;rmнеобратим.