Такие читатели, как вы, помогают поддерживать MUO. Когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию.
Абсолютные и относительные пути — это два способа указать виртуальный адрес каталога или файла в Linux. Но в чем разница между этими двумя типами путей и какой из них следует использовать в ваших командах? Давай выясним.
Относительные и абсолютные пути в Linux
Если вы когда-либо использовали какую-либо команду Linux, основанную на аргументах, такую как cd или ls, вы должны знать, что существует несколько способов указать путь к каталогу или файлу.
Вы можете либо предпочесть придерживаться обычных выражений пути, либо, если вы опытный пользователь Linux, использовать сложные регулярные выражения для передачи имени файла или каталога в программу. В любом случае, в Linux есть только два способа указать путь к каталогу: абсолютный путь и относительный путь.
Выражения абсолютного пути
Абсолютный путь всегда начинается с корневого каталога и заканчивается фактическим каталогом или файлом, на который вы хотите указать. При использовании выражения абсолютного пути вам необходимо ввести все имена подкаталогов, присутствующих внутри иерархии, которые ведут к конечному местоположению.
Например, если вы хотите указать на /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, чтобы узнать больше о структуре файлов и папок на вашем компьютере.