Такие читатели, как вы, помогают поддерживать MUO. Когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию.

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

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

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

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

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

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

instagram viewer

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

/вар/www/myfolder/folder2

...где / в начале выражения относится к корневому каталогу в Linux.

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

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

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

./моя папка/папка2

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

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

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

/вар/www/myfolder/folder2

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

../случайный

Просто как тот.

Абсолют против. Относительный: какое выражение пути лучше?

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

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

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

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

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

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

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