Pređi na sadržaj

Radni direktorijum

S Vikipedije, slobodne enciklopedije

U računarstvu, radni direktorijum (engl. working directory) procesa jeste direktorijum hijerarhijskog fajl sistema (puna adresa u fajl sistemu). Ako postoji,[nb 1] dinamički je povezan sa svakim procesom. Ponekad se naziva i trenutni radni direktorijum (engl. current working directory – CWD), npr. BSD getcwd(3) funkcija ili samo radni direktorijum.[1] Kada proces pristupa fajlu koristeći samo ime fajla ili je putanja do njega relativna interpretira se putanja sa početkom u trenutnom direktorijumu (CWD). Odnosno, ako je proces iz trenutnog direktorijuma /rabbit-shoes i hožćemo da kreiramo fajl „foo.txt” završiće se kreiranjem fajla /rabbit-shoes/foo.txt.

U operativnim sistemima[uredi | uredi izvor]

U većini operativnih sistema, svaki direktorijum ima svoj ulaz (početak), obično označena sa „.” koja pokazuje na sam fajl.

U većini DOS i Juniks interfejsa komandne linije, kao i u Windows-u, cmd.exe i Windows PowerShell-u, radni direktorijum se može promeniti koristeći cd ili chdir komande. U Juniks terminalu, komanda pwd vraća putanju radnog direktorijuma; ekvivalentna naredba u operativnom sistemu DOS i Windows je cd ili chdir bez argumenata (dok u Juniksu cd bez argmenata vraća korisnika u korisnički direktorijum).

Naredbe PWD (u Juniks/Linuks ljuskama) i CD (u Windows COMMAND.COM and cmd.exe, ali ne u OS/2 I DOS-u), ili _CWD, _CWDS, _CWP i _CWPS (ispod 4DOS, 4OS2, 4NT itd.)[2] se mogu koristiti i u skriptama koje se mogu izvršavati od strane drugih programa. Windows prečice imaju sposobnost da čuvaju radni direktorijum.

COMMAND.COM u DR-DOS 7.02 i novijim verzijama pruža ECHOS, verziju komande ECHO.[3][2] Ovo se može koristiti za kreiranje priivremenog programa batchjob koji čuva trenutni direktorijum u promenljivoj CD za kasniju upotrebu, npr.:

ECHOS SET CD=> SETCD.BAT
CHDIR >> SETCD.BAT
CALL SETCD.BAT
DEL SETCD.BAT

Alternativno, kod Multiuser DOS i DROS 7.-D02 i novijih verzija, razne spoljašnje i unutrašnje komande podržavaju parametar /B (za "Batch").[4] Ovo modifikuje izlaz naredbi tako da postaje pogodan za direktan unos preko komandne linije (kad se preusmerava u batch fajl) ili se koristi kao parametar kod drugih naredbi (koristi se ka ulaz za drugu naredbu).Tamo gde bi CHDIR komanda napravila putanju kao što je C:\DOS, komanda CHDIR /B bi napravila CHDIR C:\DOS, tako da bi CHDIR /B > RETDIR.BAT privremni batchjob dozvoljavajući vraćanje na ovaj direktorijum kasnije.

Trenutni radni direktorijum je takođe prikazan pomoću $P[nb 2] simbola komande PROMPT[5] DR-DOS 7.07 COMMAND.COM podržava $W oznaku koja prikazuje najdublju razinu poddirektorijuma. Dakle, tamo gde bi PROMPT $P$G dao rezultat C:\DOS> ili C:\DOS\DRDOS>, PROMPT $N:$W$G bi umesto toga dao C:DOS> i C:DRDOS>. Slična pogodnost (koristeći $W i $w) je dodata 4DOS-u takođe.

Kod DOS-a, putanje trenutnih radnih direktorijuma su smeštene u strukturi koja liči na niz podataka i zove se trenutna direktorijumska struktura (engl. Current Directory Structure - CDS), koja se dinamički raspoređuje u toku pokretanja da bi zadržala potreban broj ulaza za sve uređaje koji čuvaju informacije.Ova struktura nameće ograničenje dužine od 66 znakova na celoj putanji svakog radnog direktorijuma, a time implicitno takođe ograničava maksimalnu moguću dubinu poddirektorijuma. DOS Plus i starija izdanja DR DOS-a (do DR DOS 6.0 iz 1991. godine) nisu imali takva ograničenja zbog njihove primene koristeći DOS imitaciju na vrhu Concurrent DOS (a time i CP/M-86-) izvedenog jezgra, koje je organizovalo poddirektorijume kao relativne veze do matičnih direktorijuma umesto apsolutnih putanja. Pošto su PalmDOS i DR DOS 6.0 (od 1992) i novije verzije počele da koriste CDS da bi se što je moguće više prilagodile DOS programima, suočili su se sa istim ograničenjima kao i u ostalim DOS-evima.

U programskim jezicima[uredi | uredi izvor]

Većina programskih jezika pruža podršku interfejsima ka funkcijama za rad sa operativnim sistemom, uključujući i funkciju za promenu radnog direktorijuma.

U programskom jeziku C, POSIKS funkcija chdir() je funkcija kojom se menja radni direktorijum. Argument funkcije jeste niska koji predstavlja putanju novog radnog direktorijuma (ili apsolutna ili relativna putanja). Može se pozvati i od strane procesa kako bi se postavio za dadni direktorijum baš direktorijum u kome se proces i nalazi.

I u drugim programskim jezicima postoje iste funkcije sa istom ulogom. U Vižual bejsiku se obično piše CHDIR().

Za razliku od Windows API-ja ili POSIKS C funkcije, ni programski jezik Java ni Java virtuelna mašina ne podržavaju chdir() direktno;zahtev za prilaođavanje sistema ostao je otvoren više od jedne decenije dok je tim odgovoran za Javu razmatrao alternative, premda je zahtev odbijen 2008 godine nakon što je predstavljena samo ograničena podrška (prvo je delovao na java.lang.Runtime a kasnije i na java.lang.ProcessBuilder).

Napomene[uredi | uredi izvor]

  1. ^ Postoje operativni sistemi koji podržavaju hijerarhijski fajl sistem ali nemaju koncept „radnog direktorijuma”; na primer Teksas Instrumentsov DX10, koji je korišten za TI-990 seriju.
  2. ^ Na isti način kao što $O deluje alternativno za $P pod DR-DOS COMMAND.COM, $W ima pseudonim $Y, osim što se potiskuje na disketama kako bi se izbegle poruke o kritičnoj grešci ili kašnjenja prilikom pokušaja preuzimanja putanja sa odsutne diskete.

Reference[uredi | uredi izvor]

  1. ^ „Microsoft Windows – SetCurrentDirectory function”. Microsoft. Arhivirano iz originala 27. 05. 2018. g. Pristupljeno 27. 05. 2017. 
  2. ^ a b Brothers, Hardin; Rawson, Tom; Conn, Rex C.; Paul, Matthias R.; Dye, Charles E.; Georgiev, Luchezar I. (27. 02. 2002). 4DOS 8.00 online help. 
  3. ^ DR-DOS 7.03 WHATSNEW.TXT — Changes from DR-DOS 7.02 to DR-DOS 7.03. Caldera, Inc. 24. 12. 1998. Arhivirano iz originala 08. 04. 2019. g. Pristupljeno 08. 04. 2019. 
  4. ^ CCI Multiuser DOS 7.22 GOLD Online Documentation. Concurrent Controls, Inc. (CCI). 10. 02. 1997. HELP.HLP. 
  5. ^ Caldera DR-DOS 7.02 User Guide. Caldera, Inc. 1998 [1993, 1997]. Arhivirano iz originala 04. 11. 2016. g. Pristupljeno 10. 08. 2013. 

Literatura[uredi | uredi izvor]

Spoljašnje veze[uredi | uredi izvor]