KirMol Wiki

Добро пожаловать в KirMol Wiki

Инструменты пользователя

Инструменты сайта


linux:the_difference_between_the_absolute_and_relative_path

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
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] (текущий) Кирилл Молчанов
Строка 7: Строка 7:
 ===== Что такое абсолютный путь ===== ===== Что такое абсолютный путь =====
  
-Абсолютный путь указывает полное расположение файла или каталога, начиная с корневого каталога /. Он всегда начинается со знака / и не зависит от того, где пользователь находится в данный момент в файловой системе. Благодаря этому абсолютные пути считаются наиболее надежным способом указания местоположения объектов:+Абсолютный путь указывает полное расположение файла или каталога, начиная с корневого каталога **/**. Он всегда начинается со знака / и не зависит от того, где пользователь находится в данный момент в файловой системе. Благодаря этому абсолютные пути считаются наиболее надежным способом указания местоположения объектов:
  
   * Независимо от текущего рабочего каталога, абсолютный путь всегда указывает на один и тот же ресурс. Например, **/etc/passwd** ссылается на один и тот же файл, будь Вы в папке **/home/kirill** или в **/var/log**.   * Независимо от текущего рабочего каталога, абсолютный путь всегда указывает на один и тот же ресурс. Например, **/etc/passwd** ссылается на один и тот же файл, будь Вы в папке **/home/kirill** или в **/var/log**.
Строка 21: Строка 21:
 Вывод в терминале: Вывод в терминале:
  
-{{ :linux:the-difference-between-the-absolute-and-relative_path-screan.jpg |}}+{{ :linux:the-difference-between-the-absolute-and-relative_path-screan-01.jpg |}}
  
 Аналогично, абсолютные пути применяются для перемещения файла из одного каталога в другой. Например: Аналогично, абсолютные пути применяются для перемещения файла из одного каталога в другой. Например:
Строка 43: Строка 43:
 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** из текущей директории нет.
  
linux/the_difference_between_the_absolute_and_relative_path.1789451684.txt.gz · Последнее изменение: Кирилл Молчанов