Stablo direktorija
-
višekorijenski operacijski sustav za više više particija ima više korijenskih direktorija
- primjerice, operacijski sustav Windows particije označava kao
C:\
,D:\
,E:\
, ...
- primjerice, operacijski sustav Windows particije označava kao
-
jednokorijenski operacijski sustav za više particija imaju jedan korijenski direktorij
- operacijski sustavi slični Unixu mogu imati particije u direktorijima
/
,/home
,/media/usbdisk
, ...
- operacijski sustavi slični Unixu mogu imati particije u direktorijima
Uloga pojedinih direktorija u sustavu
-
Filesystem Hierarchy Standard definira naziv u ulogu direktorija u datotečnom sustavu
- dugo vremena je bila aktualna verzija 2.3, siječanj 2004., trenutna aktualna je verzija verzija 3.0, ljeto 2012.
- više informacija možete pronaći na stranici s dokumentima o FHS
-
/bin
,/sbin
,/lib
-- izvršne datoteke i bibliotečne datoteke- izvršne datoteke napravljene iz izvornog koda koji ima funkciju
main()
- bibliotečne datoteke napravljene iz izvornog koda koji nema funkciju
main()
- izvršne datoteke napravljene iz izvornog koda koji ima funkciju
-
/dev
sadrži u sebi uređaje /etc
sadrži konfiguracijske datoteke -- one određuju kako se programi ponašaju/root
,/home/<ime_korisnika>
su redom root direktorij administratora, kućni direktoriji ostalih korisnika/proc
,/sys
sadrže u sebi inforamcije o sustavu (hardveru)/lost+found
sadrži dijelove datoteka koje su pronađene u datotečnom sustavu prilikom oporavka od pada sustava/media
,/mnt
sadrži direktorije putem kojih je dostupna vanjska memorija (USB, fotoaparat, digitalna kamera..)/opt
unutar njega su poddirektoriji, najčešće sa komercijalnim programima koji se instaliraju drugačije od ostalog softvera/tmp
sadrži privremene datoteke/var
sadrži datoteke koje program koristi kod pokretanja (datoteke koje se mijenjaju dok program radi)-
/usr
,/usr/local
sadrži programe razdijeljene po poddirektoirjima/usr/bin
,/usr/sbin
,/usr/lib
,/usr/share
- konvencija je da se softver koji se instalira putem upravitelja paketima (sustav sličan Apple Store-u i Google Play-u) postavlja u
/usr
, a softver koji administrator instalira mimo upravitelja paketima u/usr/local
- konvencija je da se softver koji se instalira putem upravitelja paketima (sustav sličan Apple Store-u i Google Play-u) postavlja u
Zadatak
- Izlistajte sve obične i sakrivene direktorije i datoteke u vašem kućnom direktoriju.
- Izlistajte sve direktorije u
/home
direktoriju. Što vidite? -
Objasnite što se nalazi u sljedećim direktorijima:
/home/student12
/usr/include/c++/4.6
/dev/input
/etc/acpi
(Uputa: podsjetite se koje je značenje kratice ACPI.)
Rad s direktorijima, naredbe pwd
i cd
pwd
ispisuje putanju do radnog direktorija-
cd
mijenja radni direktorij u dani- bez argumenata vraća vas u kućni direktorij
-
<Tab>
-- kompletiranje imena datoteka i direktorija- postoji razlika između
<Tab>
i<Tab><Tab>
- na sličan način kompletiraju se imena naredbi
- na sličan način kompletiraju se nazivi parametara nekih naredbi (u novijm verzijama
bash
ljuske, datoteka/etc/bash_completion
i direktorij/etc/bash_completion.d
)
- postoji razlika između
Zadatak
Isprobajte sljedeće naredbe i objasnite što rade:
cd
cd .
cd ..
cd ~
cd -
cd ../..
cd ./././..
cd ../.././.
cd ../../../../../..
.
referira na trenutni direktorij..
referira na direktorij iznad trenutnog../..
referira na direktorij iznad direktorija iznad trenutnog (tako možemo i dalje)
Naredbe mkdir
i rmdir
mkdir
stvara direktorij s danim imenomrmdir
briše (prazan) direktorij danog imena
Zadatak
-
U Vašem kućnom direktoriju napravite predloženu strukturu direktorija:
studentXY ---------- Ispiti ------------- Ispit1 -------- 15102012 | | | |----- Ispit2 | |--------- Kolokviji ---------- Kolokvij1 | | | |----- Kolokvij2 ----- Rjesenja | |--------- Seminari | |--------- DZ ----------------- Grafovi
-
Uđite u direktorij
Ispiti
i pokušajte izbrisati direktorijIspit1
. Što se događa? - Pozicionirajte se u direktorij
Kolokviji
i u jednoj naredbi pokušajte izbrisati sve poddirektorije koji se ondje nalaze. - Vratite se do direktorija
Seminari
i uđite u njega. Pokušajte ga izbrisati. Što se događa? Zašto? - Otiđite do svog kućnog direktorija i od tamo pokušajte izbrisati direktorij
15102012
. Zašto ga ne možete izbrisati? - Uđite u direktorij
Kolokvij
i iz njega pokušajte izbrisati direktorijDZ
. Možete li to učiniti? Zašto?
Dodatni zadatak
- U svom kućnom direktoriju stvorite poddirektorij
trnoruzica
. Uđite u taj direktorij. - Stvorite direktorije
mikimaus
iminimaus
. - Uđite u direktorij
mikimaus
. - Probajte sada izbrisati direktorij
minimaus
. Objasnite zašto to ne možete. - Vratite se u direktorij
trnoruzica
i izbrisite direktorijminimaus
. - Isprobajte naredbe
cd -
,cd ../.
icd -/..
te objasnite što rade.
Apsolutno i relativno referenciranje
-
/home/vedran/radnidir
- apsolutno referira na
radnidir
, radi od svugdje - apsolutno referenciranje kreće od korijenskog direktorija i ide do traženog direktorija, uvijek započinje sa
/
- apsolutno referira na
-
radnidir
- relativno referira na
radnidir
, radi samo kad se nalazimo u direktoriju/home/vedran
- relativno referenciranje kreće od trenutnog direktorija i ide do traženog direktorija, nikad ne započinje znakom
/
- relativno referira na
Zadatak
-
Izlistajte kućni direktorij korisnika
prof
:- apsolutnim referenciranjem iz svojeg kućnog direktorija,
- apsolutnim referenciranjem iz korijenskog direktorija,
- relativnim referenciranjem iz svojeg kućnog direktorija,
- relativnim referenciranjem iz korijenskog direktorija.
-
Objasnite zašto prva dva dijela imaju isto rješenje.
- Koji je vaš kućni direktorij na računalu na kojem trenutno radite?
- U kojem se direktoriju nalazi moj kućni direktorij?
- U kojem se direktoriju nalazi vaš kućni direktorij, a u kojem vaš
home
direktorij? - Imate li pristup kućnom direktoriju korisnika
student08
? Izlistajte sadržaj neke njegove datoteke.
Rekurzivnost u radu s direktorijima i datotekama
-
ls -R
radi rekurzivno izlistavanje- izlista direktorij i njegove poddirektorije
- na sličan način radi brisanje direktorija u kojem postoje poddirektoriji i datoteke
Zadatak
- Koristeći naredbu
ls
izlistajte rekurzivno svoj kućni direktorij. -
Izlistajte rekurzivno sljedeće direktorije:
/usr
,/usr/local
(ovaj direktorij izlistajte dva puta: prvi put koristeći relativno, a drugi put apsolutno referenciranje).
-
Što se događa kada umjesto parametra
-R
koristite parametar-r
? Isprobajte.
Pitanja za ponavljanje
- Navedite po jedan primjer za jednokorijenski i višekorijenski operacijski sustav.
- Što je FHS?
- Prisjetite se koja je uloga pojedinih direktorija u datotečnom sustavu.
- Postoji li razlika između kućnog i
home
direktorija korisnika? - Na koji način možemo kompletirati nazive direktorija i datoteka?
- Kako izglda referenca za trenutni (radni) direktorij? Kako za onaj jednu hijerarhijsku razinu više?
- Ponovite razliku između apsolutnog i relativnog referenciranja.
- Ako se nalazite u vlastitom kućnom direktoriju, napišite relativnu i apsolutnu adresu koja će vas odvesti do korijenskog direktorija.
- Čemu služi rekurzivno izlistavanje direktorija?
- Kakve informacije daje naredba
pwd
?
Author: Vedran Miletić, Vanja Slavuj, Sanja Pavkov