img

Абсолютный и относительный путь: что это такое?

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

 

Введение

Абсолютные и относительные пути определяют расположение файла или каталога в файловой системе. Это набор инструкций для ОС по поиску того или иного элемента. Понимание того, как использовать пути, поможет как обычным, так и опытным пользователям. 

В этой статье мы рассмотрим, чем отличается абсолютный путь от относительного, и посмотрим, как их найти и создать в своей системе.

Что такое пути? 

Пути в компьютерной системе – это иерархический способ указания места, где располагается файл или каталог. Пути имеют ключевое значение для операционной системы, так как с их помощью она может находить файлы и каталоги, а также получать к ним доступ.

Существует два типа путей:

  • Абсолютный путь. Полный и точный путь к файлу или каталогу из корневого каталога системы.
  • Относительный путь. Расположение файла или каталога относительно текущего рабочего каталога.

То, какой путь выбрать, зависит от конкретной задачи и потребности в переносимости в данной ситуации. В следующих разделах мы подробно рассмотрим оба пути и приведем примеры.

Что такое абсолютный путь?

Абсолютный путь – это расположение файла или каталога, которое указывается, начиная с корневого каталога. Это полный путь от начала файловой системы. 

Абсолютный путь всегда начинается с жесткого диска или какого-либо другого устройства хранения и описывает каждый шаг, который должен сделать пользователь, перемещаясь по файловой системе, чтобы оказаться в указанном месте. Абсолютные пути точны и просты для понимания. Их следует использовать тогда, когда вам нужно точно указать местоположение файла или каталога независимо от вашего текущего рабочего каталога.

Однако с абсолютными путями может быть неудобно работать, особенно если вы работаете с глубоко вложенными каталогами. 

Пример абсолютного пути

Абсолютный путь может записываться по-разному. Это зависит от операционной системы. Любой абсолютный путь начинается с корневого каталога. В Unix-подобных ОС он записывается в виде слеша (/), а в Windows – в виде буквы диска и обратного слеша (например, С:\).

Вот пример абсолютного пути в Linux:

/home/user/documents/file.txt

А вот так выглядит абсолютный путь в Windows:

C:\Users\User\Documents\file.txt

И тот, и другой путь начинается с диска или корневого каталога и ведет к файлу под названием file.txt. Но при этом каждая ОС использует свой собственный способ указания пути.

Что такое относительный путь?

Относительный путь – это расположение файла или каталога относительно вашего текущего рабочего каталога. В отличие от абсолютного, относительный путь не начинается со слеша или буквы диска, так как он не начинается с корневого каталога. 

Относительные пути упрощают работу с файлами, минимизируя количество вводимого текста для указания пути к файлу или каталогу. Относительный путь используется в тех случаях, когда вы ссылаетесь на файл или каталог только по его имени. Это самая простая форма относительного пути. В данном случае оболочка будет искать файл с указанным именем в текущем каталоге.

Относительные пути способны адаптироваться к изменениям в текущем рабочем каталоге, что делает из удобными для написания сценариев, разработки и управления файлами в пределах ограниченной области.

Этот путь также может принимать точки входа. Таким образом, пользователи могут указывать относительные пути к файлам, которые расположены ближе к корневому каталогу. Например, 

  • Символ .. говорит о том, что файл расположен в родительском каталоге
  • Символ . говорит о том, что файл расположен в текущем каталоге

Для всех остальных файлов, которые расположены еще ближе к корневому каталогу, уже нужно использовать абсолютный путь.

Пример относительного пути

Относительный путь записывается по-разному в зависимости от ОС. Например, в Linux для разделения каталогов используется слеш (/), а в Windows – обратный слеш (\).

Linux

Если ваш текущий рабочий каталог – это /home/user/documents, и вы хотите обратиться к файлу с именем file.txt, который находится в этом каталоге, относительный путь будет выглядеть вот так:

file.txt

Система будет искать указанный файл в текущем рабочем каталоге.

Аналогично, чтобы обратиться к файлу с именем report.txt, который расположен в подкаталоге report текущего каталога, нужно записать следующий относительный путь:

./reports/report.txt

Путь указывает ОС, что искать файл report.txt нужно в каталоге report текущего рабочего каталога.

Windows

Если в данный момент вы находитесь в каталоге C:\Users\John\Documents и хотите обратиться к файлу с именем document.txt, который расположен в текущем каталоге, то запишите следующий относительный путь:

.\document.txt

Этот путь указывает Windows, что искать файл document.txt необходимо в текущем рабочем каталоге, то есть C:\Users\John\Documents. Символ точки (.) обозначает текущий каталог. 

Если вы хотите обратиться к файлу invoice.pdf, который расположен в подкаталоге invoices текущего каталога, относительный путь будет выглядеть вот так:

.\invoices\invoice.pdf

Путь указывает системе, что искать файл invoice.pdf необходимо в каталоге invoices текущего рабочего каталога. Здесь символ обратного слеша (\) разделяет каталоги.

Абсолютные и относительные пути в Windows

Если речь идет о Windows, здесь для разделения каталогов в абсолютных и относительных путях используется обратный слеш (\). Абсолютный путь здесь начинается с буквы диска, двоеточий и обратного слеша (например, С:\).

Как найти абсолютный путь в Windows

Существует несколько способов, как можно найти абсолютный путь к файлу или каталогу в Windows. Самые популярные способы перечислены ниже.

Проводник (File Explorer)

1. Нажмите клавишу Windows и введите «Проводник». Откройте приложение, нажав Enter.

Opening the file explorer in Windows.

2. Перейдите туда, где расположен файл или каталог, абсолютный путь которого вы хотите найти.

3. После того, как вы окажетесь там, нажмите на адресную строку. Здесь отображается полный путь к текущему местоположению. Это и есть абсолютный путь:

Getting the absolute path in Windows explorer.

4. Или вы можете щелкнуть правой кнопкой мыши на файл, для которого хотите найти абсолютный путь, и выбрать «Свойства» (Properties).

Obtaining a file's properties to see its absolute path in Windows.

Окно свойств содержит расположение файла, то есть его абсолютный путь:

Checking a file's absolute path in Windows.

Командная строка (Command prompt)

1. Нажмите клавишу Windows и введите «Командная строка». Откройте приложение, нажав Enter.

Opening the command prompt.

2. Воспользуйтесь командой cd, чтобы перейти к каталогу, где содержится файл или каталог, для которого вы хотите найти абсолютный путь. 

3. После того, как вы окажетесь там, запустите команду cd без аргументов. Отобразится абсолютный путь текущего каталога:

cd

Getting the absolute path using the Command Prompt.

PowerShell

1. Нажмите клавишу Windows и введите «PowerShell». Откройте приложение, нажав Enter.

Opening Windows PowerShell.

2. Воспользуйтесь командой cd (Change-Location), чтобы перейти к каталогу, где содержится файл или каталог.

3. После того, как вы окажетесь в нужном каталоге, запустите командлет Get-Location, чтобы отобразить абсолютный путь текущего каталога.

Getting the absolute path using Windows PowerShell.

Абсолютные и относительные пути в Linux

Если речь идет о Linux, то здесь для разделения каталогов в абсолютных и относительных путях используются слеши (/). Любой абсолютный путь здесь начинается с корневого каталога (/). 

Ниже приведены инструкции, как найти абсолютный путь в Linux.

Как найти абсолютный путь в Linux

Существует несколько способов, как можно найти абсолютный путь к файлу или каталогу в Linux. Ниже приведены самые популярные.

Команда pwd

1. Откройте терминал, нажав Ctrl+Alt+T.

2. Воспользуйтесь командой cd, чтобы перейти в каталог, где содержится файл или каталог, для которого вы хотите найти абсолютный путь.

3. Запустите команду pwd (print working directory). Отобразится абсолютный путь текущего каталога. 

pwd

Printing the working directory in Linux.

Команда realpath

1. Откройте терминал.

2. Воспользуйтесь следующим синтаксисом, чтобы определить абсолютный путь к файлу или каталогу, пусть даже это символическая ссылка или относительный путь:

realpath [/path/to/file]

Например, 

Resolving a relative path in Linux.

Графический пользовательский интерфейс

Чтобы найти абсолютный путь файла в Linux вам понадобиться Проводник.

1. Найдите в Файлах (Files) тот файл, абсолютный путь которого вы хотите найти.

2. Щелкните по нему правой кнопкой мыши и выберите «Свойства» (Properties).

Viewing file properties in Linux GUI.

3. В окне свойств найдите строку «Корневая папка» (Parent folder), где и указан абсолютный путь к родительскому каталогу файла.

Obtaining a file's absolute path using GUI in Linux.

Как создать относительный путь?

Путь файла также можно использовать для обращения к внешним файлам, например, веб-страницам, изображениям, таблицам стилей и т.д. Такие пути описывают расположение файла в структуре папок веб-сайта.

Абсолютные пути к файлам (полный URL-адрес) используют теги HTML, например, <a> и <img>, и это логично, так как он указывает на URL-адрес файла в Интернете. А вот относительные пути указывают на файл относительно текущей страницы. Относительные пути начинаются с ./. Далее следует путь к локальному файлу.

Чтобы создать ссылку на файл в Интернете с помощью относительного пути, выполните следующее:

Шаг 1. Убедитесь, что файл, на который вы хотите создать ссылку, и HTML-файл, с которым вы работаете, находятся на одном сервере. Неважно, разрабатываете ли вы веб-сайт онлайн или локально, файл, на который вы хотите создать ссылку, должен быть доступен.

Шаг 2. Чтобы создать относительный путь, путь к файлу должен быть записан относительно каталога, где расположен HTML-файл, с которым вы работаете. Представим, что вы хотите создать ссылку на файл с именем example.jpg, который располагается на текущей странице, а ваш локальный HTML-файл находится в каталоге web-development.

Шаг 3. Если относительно вашего HTML-файла файл example.jpg находится в подкаталоге images, то используйте символ ../, чтобы переместиться на один уровень каталога вверх. А затем укажите каталог images. В результате получится вот такой относительный путь:

<a href="../images/example.jpg"><img src="../images/example.jpg"></a>

В данном примере символ ../ указывает на переход на один уровень каталога вверх и последующее обращение к каталогу images с целью получить доступ к нужному файлу.

Добавив относительный путь в HTML, вы можете получить доступ к указанному файлу напрямую без необходимости указывать абсолютный путь, который включает все каталоги, ведущие к файлу. Преимущество использования относительных путей в HTML заключается в том, что вы можете без каких-либо проблем изменять имена доменов. Кроме того, вы можете спокойно перемещать каталоги, так как это никак не повлияет на относительный путь.

Заключение

В этой статье мы выяснили, чем отличается абсолютный путь от относительного, а также продемонстрировали, как можно найти абсолютный путь к файлу или каталогу в Linux и Windows с помощью графического пользовательского интерфейса или командной строки. Кроме того, мы рассмотрели, как можно создать относительный путь, ведущий к URL-адресу файла в Интернете. 

Пути файлов – и абсолютные, и относительные, нужны для управления файлами, перемещения между ними и обращения к ним посредством сценариев. Они используются в самых различных ситуациях для эффективного взаимодействия и организации файлов и каталогов.

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Fail2ban — это программное обеспечение, которое защищает ваш сервер от атак. ПО отслеживает журналы сервера и выявляет любую под
img
Виртуализация серверов — популярная тема в мире ИТ, особенно на уровне предприятий. Она позволяет разным операционным системам з
img
  Введение Системные вызовы выступают в роли посредников между приложениями и ядром. Они создают уровень абстракции, который защ
img
  Введение SWAP (SWAP-память или SWAP-пространство) – это раздел жесткого диска или SSD компьютера, где операционная система (ОС
img
  Введение Абсолютные и относительные пути определяют расположение файла или каталога в файловой системе. Это набор инструкций д
img
  Введение Файлы конфигурации Linux определяют поведение и функциональное наполнение операционной системы. Файлы конфигурации –
21 ноября
20:00
Бесплатный вебинар
Введение в Docker