Pracovní adresář

adresář právě používaný běžícím procesem

Pracovní adresář (též aktuální adresář, anglicky working directory) je v informatice označení pro adresář, vůči kterému je vztažena relativní cesta k souboru nebo adresáři. Pracovní adresář je vlastnost každého procesu a je evidován jádrem operačního systému a jeho použití je zahrnuto v některých knihovních funkcích a systémových voláních. Z větší části však použití pracovního adresáře závisí na tom, jak je příslušný program naprogramován.

Pro výpis aktuálního pracovního adresáře lze v UN*Xových systémech použít příkaz pwd, v Microsoft Windows příkaz cd.

Charakteristika editovat

V unixových systémech lze předpokládat, že proces s pracovním adresářem /kralici, který žádá o vytvoření souboru priklad.txt, založí soubor /kralici/priklad.txt. V grafickém uživatelském prostředí (v Microsoft Windows nebo v jazyce Java) naopak není zvykem, že by bylo nastavení pracovního adresáře při startu příslušného programu respektováno a dále ve vlastním programu využíváno – program si například sám pamatuje, ve kterém adresáři naposledy uživatel pracoval nebo je přednostně nastavena specifická složka (Obrázky, Dokumenty a podobně).

Operační systémy editovat

V nejběžnějších souborových systémech má každý adresář položku, která odkazuje na sebe, tedy . (tečka). V příkazových řádcích operačních systémů DOS a UNIX, jako například interpretech cmd.exe nebo PowerShell, může být pracovní adresář změněn použitím příkazů cd nebo chdir. V unixových systémech příkaz pwd ukazuje plnou cestu k aktuálnímu pracovnímu adresáři; ekvivalent tohoto příkazu je v DOSu příkaz cd bez argumentů (oproti tomu cd bez argumentů v Unixu mění pracovní adresář na domovský). Systémové proměnné PWD v Unixu nebo CD ve Windows a v DOSu jsou také použitelné ve skriptech, proto není nutné použít externí program. V zástupcích souborů ve Windows může být určen specifický pracovní adresář.

Programovací jazyky editovat

Většina programovacích jazyků poskytuje rozhraní pro funkce operačních systémů, tedy i pro změnu pracovního adresáře programu. POSIXová funkce chdir() z jazyka C zapříčiní systémové volání měnící pracovní adresář. Její argument je textový řetězec obsahující cestu k novému adresáři, který se má stát pracovním. Je možná jak absolutní cesta, tak relativní cesta k tomu starému. I v dalších programovacích jazycích je tato funkce přítomna. Ve Visual Basicu je to CHDIR(). V PHP chdir() očekává v parametru název nového adresáře a vracející hodnotu typu bool značící, zda byl aktuální pracovní adresář změněn. Na rozdíl od Windows API nebo POSIX jazyka C, programovací jazyk Java ani Java Virtual Machine nepodporují chdir() přímo, přičemž požadavek na změnu zůstal otevřen více než deset let, ale v roce 2008 byla žádost zamítnuta poté, co byla zavedena pouze omezená podpora (java.lang.Runtime a později java.lang.ProcessBuilder).

Související články editovat