Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision.

Absoluta och relativa sökvägsnamn är två sätt att ange den virtuella adressen till en katalog eller fil på Linux. Men vad är skillnaden mellan dessa två vägtyper, och vilken ska du använda i dina kommandon? Låt oss ta reda på.

Relativa och absoluta vägar i Linux

Om du någonsin har använt något argumentbaserat Linux-kommando som cd eller ls, skulle du veta att det finns flera sätt att ange sökvägen till en katalog eller fil.

Du kanske antingen föredrar att hålla fast vid normala sökvägsuttryck eller, om du är en avancerad Linuxanvändare, använda komplexa reguljära uttryck för att skicka ett fil- eller katalognamn till ett program. Hur som helst, det finns bara två sätt att ange en katalogsökväg på Linux: absolut sökväg och relativ sökväg.

Absoluta väguttryck

En absolut sökväg börjar alltid från rotkatalogen och slutar vid den faktiska katalogen eller filen du vill peka på. När du använder absolut sökvägsuttryck måste du skriva alla underkatalognamn som finns i hierarkin som leder fram till den slutliga platsen.

instagram viewer

Till exempel om du vill peka på /myfolder/folder2 inuti /var/www katalog med absolut sökvägsuttryck, skulle du använda:

/var/www/myfolder/folder2

...där den / i början av uttrycket hänvisar till rotkatalogen på Linux.

Relativa väguttryck

Relativ sökväg, å andra sidan, hänvisar till ett sökvägsuttryck som använder en annan sökväg (vanligtvis den nuvarande arbetskatalogen) som sin rot eller bas. Som namnet antyder är den "relativ" till en befintlig sökväg på ditt system.

Till exempel, om du för närvarande är inne i /var/www katalog och behöver peka på /myfolder/folder2, skulle du använda:

./myfolder/folder2

...var . anger den aktuella katalogen du befinner dig i. Du kan ändra den nuvarande arbetskatalogen med cd-kommandot.

Förutom en enda period (.), använder relativa väguttryck också dubbla perioder (..) för att referera till den överordnade katalogen.

Tänk till exempel att du är inne i /www mapp i följande katalogstruktur:

/var/www/myfolder/folder2

I det ovan angivna väguttrycket, . kommer att beteckna /www katalog medan .. kommer att peka på /var katalog. Om det finns en annan katalog /random inuti /var som du behöver komma åt när du är inne /var/www, skulle du använda:

../slumpmässig

Så enkelt är det.

Absolut vs. Släkting: Vilket väguttryck är bättre?

Även om sökvägsuttryck kan verka enkla och oviktiga för dig som datoranvändare, finns det olika användningsfall där användning av fel sökvägsnamn kan resultera i många oönskade olägenheter. Webbservrar är ett bra exempel.

Som webbutvecklare som arbetar med ett projekt på en Linux-server måste du komma åt filer i projektkatalogen. Här är användning av relativa sökvägsuttryck standard eftersom varje ändring av underkatalognamnen eller domännamnet för projektet kan leda till trasiga länkar.

Du kan förstå detta med ett enkelt exempel som datoranvändare kan relatera till bättre. De / tecken anger rotkatalogen på ett Linux-system. Tänk om du plötsligt ändrar det och gör det / tecken pekar på hemkatalogen. Många av dina kommandon som innehåller absoluta sökvägsuttryck kommer inte att fungera sedan dess / har nu omtilldelats till en annan katalog.

En annan fördel med att använda relativa sökvägsuttryck är eftersom de är relativa till den aktuella arbetskatalogen, det sparar tid som du annars skulle spendera på att skriva ut onödiga tecken.

Den enda haken här är komplexiteten och inlärningskurvan förknippad med relativa uttryck. Men det är också vanligt i absoluta väguttryck; för att bli en mästare på att använda absoluta sökvägar måste du vara väl bevandrad i Linux-kataloghierarkin. Du kan använda kommandot träd för att visa hela Linux-katalogträdet och gör absoluta väguttryck lättare för dig själv.

Förstå Linux-kataloghierarkin

Linux-katalogstrukturen är gemensam för alla maskiner som kör operativsystem baserade på Linux. Du kan använda ett kommando som ls eller tree för att lära dig mer om hur filerna och mapparna är strukturerade på din dator.