linux
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| linux [2023/12/05 09:40] – created zrinka | linux [2025/12/01 11:40] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====Osnovne Linux naredbe==== | + | =====Osnovne Linux naredbe===== |
| U ovom članku pokazat ćemo kako se koriste neke osnovne naredbe u Linuxu na koje se referenciramo u ostalim člancima | U ovom članku pokazat ćemo kako se koriste neke osnovne naredbe u Linuxu na koje se referenciramo u ostalim člancima | ||
| - | ls | + | Ako nas zanimaju detalji korištenja bilo koje naredbe, u terminal možemo upisati: |
| - | cat | + | < |
| - | grep | + | |
| + | Ako želimo detalje sâme **man** (manual) naredbe, u terminal upisujemo | ||
| + | < | ||
| + | |||
| + | Kažemo da Linux ima stablastu strukturu datotečnog sustava, dakle postoji jedan korijen iz kojeg se grana ostatak datoteka. Korijenski direktorij zove se //root//. Zapravo, struktura izgleda ovako: \\ | ||
| + | < | ||
| + | root | ||
| + | |_ ... | ||
| + | |_ home | ||
| + | |_ korisnički_direktorij | ||
| + | |_ još korisnika... | ||
| + | </ | ||
| + | |||
| + | Vidimo da struktura zaista podsjeća na stablo.\\ | ||
| + | Svako računalo može imati više korisnika i svatko od njih dobije svoj direktorij unutar //home//. Tako se njihovi podatci odvajaju jer svaki korisnik ima pristup samo svojem direktoriju. Kao običan korisnik nemamo pravo pristupa //root// direktoriju, | ||
| + | |||
| + | ====cd (change directory)==== | ||
| + | Uobičajeno operacijski sustavi imaju grafičko sučelje koje omogućuje pregled i uređivanje datoteka. Međutim, sve se to može ostvariti i određenim naredbama u terminalu. Da bismo posjetili neki direktorij koristimo naredbu **cd**. Kao i za sve ostale naredbe, ako nas zanimaju detalji njezina korištenja u terminal možemo upisati "man cd". Ovdje ćemo pokriti ono što je važno za svakodnevno korištenje. Njezina sintaksa je: | ||
| + | < | ||
| + | Zašto nije dovoljno napisati naziv direktorija? | ||
| + | Upravo zbog stablaste strukture datoteka. Korijenski direktorij ima mnogo svojih poddirektorija, | ||
| + | Objasnimo funkcioniranje naredbe cd. Koristit ćemo 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 | ||
| + | < | ||
| + | jer iz direktorija u kojem se trenutno nalazimo (//home//) ne vidi direktorij //dir3//. Kažemo da se oni ne nalaze na istoj razini. Naredba | ||
| + | <code bash>cd dir1</ | ||
| + | radila bi bez problema jer se iz //home// direktorija vidi //dir1//. Za pristup nekom direktoriju koji nije na istoj razini (dakle poddirektoriju ili naddirektoriju), | ||
| + | < | ||
| + | Ova će nas naredba prebaciti u traženi direktorij.\\ | ||
| + | Također, koristi se i oznaka za home (**~**) tako da se može napisati i: | ||
| + | <code bash> cd ~/ | ||
| + | Mogli smo ući u direktorij //dir1// i napisati istu naredbu, također bi radila.\\ | ||
| + | Ovaj zapis putanje zove se **apsolutna putanja** jer je zapis neovisan o tome u kojem se direktoriju | ||
| + | ^. | oznaka trenutnog direktorija | | ||
| + | ^ .. | oznaka naddirektorija | | ||
| + | ^ / | odvajanje direktorija u nizu | | ||
| + | Dakle, ako se nalazimo u //home// direktoriju i želimo ući u //dir3//, relativna putanja je: | ||
| + | <code bash> cd ./dir2/dir3 </ | ||
| + | Pri čemu će naredba funkcionirati i bez oznake trenutnog direktorija: | ||
| + | < | ||
| + | Uzmimo da smo u direktoriju //dir3// i želimo pristupiti //home//. Dakle, želimo otići u prvi naddirektorij pa naredba glasi: | ||
| + | < | ||
| + | Ako pak želimo otići u direktorij //dir1//, prvo se pomaknemo u naddirektorij (//home//) i zatim u //dir1//, dakle pišemo: | ||
| + | <code bash> cd ../dir1 </ | ||
| + | |||
| + | Jedna često korištena funkcionalnost Linuxa je tzv. //tab completion// | ||
| + | <code bash> cd home/dir2/ </ | ||
| + | i stisnemo " | ||
| + | <code bash> cd home/ </ | ||
| + | i stisnemo Tab, naredba će se dopuniti do //cd home/ | ||
| + | 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 koju vraća pwd kreće od //home// direktorija koji je " | ||
| + | \\ | ||
| + | \\ | ||
| + | ====ls (list)==== | ||
| + | Naredbu ls koristimo da bismo ispisali sadržaj direktorija. Ako je zadana bez ikakvih opcija, ispisat će nazive datoteka trenutnog radnog direktorija. Ako želimo ispis nekog drugog direktorija, | ||
| + | <code bash> ls /var/lib </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | Napomena: Nije isto zadati putanju s oznakom "/" | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ---- | ||
| + | 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 | ||
| + | | ||
| + | </ | ||
| + | {{ :ls.png?400 |}} | ||
| + | |||
| + | Vidimo da je // | ||
| + | |||
| + | ===Dodatne opcije=== | ||
| + | Naredbama se općenito mogu dodavati opcije (zastavice) kojima dodatno specificiramo što želimo od te naredbe. Naredba ls bez ikakvih dodatnih opcija ispisuje samo nazive datoteka. Ako dodamo opciju **-a** (%%--all%%) ispisat će se sve skrivene datoteke te oznaka trenutnog i naddirektorija. Opcija **-l** dodaje u ispis dopuštenja korisnika (čitanje, pisanje, izvršavanje), | ||
| + | {{ : | ||
| + | \\ | ||
| + | \\ | ||
| + | ====rm (remove)==== | ||
| + | Za brisanje datoteka i direktorija koristimo naredbu **rm**. Sintaksa je: | ||
| + | < | ||
| + | Ako želimo obrisati direktorij, moramo koristiti dvije dodatne opcije. Prva je **-r** koja znači // | ||
| + | \\ | ||
| + | \\ | ||
| + | ====cp (copy)===== | ||
| + | Za kopiranje datoteka u Linuxu koristimo naredbu cp. Sintaksa je: | ||
| + | < | ||
| + | Dobra je funkcionalnost Linuxa što pri kopiranju možemo odmah zadati novi naziv datoteke. Ako zadržavamo isti naziv, ne treba ga pisati. Ako je original u trenutnom direktoriju, | ||
| + | {{ :cp.png?400 |}} | ||
| + | No, ako želimo kopirati datoteku u trenutni direktorij, moramo staviti oznaku trenutnog direktorija, | ||
| + | {{ : | ||
| + | Također, ako kopiramo direktorij, moramo dodati opciju **-r** kako bismo zadali da se naredba rekurzivno zove za svaku datoteku u direktoriju koji brišemo. | ||
| + | \\ | ||
| + | \\ | ||
| + | |||
| + | ====head i tail==== | ||
| + | Nekad ne želimo otvoriti datoteke u cijelosti, već nam trebaju samo početak ili kraj. \\ | ||
| + | Kad želimo vidjeti samo određen broj linija s početka datoteke, koristimo naredbu head. Ako je zadana bez dodatnih opcija, prikazat će prvih 10 linija datoteke. Ako želimo neki drugi broj, zadajemo ga kao opciju. Tipično se ova naredba koristi kad imamo veliku datoteku čiji bi ispis u cijelosti trajao dugo, a ne treba nam. Zamislimo da smo pokrenuli neki program koji se izvršava nekoliko dana. Takvi programi tipično svoj ispis preusmjere u neku datoteku. Recimo da zatrebamo neku informaciju s početka izvođenja, primjerice kad smo ga točno pokrenuli ili koju smo verziju pokrenuli. Tada nam head naredba može pomoći. | ||
| + | {{ : | ||
| + | S druge strane, kad trebamo vidjeti samo nekoliko linija na kraju datoteke, koristimo naredbu tail. Isto kao i head, ako se zada bez opcija, prikazat će zadnjih 10 linija datoteke, a bilo koji drugi broj možemo zadati kao opciju pored naredbe. Tipično se koristi kad pokrećemo neki dugotrajan program koji ispisuje svoj napredak u neku datoteku. Ako želimo provjeriti je li došlo do napretka, treba nam samo kraj datoteke | ||
| + | {{ : | ||
| + | \\ | ||
| + | \\ | ||
| + | ====Još neke naredbe==== | ||
| + | ^echo|ispis, | ||
| + | ^cat|ispis sadržaja datoteke u čitljivom formatu| | ||
| + | ^mv [stari_naziv] [novi_naziv]|preimenovanje datoteke| | ||
| + | ^mkdir [putanja_do_novog_direktorija] | stvaranje direktorija na zadanoj putanji | | ||
| + | |||
| + | |||
| + | ===Izvori=== | ||
| + | [1] Linux man page | ||
linux.1701769250.txt.gz · Last modified: 2025/12/01 11:40 (external edit)