Поиск по сайту:
Человек должен вмещать в себя по возможности все, плюс еще нечто (М. Горький).

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

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

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

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

 

Понимание абсолютного и относительного пути в Linux

Файловая система Linux — это все о файлах и каталогах — доступ к этим файлам или папкам осуществляется с помощью путей. Каждый путь начинается с корневого каталога, представленного косой чертой (/). Из корневого каталога вы можете получить разделители. Вы можете использовать относительный или абсолютный путь.

1. Абсолютный путь

Вы используете абсолютный путь, когда указываете путь к файлу или папке, начиная с корневого каталога. Этот путь начинается с корня (/), за которым следуют разделители к другим каталогам в середине, прежде чем вы достигнете целевого файла.

Чтобы понять абсолютный путь в Linux, давайте рассмотрим пример использования команды pwd.

andreyex@andreyex: $
andreyex@andreyex: $ pwd
/home/andreyex
andreyex@andreyex:

 

Вы заметите, что наш текущий путь в данном случае — /home/andreyex. Первая косая черта (/) обозначает корневой каталог. Все пользователи, созданные в системе Linux, сохраняются в домашнем каталоге. В данном случае имя нашего пользователя andreyex. Таким образом, этот абсолютный путь является домашним каталогом andreyex и содержит все остальные дочерние каталоги.

andreyex@andreyex: $ ls Desktop Downloads Pictures snap Documents Music Public
Videos
Templates wget-log
andreyex@andreyex: $

 

Читать  Как переименовать сессию в Tmux

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

$ ls /home/andreyex/Downloads/

 

andreyex@andreyex: $ ls Desktop Downloads Pictures snap
Videos
Documents Music Public Templates wget-log 
andreyex@andreyex: $ ls /home/andreyex/Downloads/
names.txt
andreyex@andreyex: $

 

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

 

2. Относительный путь

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

Например, ссылаясь на более ранний пример доступа к содержимому /Downloads, наша команда изменится следующим образом, если мы хотим использовать абсолютный путь:

$ ls Downloads/

 

wyey
lnuxhint@andreyex: $ ls /home/andreyex/Downloads/ names.txt
andreyex@andreyex: $ ls Downloads/
names.txt
andreyex@andreyex: $

 

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

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

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

Приведем пример.

Мы находимся в пути /home/andreyex/Downloads/names.

andreyex@andreyex:-/Downloads/names$
andreyex@andreyex: -/Downloads/names$ pwd
/home/andreyex/Downloads/names andreyex@andreyex:~/Downloads/names$

 

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

$ ls ../

 

andreyex@andreyex: -/Downloads/names$
andreyex@andreyex:-/Downloads/names$ pwd /home/andreyex/Downloads/names
andreyex@andreyex:-/Downloads/names$ ls .
files.txt names
andreyex@andreyex:~/Downloads/names$

 

Читать  Изменить группы в Linux с помощью команды groupmod

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

andreyex@andreyex:~/Downloads/names$ ls . files.txt names 
andreyex@andreyex:-/Downloads/names$ ls /home/andreyex/Downloads/ files.txt names 
andreyex@andreyex:~/Downloads/names$

 

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

andreyex@andreyex: -/Downloads/names $ 
andreyex@andreyex:-/Downloads/names$ ls …/…/ Desktop Downloads Pictures snap Videos Documents Music Public Templates wget-log 
andreyex@andreyex:~/Downloads/names$

 

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

andreyex@andreyex:-/Downloads$ 
andreyex@andreyex:-/Downloads$ ls
files.txt names
andreyex@andreyex:-/Downloads$ ls ./names/demo/ names.txt
andreyex@andreyex:-/Downloads$

 

Абсолютный путь против относительного пути

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

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

 

Заключение

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

Читать  Избавьтесь от проблем с сетевым подключением в SSH с помощью Mosh

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
AMD опубликовала новые драйверы для своих последних графических процессоров RDNA…

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: