Elérési út

fájl vagy könyvtár helyét meghatározó karaktersorozat

Az elérési út (angolul: path) egy fájl vagy könyvtár (mappa) helyét határozza meg a fájlrendszerben. Az elérési út bizonyos karakterrel elválasztott komponensekből áll, melyek közül az utolsó maga a fájl vagy mappa neve, a többi pedig meghatározza, hogy milyen könyvtárakon át navigálva található meg. Az elválasztó karakter operációs rendszertől függően általában a perjel ("/"), a fordított perjel ("\"), a kettőspont (":"), vagy ritkábban más karakter. Az elérési utakat az informatikában széles körben használják a modern operációs rendszerekben elterjedt könyvtár/fájl kapcsolatok képviseletére, valamint az URL-ek szerves tagjai. Megkülönböztetünk abszolút és relatív útvonalakat.

Abszolút és relatív útvonalak szerkesztés

Az abszolút elérési útvonal a fájlrendszeren belül mindig ugyanazt a helyet jelöli, az aktuális munkakönyvtártól függetlenül. Ezért a gyökérkönyvtárból indul, és a fájlig vezető összes könyvtár nevét tartalmazza.

Ezzel szemben a relatív elérési útvonal az aktuális könyvtárból indul, ezért különböző helyzetekben más állományokat jelölhet. Ennek következtében önmagában a fájlnév a fájlt tartalmazó könyvtárból induló relatív útvonalnak tekinthető.

Útvonalak ábrázolása operációs rendszer és shell szerint szerkesztés

Operációs rendszer Shell Gyökérkönyvtár Elválasztó karakter Aktuális munkakönyvtár Szülő könyvtár Felhasználó mappája Példák
UNIX-szerű

(pl. Linux és macOS)

Unix rendszerhéj / / . .. ~ /home/user/docs/Letter.txt
./inthisdir
../../greatgrandparent
~/.rcinfo
DOS COMMAND.COM [meghajtó betűjele:]\ vagy

\\[szerver neve]\[kötet]\
\ . .. C:\USER\DOCS\LETTER.TXT
A:PICTURE.JPG
\\SERVER01\USER\DOCS\LETTER.TXT
OS/2 cmd.exe [meghajtó betűjele:]\ vagy

\\[szerver neve]\[kötet]\
/ vagy \ . .. C:\user\docs\Letter.txt
A:Picture.jpg
\\SERVER01\USER\docs\Letter.txt
Microsoft

Windows
cmd.exe \ (a kötet gyökeréhez viszonyított)
vagy [meghajtó betűjele]:\
vagy \\[szerver]\[megosztás]\
vagy \\?\[drive_spec]:\
vagy \\?\[szerver]\[megosztás]\
vagy \\?\UNC\[szerver]\[megosztás]\
vagy \\.\[fizikai eszköz]\
/ vagy \ . ..[1] C:\user\docs\Letter.txt
/user/docs/Letter.txt
C:\Letter.txt
\\Server01\user\docs\Letter.txt
\\?\UNC\Server01\user\docs\Letter.txt
\\?\C:\user\docs\Letter.txt
C:\user\docs\somefile.ext:alternate stream name
./inthisdir
../../greatgrandparent
Windows PowerShell [meghatjó betújele:]/ vagy

[meghajtó neve:]\ vagy \\[szerver neve]\ vagy


[PSSnapIn]\[PSProvider:][:PSDrive]

/ vagy \ . .. ~ C:\user\docs\Letter.txt
C:\user/docs\Letter.txt
\\Server01\user\docs\Letter.txt
cd ~\Desktop

UserDocs:/Letter.txt Variable:PSVersionTable Registry::HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft.PowerShell.Security\Certificate::CurrentUser\

Classic

Mac OS
[meghajtó vagy kötet neve]: : : :: Macintosh HD:Documents:Letter
:fileincurrentdir
::fileinparent
:::fileingrandparent
AmigaOS Amiga CLI /

AmigaShell
[meghajtó, kötet, eszköz neve]: / ""

(üres sztring)
/ Workbench:Utilities/MultiView
DF0:S/Startup-Sequence
S:Startup-Sequence
TCP:en.wikipedia.com/80
RISC OS ShellCLI [fájlrendszer[#opció]:][:meghajtó száma vagy lemez jele.]$ . @ ^ & ADFS::MyDrive.$.Documents.Letter
Net#MainServer::DataDrive.$.Main.sy10823
LanMan::WindowsC.$.Pictures.Japan/gif
NFS:&.!Choices
ADFS:%.IfThere
@.inthisdir
^.^.greatgrandparent

Fájlkiterjesztéssel rendelkező fájlrendszerekben a pont (".") karakterek perjellé ("/") íródnak át, a fenti 'Japan.gif' példához hasonlóan.

Symbian OS File manager \ \ \user\docs\Letter.txt
MenuetOS CMD / /
CP/M CCP [meghajtó betűjele:] nincsenek könyvtárak, csak 16 felhasználői terület (0-F) A:LETTER.TXT

A Windows japán és koreai verzióiban gyakran a "¥" vagy a "₩" karakter jelenik meg az elválasztó karakter helyett. Az MS-DOS nagyon korai verziói a fordított perjel helyett ezeket jelenítették meg, hogy a csak 7-bites ASCII-t értő programokban lehessen mód ezeknek a szimbólumoknak az ábrázolására (más karakterek, például a szögletes zárójelek is kicserélődtek, lásd ISO 646, Windows 932. kódlap (japán Shift JIS) és 949. kódlap (koreai) ). Bár már a Windows első verziója is támogatta a 8 bites ISO-8859-1 karakterkészletet, amelyben a jen szimbólum kódpontja U+00A5, és a Windows modern verziói támogatják az Unicode-ot, amelyben a won jel kódpontja U+20A9, a visszafelé kompatibilitás megőrzése érdekében több szoftver most is így jeleníti meg az ASCII fájlokban talált perjeleket.[2]

Unix-szerű operációs rendszer lévén, a macOS Unix elérési útvonalakat használ. A Classic Mac OS-szel való kompatibilitás megőrzése érdekében a felhasználói felület több részén a beírt ":" karakterek "/" karakterekként kerülnek értelmezésre, és a fájlnevek megjelenítésekor visszaalakulnak.

Programozási nyelvekben szerkesztés

Programozásban is gyakran van szükség elérési útvonalakra, például fájlok megnyitásához. A legtöbb programozási nyelv az adott operációs rendszer ábrázolását használja:

FILE unix_file = fopen("project/readme.txt", "r");
FILE windows_file = fopen("C:\\Program Files\\bin\\config.bat", "r");

Az operációs rendszertől függő ábrázolás használata nehezítheti a szoftverek hordozhatóságát, ezért több magas szintű programozási nyelvben vannak külön eljárások elérési útvonalak kezelésére. Java nyelvben az operációs rendszerben használt elválasztó karakter a File.separator mezőben megtalálható. Más nyelvek platformtól függetlenül ugyanazt az egységes megjelenítést használják, és használatukkor automatikusan átalakítódnak a megfelelő formára (pl. a C:\Windows útvonal helyett a programozó /C/Windows-t ír).

Példa szerkesztés

Unix szerkesztés

A következő példa a Unix-szerű fájlrendszer viselkedését tárgyalja, ahogyan az egy terminálban vagy parancssori alkalmazásban látszik:

A következő munkakönyvtárt megnyitva (cwd):

/home/pista

A következő könyvtárba szeretnénk átváltani:

/home/pista/dokumentumok

A kívánt könyvtár relatív elérési útvonala most:

./dokumentumok

vagy röviden:

dokumentumok

és a könyvtár abszolút elérési útvonala:

/home/pista/dokumentumok

Ha a dokumentumok kívánt könyvtár relatív elérési útja, a parancssorba az alábbiak írhatók be, hogy az aktuális munkakönyvtár a dokumentumokra cserélődjön:

cd dokumentumok

A két pont ("..") a könyvtárhierarchiában felfelé mutat, azaz a szülő könyvtárra; az egy pont (".") magát az aktuális könyvtárat jelöli. Mindkettő egy összetett relatív útvonal összetevője lehet (pl. "../pista/./dokumentumok"), ahol a ". " önmagában vagy egy ilyen relatív út első komponenseként a munkakönyvtárat képviseli.

Az aktuális könyvtárban található programfájl futtatásához a legtöbb rendszeren annak nevét ./ karaktereknek kell megelőznie. Ez azért van, mert egy program neve beírása során ha elérési út nincs megadva, azt a $PATH környezeti változóban megadott könyvtárak egyikében keresi (általában ez a /bin, /sbin, /usr/bin és /usr/sbin útvonalakat tartalmazza, kettőspont karakterekkel elválasztva), és explicit jelölnünk kell, ha nem egy program nevét, hanem egy futtatható állomány elérési útját adtuk meg. Így tehát egy program fordítása során keletkező a.out futtatásához a ./a.out parancsot kell beírni.

Források szerkesztés

Fordítás szerkesztés

Ez a szócikk részben vagy egészben a Path (computing) című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

További információk szerkesztés