| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| linux:the_difference_between_the_absolute_and_relative_path [2026/09/15 05:54] – Кирилл Молчанов | linux:the_difference_between_the_absolute_and_relative_path [2026/09/15 10:37] (текущий) – Кирилл Молчанов |
|---|
| ===== Что такое абсолютный путь ===== | ===== Что такое абсолютный путь ===== |
| |
| Абсолютный путь указывает полное расположение файла или каталога, начиная с корневого каталога /. Он всегда начинается со знака / и не зависит от того, где пользователь находится в данный момент в файловой системе. Благодаря этому абсолютные пути считаются наиболее надежным способом указания местоположения объектов: | Абсолютный путь указывает полное расположение файла или каталога, начиная с корневого каталога **/**. Он всегда начинается со знака / и не зависит от того, где пользователь находится в данный момент в файловой системе. Благодаря этому абсолютные пути считаются наиболее надежным способом указания местоположения объектов: |
| |
| * Независимо от текущего рабочего каталога, абсолютный путь всегда указывает на один и тот же ресурс. Например, **/etc/passwd** ссылается на один и тот же файл, будь Вы в папке **/home/kirill** или в **/var/log**. | * Независимо от текущего рабочего каталога, абсолютный путь всегда указывает на один и тот же ресурс. Например, **/etc/passwd** ссылается на один и тот же файл, будь Вы в папке **/home/kirill** или в **/var/log**. |
| Вывод в терминале: | Вывод в терминале: |
| |
| {{ :linux:the-difference-between-the-absolute-and-relative_path-screan.jpg |}} | {{ :linux:the-difference-between-the-absolute-and-relative_path-screan-01.jpg |}} |
| |
| Аналогично, абсолютные пути применяются для перемещения файла из одного каталога в другой. Например: | Аналогично, абсолютные пути применяются для перемещения файла из одного каталога в другой. Например: |
| kirill@NEO-M136:/etc$ | kirill@NEO-M136:/etc$ |
| </code> | </code> |
| | |
| | ===== Что такое относительный путь ===== |
| | |
| | Относительный путь указывает расположение файла или каталога относительно текущего рабочего каталога. В отличие от абсолютного, он не начинается с **/** и зависит от того, где вы находитесь в данный момент. Ключевые особенности относительных путей: |
| | |
| | * Путь строится от текущего каталога. Например, **Документы/report.txt** будет означать разные файлы, если Вы находитесь в **/home/kirill** или **/var/log**. |
| | * Нет необходимости указывать полный путь от корня, если Вы уже находитесь в нужной ветке каталогов. |
| | * Особенно удобен для проектов и скриптов, которые расположены внутри одной структуры каталогов. |
| | |
| | Допустим, в текущем каталоге есть папка **Видео**. Чтобы в нее перейти, не обязательно писать абсолютный путь - можно воспользоваться относительным: |
| | |
| | <code bash> |
| | cd Видео |
| | </code> |
| | |
| | Вывод в терминале: |
| | |
| | {{ :linux:the-difference-between-the-absolute-and-relative_path-screan-02.jpg |}} |
| | |
| | В текущем рабочем каталоге есть каталог Документы, а в нем - файл file3.txt. Поскольку этот документ находится в той же ветке файловой системы, что и текущий каталог, можно использовать относительный путь для доступа к нему: |
| | |
| | <code bash> |
| | cat Документы/file3.txt |
| | </code> |
| | |
| | Вывод в терминале: |
| | |
| | {{ :linux:the-difference-between-the-absolute-and-relative_path-screan-03.jpg |}} |
| | |
| | Однако, если файл или каталог расположены в разных директориях, не связанных между собой, использовать относительный путь нельзя. Иначе команда может обратиться к другому объекту файловой системы или вызвать ошибку. |
| | |
| | |
| | Например, если мы находимся в домашнем каталоге **/home/kirill** и хотим перейти в системный каталог **etc**, попробуем применить относительный путь: |
| | |
| | <code bash> |
| | cd etc |
| | </code> |
| | |
| | Вывод в терминале: |
| | |
| | <code> |
| | bash: cd: etc: Нет такого файла или каталога |
| | </code> |
| | |
| | Как видите, команда выдаёт ошибку, так как прямого доступа к каталогу **/etc** из текущей директории нет. |
| |