Это старая версия документа!
Содержание
Разница между абсолютным и относительным путем
В Linux файлы и каталоги расположены в иерархической структуре, которая начинается с корневого каталога /. При работе с объектами файловой системы их местоположение можно указывать двумя способами: с помощью абсолютного или относительного пути.
Что такое абсолютный путь
Абсолютный путь указывает полное расположение файла или каталога, начиная с корневого каталога /. Он всегда начинается со знака / и не зависит от того, где пользователь находится в данный момент в файловой системе. Благодаря этому абсолютные пути считаются наиболее надежным способом указания местоположения объектов:
- Независимо от текущего рабочего каталога, абсолютный путь всегда указывает на один и тот же ресурс. Например, /etc/passwd ссылается на один и тот же файл, будь Вы в папке /home/kirill или в /var/log.
- Так как абсолютные пути не зависят от местоположения пользователя, они широко применяются в конфигурационных файлах, системных службах и скриптах, запускаемых автоматически.
- Доступ ко многим важным файлам Linux (например, /etc/hosts или /var/log/syslog) осуществляется именно через абсолютные пути - это гарантирует корректность работы команд в непредсказуемых средах.
Предположим, мы находимся в домашнем каталоге пользователя /home/kirill. Нам нужно просмотреть содержимое системного файла passwd, который находится в каталоге /etc. Поскольку файл находится в другой части файловой системы, удобнее использовать абсолютный путь к нему:
nano /etc/passwd
Вывод в терминале:
Аналогично, абсолютные пути применяются для перемещения файла из одного каталога в другой. Например:
mv /home/kirill/file.txt /etc
Абсолютные пути особенно часто используются, когда нужно перейти в каталог, находящийся в другой части файловой системы, вне зависимости от текущего рабочего каталога.
Допустим, мы находимся в домашнем каталоге пользователя /home/kirill, но хотим перейти в системный каталог /etc. Поскольку /etc находится в другой ветке файловой системы, следует использовать абсолютный путь:
cd /etc
Вывод в терминале:
kirill@NEO-M136:~$ cd /etc kirill@NEO-M136:/etc$
Что такое относительный путь
Относительный путь указывает расположение файла или каталога относительно текущего рабочего каталога. В отличие от абсолютного, он не начинается с / и зависит от того, где вы находитесь в данный момент. Ключевые особенности относительных путей:
- Путь строится от текущего каталога. Например, Документы/report.txt будет означать разные файлы, если Вы находитесь в /home/kirill или /var/log.
- Нет необходимости указывать полный путь от корня, если Вы уже находитесь в нужной ветке каталогов.
- Особенно удобен для проектов и скриптов, которые расположены внутри одной структуры каталогов.
Допустим, в текущем каталоге есть папка Видео. Чтобы в нее перейти, не обязательно писать абсолютный путь - можно воспользоваться относительным:
cd Видео
Вывод в терминале:
В текущем рабочем каталоге есть каталог Документы, а в нем - файл file3.txt. Поскольку этот документ находится в той же ветке файловой системы, что и текущий каталог, можно использовать относительный путь для доступа к нему:
cat Документы/file3.txt
Вывод в терминале:
Однако, если файл или папка расположены в разных директориях, не связанных между собой, использовать относительный путь нельзя. Иначе команда может обратиться к другому объекту файловой системы или вызвать ошибку.
Например, если мы находимся в домашнем каталоге /home/kirill и хотим перейти в системный каталог etc, попробуем применить относительный путь:
cd etc
Вывод в терминале:
bash: cd: etc: Нет такого файла или каталога
Как видите, команда выдаёт ошибку, так как прямого доступа к каталогу etc текущего каталога не существует.



