Lesere som deg er med på å støtte MUO. Når du foretar et kjøp ved å bruke lenker på nettstedet vårt, kan vi tjene en tilknyttet provisjon.
Absolutte og relative banenavn er to måter å spesifisere den virtuelle adressen til en katalog eller fil på Linux. Men hva er forskjellen mellom disse to banetypene, og hvilken bør du bruke i kommandoene dine? La oss finne det ut.
Relative og absolutte stier i Linux
Hvis du noen gang har brukt en argumentbasert Linux-kommando som cd eller ls, vet du at det er flere måter å spesifisere banen til en katalog eller fil.
Du kan enten foretrekke å holde deg til normale baneuttrykk eller, hvis du er en avansert Linux-bruker, bruke komplekse regulære uttrykk for å sende et fil- eller katalognavn til et program. Uansett er det bare to måter å spesifisere en katalogbane på Linux: absolutt bane og relativ bane.
Absolutte veiuttrykk
En absolutt bane starter alltid fra rotkatalogen og slutter ved den faktiske katalogen eller filen du vil peke til. Mens du bruker absolutt baneuttrykk, må du skrive inn alle underkatalognavnene som er tilstede i hierarkiet som fører opp til den endelige plasseringen.
For eksempel hvis du vil peke på /myfolder/folder2 inne i /var/www katalog som bruker absolutt baneuttrykk, vil du bruke:
/var/www/myfolder/folder2
...hvor i / i begynnelsen av uttrykket refererer til rotkatalogen på Linux.
Relative baneuttrykk
Relativ bane, derimot, refererer til et baneuttrykk som bruker en annen bane (vanligvis den nåværende arbeidskatalogen) som rot eller base. Som navnet antyder, er den "relativ" til en eksisterende bane på systemet ditt.
For eksempel, hvis du for øyeblikket er inne i /var/www katalog og må peke på /myfolder/folder2, vil du bruke:
./minmappe/mappe2
...hvor . angir gjeldende katalog du er i. Du kan endre gjeldende arbeidskatalog ved å bruke cd-kommandoen.
Bortsett fra en enkelt periode (.), bruker relative baneuttrykk også doble perioder (..) for å referere til overordnet katalog.
Tenk for eksempel at du er inne i /www mappe inne i følgende katalogstruktur:
/var/www/myfolder/folder2
I det ovenfor angitte stiuttrykket, . vil betegne /www katalog mens .. vil peke på /var katalog. Hvis det er en annen katalog /random innsiden /var som du trenger tilgang til mens du er inne /var/www, vil du bruke:
../tilfeldig
Så enkelt som det.
Absolutt vs. Pårørende: Hvilket baneuttrykk er bedre?
Selv om baneuttrykk kan virke enkle og uviktige for deg som skrivebordsbruker, er det ulike brukstilfeller der bruk av feil banenavn kan føre til mange uønskede ulemper. Nettservere er et godt eksempel.
Som webutvikler som jobber med et prosjekt som er vert på en Linux-server, må du få tilgang til filer i prosjektkatalogen. Her er bruk av relative baneuttrykk standarden da enhver endring i underkatalognavnene eller domenenavnet til prosjektet kan føre til ødelagte koblinger.
Du kan forstå dette med et enkelt eksempel som skrivebordsbrukere kan forholde seg til bedre. De / tegnet angir rotkatalogen på et Linux-system. Tenk om du plutselig endrer det og gjør det / tegnpeker til hjemmekatalogen. Mange av kommandoene dine som inneholder absolutte baneuttrykk vil ikke fungere siden / har nå blitt tilordnet til en annen katalog.
En annen fordel med å bruke relative baneuttrykk er at siden de er i forhold til gjeldende arbeidskatalog, sparer det deg for tid du ellers ville brukt på å skrive ut unødvendige tegn.
Den eneste fangsten her er kompleksiteten og læringskurven knyttet til relative uttrykk. Men det er også vanlig i absolutte veiuttrykk; for å bli en mester i å bruke absolutte baner, må du være godt kjent med Linux-kataloghierarkiet. Du kan bruke trekommandoen for å vise hele Linux-katalogtreet og gjør absolutte veiuttrykk enklere for deg selv.
Forstå Linux-kataloghierarkiet
Linux-katalogstrukturen er felles for alle maskiner som kjører operativsystemer basert på Linux. Du kan bruke en kommando som ls eller tre for å lære mer om hvordan filene og mappene er strukturert på datamaskinen.