Пути — как найти любой файл
В прошлом уроке мы выяснили: у каждого файла есть имя и место. Это место называется путь. Сейчас мы разберём, как пути устроены — потому что 80% времени в терминале ты будешь именно перемещаться между папками и говорить компьютеру: «вот этот файл, вон там».
Корень и абсолютные пути
Самое верхнее место в файловой системе называется корень и обозначается одним символом /. От него ветвятся все папки и файлы. Путь, который начинается с /, называется абсолютным — он однозначно указывает на файл, откуда бы ты ни смотрел.
/home/student/docs/todo.txt
Читай слева направо: корень → папка home → папка student → папка docs → файл todo.txt. Это «полный адрес», как индекс города + улица + дом + квартира.
Дерево, по которому будут идти пути
Один и тот же файл `todo.txt` живёт по пути `/home/student/docs/todo.txt`.
Относительные пути и где ты сейчас
В терминале ты всегда «находишься» в какой-то папке — она называется рабочая директория (current working directory, cwd). Команда pwd («print working directory») всегда показывает, где ты.
Если ты уже в папке /home/student, не обязательно каждый раз писать полный путь. Можно написать просто docs/todo.txt — это относительный путь. Он отсчитывается не от корня, а от текущей папки.
Относительный или абсолютный?
Ты находишься в `/home/student`. Какой из путей точно ведёт к файлу `docs/notes.txt` (с точки зрения текущей папки)?
Две специальные точки: . и ..
В каждой папке есть две невидимые ссылки:
.— «текущая папка». Кажется бесполезной, но пригождается командам:./scriptозначает «запусти скрипт из текущей папки»...— «папка на уровень выше». Это способ выйти наружу. Если ты в/home/student/docs, то..приведёт в/home/student.
Эти две точки можно комбинировать. Например, ../photos/selfie.jpg из папки docs означает: «поднимись на уровень выше, оттуда зайди в photos, вот файл».
Собери путь к selfie.jpg, находясь в /home/student/docs
Цель — `/home/student/photos/selfie.jpg`. У тебя в дереве `docs` и `photos` лежат рядом. Используй `..` чтобы выйти, потом войди в `photos`.
Тильда: дорога домой
У каждого пользователя есть своя домашняя папка — обычно /home/<имя>. Чтобы каждый раз не печатать полный путь, есть сокращение: ~ (тильда). Оно автоматически разворачивается в путь к твоей домашке.
~→/home/student~/docs→/home/student/docscd ~или простоcdбез аргументов → вернуться домой
Соедини запись и значение
Ты сидишь в `/home/student/docs`. Что во что превратится?
Попробуй в терминале
Тебя ждёт мини-задание: переходить между папками и убедиться, что pwd показывает то, что ты ожидаешь.
Итог
Запомни
- 1Абсолютный путь начинается с `/` и указывает на файл однозначно — независимо от того, где ты сейчас.
- 2Относительный путь не начинается с `/` и отсчитывается от твоей текущей папки. `pwd` всегда покажет, где ты.
- 3`.` — текущая папка, `..` — на уровень выше. Их можно комбинировать: `../../foo` поднимется на два уровня.
- 4`~` — твоя домашняя папка. `cd` без аргументов — туда же.
- 5В реальной работе ты будешь переключаться между этими записями десятки раз в день — это войдёт в моторику быстро.