This is an old revision of the document!
Osnovne Linux naredbe
U ovom članku pokazat ćemo kako se koriste neke osnovne naredbe u Linuxu na koje se referenciramo u ostalim člancima
Ako nas zanimaju detalji bilo koje naredbe, u terminal možemo upisati naredbu:
man [ime naredbe]
Ako želimo detalje sâme man (manual) naredbe, u terminal upisujemo
man man
cd (change directory)
Kažemo da Linux ima stablastu strukturu datotečnog sustava, dakle postoji jedan korijen iz kojeg se grana ostatak datoteka. Korijen stabla je root.
Kada nemamo grafičko sučelje, ne možemo stisnuti na direktorij koji želimo posjetiti, već se za to koristi naredba cd. Kao i za sve ostale naredbe, ako nas zanimaju detalji korištenja u terminal možemo upisati “man cd”. Ovdje ćemo samo pokriti neke osnove koje se koriste svakodnevno. Njezina sintaksa je:
cd [putanja do direktorija]
Zašto nije dovoljno napisati samo ime direktorija?
Upravo zbog stablaste strukture datoteka. Naime, svaki korisnik predefinirano kreće pretraživanje iz svog korisničkog direktorija, dakle svi ostali direktoriji su njegovi poddirektoriji. Svaki od njih može imati još puno svojih poddirektorija. Kad bi sustav morao pretraživati sve moguće kombinacije gdje bi se mogao nalaziti direktorij koji tražimo, proces bi bio iznimno spor. Uz to, moguće je i da se dva direktorija zovu isto pa u tom slučaju sustav ne bi znao kamo želimo ići.
Uzmimo ovakvu strukturu datoteka:
home |__ dir1 |__ dir2 |__ dir3
Dakle, unutar home direktorija nalaze se dir1 i dir2, a unutar dir2 je dir3. Recimo da se trenutno se nalazimo u home direktoriju. Ako želimo pristupiti direktoriju dir3, nije dovoljno napisati
cd dir3
jer iz direktorija u kojem se trenutno nalazimo (home) ne vidi direktorij dir3. Kažemo da se oni ne nalaze na istoj razini. Naredba
cd dir1
radila bi bez problema jer se iz home direktorija vidi dir1. Za pristup nekom direktoriju koji nije na istoj razini (dake poddirektoriju ili naddirektoriju), treba napisati njegovu lokaciju, odnosno putanju. Dakle, mogli bismo napisati:
cd home/dir2/dir3
Ova će nas naredba prebaciti u traženi direktorij.
Također, koristi se i oznaka za home (~) tako da ekvivalentna naredba izgleda ovako:
cd ~/dir2/dir3
Mogli smo ući u direktorij dir1 i napisati istu naredbu, također bi radila.
Ovaj zapis putanje zove se apsolutna putanja jer kreće neovisno o tome u kojem se direktoriju trenutno nalazimo. Međutim, datotečni sustav može sadržavati mnogo direktorija koji mogu biti duboko ugnježđeni pa ovaj način zadavanja putanje zna biti nespretan. Zato postoji i relativna putanja. Ona se zadaje od trenutne lokacije. Za definiranje relativne putanje važne su ove oznake:
| oznaka trenutnog direktorija | . |
|---|---|
| oznaka naddirektorija | .. |
| odvajanje direktorija u nizu | / |
Dakle, ako se nalazimo u home direktoriju i želimo ući u dir3, dovoljno je napisati:
cd ./dir2/dir3
Pri čemu će naredba funkcionirati i bez oznake trenutnog direktorija:
cd dir2/dir3
Uzmimo da smo u direktoriju dir3 i želimo pristupiti home. U terminal jednostavno upišemo:
cd ..
Ako pak želimo otići u direktorij dir1, pišemo:
cd ../dir1
Linux ima jednu jako korisnu funkcionalnost, a to je da ako tijekom pisanja naredbe stisnemo “Tab”, on će nam sâm dovršiti naredbu ako se može jednoznačno odrediti što slijedi. Dakle, ako krenemo pisati:
cd home/dir2/
i stisnemo “Tab”, jedini direktorij u koji se možemo prebaciti je dir3, pa će se dodati taj nastavak na našu naredbu. Ako se ne može dopuniti cijela naredba, dodat će se samo ono što se može jednoznačno odrediti. Primjerice, ako napišemo:
cd home/
i stisnemo Tab, naredba će se dopuniti do cd home/dir jer nazivi svih poddirektorija kreću s “dir”. Još jedan pritisak na Tab ponudit će nam dvije opcije u redu ispod i sad ćemo morati ručno upisati što zapravo želimo.
Ako zadamo putanju koja ne postoji, naredba vraća grešku.
pwd (print working directory)
Pwd je naredba koju koristimo kad želimo saznati u kojem se trenutno direktoriju nalazimo. Vratit će apsolutnu putanju.
Primijetimo razliku između putanje koju je vratio pwd i putanje koja piše pored korisničkog imena. Putanja kreće od home direktorija koji je “pravi” korijen datotečnog sustava, a ono što vidimo u terminalu kreće od našeg korisničkog direktorija. Naime, svako računalo može imati više korisnika pa svaki korisnik dobije svoj direktorij unutar home. Kad uključimo računalo, predefinirano se nalazimo u svojem korisničkom direktoriju. Ako tada upišemo pwd, dobit ćemo:
/home/[korisničko_ime]
Superuser je naziv za korisnika s najvećim privilegijama i on jedini smije pristupati svim korisničkim direktorijima, dok općenito svaki korisnik ima pristup samo svojem direktoriju.
sudo
Kao što smo ranije spomenuli, Linux sustav ima jednog visokoprivilegiranog korisnika kojem je dozvoljen pristup svim podatcima. Kad nam jednokratno zatrebaju njegova prava, možemo ih ostvariti tako da da ispred željene naredbe dodamo sudo (superuser do). Sustav će nas zatim tražiti root lozinku i na taj način verificirati da nam smije dati ta prava. Sudo se koristi kad treba pristupiti nekim sustavskim datotekama koje su zaštićene, instalirati neke softvere i slično.
ls (list)
Narebu ls koristimo da bismo ispisali sadržaja direktorija. Ako je zadana bez ikakvih opcija, ispisat će sadržaj trenutnog radnog direktorija. Ako želimo ispis nekog drugog direktorija, pored naredbe pišemo putanju do tog direktorija (apsolutnu ili relativnu). Primjerice, ova će naredba ispisati sadržaj direktorija /var/lib.
ls /var/lib
Napomena: Nije isto zadati putanju s oznakom “/” ispred “var” i bez nje! Ako se zada sa “/” na početku, to znači da putanju zadajemo apsolutno, dakle kreće se od home direktorija. Bez “/” je putanja zadana relativno, dakle mora se krenuti od direktorija koji nam je trenutno vidljiv.
Ako pokušamo ispisati sadržaj nečega što nije direktorij, rezultat će biti putanja do te datoteke od trenutnog radnog direktorija. Nekad nije jasno što je direktorij, a što datoteka pa ih na ovaj način možemo razlikovati. Prazan direktorij će samo dati prazan ispis. Pogledamo na primjeru. Struktura datoteka je:
folder |__file.txt |__subfolder |__one-more


