Относительный и абсолютный путь в Linux.Абсолютный путь в Linux: В чем разница?
Linux

Относительный и абсолютный путь в Linux.Абсолютный путь в Linux: В чем разница?

Запутались в том, какое выражение пути использовать – относительное или абсолютное – в своем следующем проекте? Начните с изучения разницы между ними

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

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

Если вы когда-либо использовали любую команду Linux, основанную на аргументах, такую как cd или ls, вы знаете, что существует несколько способов указать путь к каталогу или файлу

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

Выражения абсолютного пути

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

Например, если вы хотите указать на /myfolder/folder2 внутри каталога /var/www с помощью выражения абсолютного пути, вы используете:

/var/www/myfolder/folder2

где / в начале выражения обозначает корневой каталог в Linux

Выражения относительного пути

Относительный путь, с другой стороны, относится к выражению пути, которое использует другой путь (обычно текущий рабочий каталог) в качестве корня или базы. Как следует из названия, оно является ‘относительным’ по отношению к существующему пути в вашей системе

Например, если вы сейчас находитесь в каталоге /var/www и вам нужно указать путь к /myfolder/folder2, вы используете:

./myfolder/folder2

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

Кроме одинарного периода (.), в выражениях относительного пути также используются двойные периоды (.) для ссылки на родительский каталог

Например, предположим, что вы находитесь в папке /www в следующей структуре каталогов:

/var/www/myfolder/folder2

В приведенном выше выражении пути,.будет обозначать каталог /www, в то время как.будет указывать на каталог /var. Если внутри /var есть еще один каталог /random, к которому вам нужно получить доступ, находясь внутри /var/www, вы используете :

./random

Все просто

Абсолютное противRelative: Какое выражение пути лучше?

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

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

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

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

Единственная загвоздка здесь – сложность и кривая обучения, связанная с относительными выражениями. Но это также характерно и для выражений абсолютного пути; чтобы стать мастером в использовании абсолютных путей, вам нужно хорошо знать иерархию каталогов Linux. Вы можете использовать команду tree для просмотра всего дерева каталогов Linux и упростить для себя использование выражений абсолютного пути

Понимание иерархии каталогов Linux

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

Об авторе

Алексей Белоусов

Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

Комментировать

Оставить комментарий