Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti.

Absolutní a relativní názvy cest jsou dva způsoby, jak určit virtuální adresu adresáře nebo souboru v systému Linux. Jaký je však rozdíl mezi těmito dvěma typy cest a kterou byste měli použít ve svých příkazech? Pojďme to zjistit.

Relativní a absolutní cesty v Linuxu

Pokud jste někdy použili jakýkoli příkaz Linuxu založený na argumentech, jako je cd nebo ls, věděli byste, že existuje několik způsobů, jak zadat cestu k adresáři nebo souboru.

Můžete se buď raději držet normálních výrazů cesty, nebo, pokud jste pokročilý uživatel Linuxu, používat složité regulární výrazy k předání názvu souboru nebo adresáře programu. V každém případě existují pouze dva způsoby, jak zadat cestu k adresáři v systému Linux: absolutní cestu a relativní cestu.

Výrazy absolutní cesty

Absolutní cesta vždy začíná v kořenovém adresáři a končí ve skutečném adresáři nebo souboru, na který chcete ukázat. Při použití výrazu absolutní cesty musíte zadat všechny názvy podadresářů přítomné v hierarchii, které vedou ke konečnému umístění.

instagram viewer

Například pokud chcete ukázat na /myfolder/folder2 uvnitř /var/www adresář používající výraz absolutní cesty, použili byste:

/var/www/myfolder/folder2

...Kde / na začátku výrazu odkazuje na kořenový adresář v Linuxu.

Výrazy relativní cesty

Relativní cesta na druhé straně odkazuje na výraz cesty, který používá jinou cestu (obvykle aktuální pracovní adresář) jako svůj kořen nebo základ. Jak název napovídá, je „relativní“ k existující cestě ve vašem systému.

Například, pokud se právě nacházíte uvnitř /var/www adresář a je třeba na něj ukazovat /myfolder/folder2, použili byste:

./myfolder/folder2

...kde . označuje aktuální adresář, ve kterém se nacházíte. Aktuální pracovní adresář můžete změnit pomocí příkaz cd.

Kromě jediného období (.), výrazy relativní cesty také používají dvojité tečky (..) odkazovat na nadřazený adresář.

Představte si například, že jste uvnitř /www složka uvnitř následující adresářové struktury:

/var/www/myfolder/folder2

Ve výše uvedeném výrazu cesty . bude označovat /www adresář vzhledem k tomu .. bude ukazovat na /var adresář. Pokud existuje jiný adresář /random uvnitř /var ke kterému potřebujete mít přístup, když jste uvnitř /var/www, použili byste:

../náhodný

Tak jednoduché.

Absolutní vs. Relativní: Který výraz cesty je lepší?

Ačkoli se vám jako uživateli počítače mohou zdát výrazy cesty jednoduché a nedůležité, existují různé případy použití, kdy použití nesprávného názvu cesty může způsobit spoustu nevyžádaných nepříjemností. Dobrým příkladem jsou webové servery.

Jako webový vývojář pracující na projektu hostovaném na serveru Linux potřebujete přistupovat k souborům v adresáři projektu. Zde je standardní použití výrazů relativní cesty, protože jakákoli změna názvů podadresářů nebo názvu domény projektu může vést k přerušeným odkazům.

Můžete to pochopit na jednoduchém příkladu, se kterým by se uživatelé stolních počítačů mohli lépe orientovat. The / znak označuje kořenový adresář v systému Linux. Představte si, že to náhle změníte a uděláte / znakový bod do domovského adresáře. Mnoho vašich příkazů obsahujících výrazy absolutní cesty od té doby nebude fungovat / byl nyní přeřazen do jiného adresáře.

Další výhodou použití výrazů relativní cesty je, že vzhledem k tomu, že jsou relativní k aktuálnímu pracovnímu adresáři, šetří vám čas, který byste jinak strávili psaním nepotřebných znaků.

Jediným háček je zde složitost a křivka učení spojená s relativními výrazy. Ale to je také běžné ve výrazech absolutní cesty; Chcete-li se stát mistrem v používání absolutních cest, musíte se dobře orientovat v hierarchii adresářů Linuxu. Můžeš použít příkaz tree pro zobrazení celého stromu adresářů Linuxu a usnadněte si výrazy absolutní cesty.

Pochopení adresářové hierarchie Linuxu

Adresářová struktura Linuxu je společná pro všechny stroje s operačními systémy založenými na Linuxu. Chcete-li se dozvědět více o struktuře souborů a složek ve vašem počítači, můžete použít příkaz jako ls nebo tree.