Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор.

Имената на абсолютни и относителни пътища са два начина за указване на виртуалния адрес на директория или файл в Linux. Но каква е разликата между тези два типа пътища и кой трябва да използвате в командите си? Нека разберем.

Относителни и абсолютни пътища в Linux

Ако някога сте използвали базирана на аргументи Linux команда като cd или ls, ще знаете, че има множество начини да посочите пътя към директория или файл.

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

Изрази на абсолютен път

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

instagram viewer

Например, ако искате да посочите /myfolder/folder2 вътре в /var/www директория, използваща израз за абсолютен път, бихте използвали:

/вар/www/myfolder/folder2

...където / в началото на израза се отнася до основната директория на Linux.

Изрази на относителни пътища

Относителният път, от друга страна, се отнася до израз на път, който използва друг път (обикновено текущата работна директория) като свой корен или основа. Както подсказва името, той е „относителен“ на съществуващ път във вашата система.

Например, ако в момента сте вътре в /var/www директория и трябва да сочи към /myfolder/folder2, бихте използвали:

./myfolder/folder2

...където . обозначава текущата директория, в която се намирате. Можете да промените настоящата работна директория, като използвате командата cd.

Освен един период (.), изразите за относителни пътища също използват двойни точки (..), за да препратите към родителската директория.

Например, помислете, че сте вътре в /www папка в следната структура на директория:

/вар/www/myfolder/folder2

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

../случаен

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

Абсолютно vs. Относително: Кой израз на пътя е по-добър?

Въпреки че изразите на пътя може да изглеждат прости и маловажни за вас като потребител на настолен компютър, има различни случаи на употреба, при които използването на грешно име на път може да доведе до много нежелани неудобства. Уеб сървърите са добър пример.

Като уеб разработчик, работещ по проект, хостван на Linux сървър, трябва да имате достъп до файлове в директорията на проекта. Тук използването на изрази за относителен път е стандарт, тъй като всяка промяна в имената на поддиректорията или името на домейна на проекта може да доведе до повредени връзки.

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

Друго предимство на използването на изрази за относителен път е, че тъй като те са относителни към текущата работна директория, ви спестява време, което иначе бихте прекарали във въвеждане на ненужни знаци.

Единствената уловка тук е сложността и кривата на обучение, свързани с относителните изрази. Но това също е често срещано в изразите на абсолютни пътища; за да станете майстор в използването на абсолютни пътища, трябва да сте добре запознати с йерархията на директориите на Linux. Можеш да използваш командата дърво, за да видите цялото дърво на директориите на Linux и улеснете изразите на абсолютния път за себе си.

Разбиране на йерархията на директориите на Linux

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