Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen.
Absolute en relatieve padnamen zijn twee manieren om het virtuele adres van een map of bestand op Linux te specificeren. Maar wat is het verschil tussen deze twee padtypen en welke moet u gebruiken in uw opdrachten? Dat zoeken we uit.
Relatieve en absolute paden in Linux
Als je ooit een op argumenten gebaseerd Linux-commando zoals cd of ls hebt gebruikt, zou je weten dat er meerdere manieren zijn om het pad naar een map of bestand op te geven.
Misschien houdt u liever vast aan normale padexpressies of, als u een gevorderde Linux-gebruiker bent, gebruikt u complexe reguliere expressies om een bestands- of directorynaam door te geven aan een programma. Hoe dan ook, er zijn slechts twee manieren om een directorypad op Linux op te geven: absoluut pad en relatief pad.
Absolute paduitdrukkingen
Een absoluut pad begint altijd bij de hoofdmap en eindigt bij de daadwerkelijke map of het bestand waarnaar u wilt verwijzen. Bij het gebruik van de absolute pad-expressie moet u alle submapnamen typen die aanwezig zijn in de hiërarchie die naar de uiteindelijke locatie leiden.
Bijvoorbeeld als je wilt wijzen /myfolder/folder2 binnen in de /var/www directory met behulp van absolute paduitdrukking, zou u gebruiken:
/var/www/myfolder/folder2
...waar de / aan het begin van de expressie verwijst naar de hoofdmap op Linux.
Relatieve paduitdrukkingen
Relatief pad daarentegen verwijst naar een padexpressie die een ander pad gebruikt (meestal de huidige werkdirectory) als root of basis. Zoals de naam al doet vermoeden, is het "relatief" ten opzichte van een bestaand pad op uw systeem.
Als u zich momenteel bijvoorbeeld in de /var/www directory en moet verwijzen naar /myfolder/folder2, zou je gebruiken:
./mijnmap/map2
...waar . geeft de huidige map aan waarin u zich bevindt. U kunt de huidige werkmap wijzigen met behulp van het cd-commando.
Afgezien van een enkele periode (.), gebruiken uitdrukkingen voor relatief pad ook dubbele punten (..) om naar de bovenliggende map te verwijzen.
Stel je bijvoorbeeld voor dat je in de /www map in de volgende mappenstructuur:
/var/www/myfolder/folder2
In de hierboven vermelde paduitdrukking, . zal duiden op de /www directory terwijl .. zal wijzen op de /var map. Als er een andere map is /random binnen /var waartoe u toegang moet hebben terwijl u binnen bent /var/www, zou je gebruiken:
../willekeurig
Simpel als dat.
Absoluut versus Relatief: welke padexpressie is beter?
Hoewel padexpressies misschien eenvoudig en onbelangrijk lijken voor u als desktopgebruiker, zijn er verschillende gevallen waarin het gebruik van de verkeerde padnaam tot veel ongevraagde ongemakken kan leiden. Webservers zijn een goed voorbeeld.
Als webontwikkelaar die aan een project werkt dat op een Linux-server wordt gehost, moet u toegang hebben tot bestanden in de projectdirectory. Hier is het gebruik van relatieve paduitdrukkingen de standaard, aangezien elke wijziging in de subdirectorynamen of de domeinnaam van het project kan leiden tot verbroken links.
U kunt dit begrijpen aan de hand van een eenvoudig voorbeeld waar desktopgebruikers zich misschien beter mee kunnen identificeren. De / karakter geeft de hoofdmap op een Linux-systeem aan. Stel je voor dat je dat ineens verandert en de / teken wijst naar de thuismap. Veel van uw opdrachten die uitdrukkingen voor het absolute pad bevatten, werken sindsdien niet meer / is nu opnieuw toegewezen aan een andere directory.
Een ander voordeel van het gebruik van uitdrukkingen voor een relatief pad is dat ze relatief zijn ten opzichte van de huidige werkdirectory, waardoor u tijd bespaart die u anders zou besteden aan het typen van onnodige tekens.
De enige vangst hier is de complexiteit en leercurve die gepaard gaat met relatieve uitdrukkingen. Maar dat is ook gebruikelijk in absolute paduitdrukkingen; om een meester te worden in het gebruik van absolute paden, moet je goed thuis zijn in de Linux-directoryhiërarchie. Je kunt gebruiken de tree-opdracht om de volledige Linux-directoryboom te bekijken en maak absolute paduitdrukkingen gemakkelijker voor jezelf.
De Linux Directory-hiërarchie begrijpen
De Linux-directorystructuur is gemeenschappelijk voor alle machines met op Linux gebaseerde besturingssystemen. U kunt een opdracht zoals ls of tree gebruiken om meer te weten te komen over hoe de bestanden en mappen op uw computer zijn gestructureerd.