User Tools

Site Tools


linux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
linux [2023/12/07 10:02] zrinkalinux [2025/12/01 11:40] (current) – external edit 127.0.0.1
Line 4: Line 4:
  
 Ako nas zanimaju detalji korištenja bilo koje naredbe, u terminal možemo upisati: Ako nas zanimaju detalji korištenja bilo koje naredbe, u terminal možemo upisati:
- man [ime naredbe] + <code>man [ime naredbe] </code>
  
 Ako želimo detalje sâme **man** (manual) naredbe, u terminal upisujemo Ako želimo detalje sâme **man** (manual) naredbe, u terminal upisujemo
- man man +<code> man man </code>
  
  
Line 20: Line 20:
  
 Vidimo da struktura zaista podsjeća na stablo.\\ 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//Na taj način se njihovi podatci odvajaju jer svaki korisnik ima pristup samo svojem direktoriju. Kao običan korisnik nemamo pravo pristupa //root// direktoriju, već postoji jedan visokoprivilegiran "korisnik" koji to može. Njegov alias je //superuser//, a //root// se smatra njegovim korisnički direktorijem. Zato ima pristup svim ostalim direktorijima. Kad nam jednokratno zatrebaju njegova prava, možemo ih ostvariti tako da ispred željene naredbe dodamo **sudo** (//superuser do//). Sustav će nas zatim tražiti //root// lozinku i tako 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.+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, već postoji jedan visokoprivilegiran "korisnik" koji to može. Njegov alias je //superuser//, a //root// se smatra njegovim korisnički direktorijem. Zato ima pristup svim ostalim direktorijima. Kad nam jednokratno zatrebaju njegova prava, možemo ih ostvariti tako da ispred željene naredbe dodamo **sudo** (//superuser do//). Sustav će nas zatim tražiti //root// lozinku i tako 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.
  
 ====cd (change directory)==== ====cd (change directory)====
-Uobičajeno operacijski sustavi imaju grafičko sučelje koje olakšava 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: +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: 
-cd [putanja do direktorija] +<code>cd [putanja do direktorija] </code>
 Zašto nije dovoljno napisati naziv direktorija? \\ Zašto nije dovoljno napisati naziv direktorija? \\
-Upravo zbog stablaste strukture datoteka. Svaki korisnik se pri uključenju računala nalazi u svom korisničkom direktoriju, a 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 dva direktorija imaju isti naziv pa u tom slučaju sustav ne bi znao kamo želimo ići. \\+Upravo zbog stablaste strukture datoteka. Korijenski direktorij ima mnogo svojih poddirektorija, a svaki od njih može imati proizvoljno mnogo svojih poddirektrorija. 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 dva direktorija imaju isti naziv pa u tom slučaju sustav ne bi znao kamo želimo ići. \\
 Objasnimo funkcioniranje naredbe cd. Koristit ćemo ovakvu strukturu datoteka:  Objasnimo funkcioniranje naredbe cd. Koristit ćemo ovakvu strukturu datoteka: 
 +<code>
 home home
  |__ dir1  |__ dir1
  |__ dir2  |__ dir2
      |__ dir3      |__ dir3
 +</code>
  
 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  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 + <code bash>cd dir3 </code>
  jer iz direktorija u kojem se trenutno nalazimo (//home//) ne vidi direktorij //dir3//. Kažemo da se oni ne nalaze na istoj razini. Naredba  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 +<code bash>cd dir1</code>
 radila bi bez problema jer se iz //home// direktorija vidi //dir1//. Za pristup nekom direktoriju koji nije na istoj razini (dakle poddirektoriju ili naddirektoriju), treba napisati njegovu lokaciju, odnosno **putanju**. Dakle, mogli bismo napisati: radila bi bez problema jer se iz //home// direktorija vidi //dir1//. Za pristup nekom direktoriju koji nije na istoj razini (dakle poddirektoriju ili naddirektoriju), treba napisati njegovu lokaciju, odnosno **putanju**. Dakle, mogli bismo napisati:
- cd home/dir2/dir3 + <code bash>cd home/dir2/dir3 </code>
 Ova će nas naredba prebaciti u traženi direktorij.\\ Ova će nas naredba prebaciti u traženi direktorij.\\
 Također, koristi se i oznaka za home (**~**) tako da se može napisati i: Također, koristi se i oznaka za home (**~**) tako da se može napisati i:
- cd ~/dir2/dir3+<code bash> cd ~/dir2/dir3</code>
 Mogli smo ući u direktorij //dir1// i napisati istu naredbu, također bi radila.\\ 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  nalazimo. Međutim, datotečni sustav može sadržavati mnogo direktorija koji mogu biti duboko ugniježđeni pa ovaj način zapisa putanje zna biti nespretan. Zato postoji i **relativna putanja**. Ona se zadaje od trenutne lokacije. Za definiranje relativne putanje važne su ove oznake: \\ Ovaj zapis putanje zove se **apsolutna putanja** jer je zapis neovisan o tome u kojem se direktoriju  nalazimo. Međutim, datotečni sustav može sadržavati mnogo direktorija koji mogu biti duboko ugniježđeni pa ovaj način zapisa putanje zna biti nespretan. Zato postoji i **relativna putanja**. Ona se zadaje od trenutne lokacije. Za definiranje relativne putanje važne su ove oznake: \\
Line 49: Line 50:
 ^ / | odvajanje direktorija u nizu |  ^ / | odvajanje direktorija u nizu | 
 Dakle, ako se nalazimo u //home// direktoriju i želimo ući u //dir3//, relativna putanja je:  Dakle, ako se nalazimo u //home// direktoriju i želimo ući u //dir3//, relativna putanja je: 
- cd ./dir2/dir3 +<code bash> cd ./dir2/dir3 </code>
 Pri čemu će naredba funkcionirati i bez oznake trenutnog direktorija:  Pri čemu će naredba funkcionirati i bez oznake trenutnog direktorija: 
- cd dir2/dir3 + <code bash>cd dir2/dir3 </code>
 Uzmimo da smo u direktoriju //dir3// i želimo pristupiti //home//. Dakle, želimo otići u prvi naddirektorij pa naredba glasi: Uzmimo da smo u direktoriju //dir3// i želimo pristupiti //home//. Dakle, želimo otići u prvi naddirektorij pa naredba glasi:
- cd .. + <code bash>cd .. </code>
 Ako pak želimo otići u direktorij //dir1//, prvo se pomaknemo u naddirektorij (//home//) i zatim u //dir1//, dakle pišemo: Ako pak želimo otići u direktorij //dir1//, prvo se pomaknemo u naddirektorij (//home//) i zatim u //dir1//, dakle pišemo:
- cd ../dir1  +<code bash> cd ../dir1 </code>
  
 Jedna često korištena funkcionalnost Linuxa je tzv. //tab completion//. Tijekom pisanja naredbe možemo stisnuti "Tab" i on će nam sâm dovršiti naredbu ako se može jednoznačno odrediti što slijedi. Dakle, ako krenemo pisati: Jedna često korištena funkcionalnost Linuxa je tzv. //tab completion//. Tijekom pisanja naredbe možemo stisnuti "Tab" i on će nam sâm dovršiti naredbu ako se može jednoznačno odrediti što slijedi. Dakle, ako krenemo pisati:
- cd home/dir2/ +<code bash> cd home/dir2/ </code>
 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: 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/ +<code bash> cd home/ </code>
 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.\\ 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.  Ako zadamo putanju koja ne postoji, naredba vraća grešku. 
Line 76: Line 77:
 ====ls (list)==== ====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, pored naredbe pišemo putanju do tog direktorija (apsolutnu ili relativnu). Primjerice, ova će naredba ispisati sadržaj direktorija /var/lib. 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, pored naredbe pišemo putanju do tog direktorija (apsolutnu ili relativnu). Primjerice, ova će naredba ispisati sadržaj direktorija /var/lib.
- ls /var/lib +<code bash> ls /var/lib </code>
  
 ---- ----
  
-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 "/" putanja je zadana relativno, dakle mora se krenuti od direktorija koji nam je trenutno vidljiv. +Napomena: Nije isto zadati putanju s oznakom "/" ispred "var" i bez nje! Ako se zada "/" na početku, to znači da putanju zadajemo apsolutno, dakle kreće se od //home// direktorija. Bez "/" putanja je zadana relativno, dakle mora se krenuti od direktorija koji nam je trenutno vidljiv. 
  
 {{ :rel-vs-abs.png?600 |}} {{ :rel-vs-abs.png?600 |}}
Line 86: Line 87:
 ---- ----
 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: 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:
 +<code>
 folder folder
 |__file.txt |__file.txt
 |__subfolder |__subfolder
    |__one-more    |__one-more
- +</code>
 {{ :ls.png?400 |}} {{ :ls.png?400 |}}
  
-Vidimo da je file.txt datoteka čija se putanja mijenja ovisno o tome gdje se nalazimo, dakle zadana je relativno. Subfolder u sebi sadrži "one-more", a po ispisu u idućoj naredbi vidimo da je to prazan direktorij.+Vidimo da je //file.txt// datoteka čija se putanja mijenja ovisno o tome gdje se nalazimo, dakle zadana je relativno. //subfolder// u sebi sadrži //one-more//, a po ispisu u idućoj naredbi vidimo da je to prazan direktorij.
  
 ===Dodatne opcije=== ===Dodatne opcije===
Line 104: Line 104:
 ====rm (remove)==== ====rm (remove)====
 Za brisanje datoteka i direktorija koristimo naredbu **rm**. Sintaksa je: Za brisanje datoteka i direktorija koristimo naredbu **rm**. Sintaksa je:
- rm [putanja_do_tražene_datoteke] + <code>rm [putanja_do_tražene_datoteke] </code>
 Ako želimo obrisati direktorij, moramo koristiti dvije dodatne opcije. Prva je **-r** koja znači //recursive//, odnosno rekurzivno pozivanje naredbe za svaku datoteku u direktoriju. Opcija **-f** (%%--force%%) znači da se ne treba tražiti potvrda korisnika za brisanje svake datoteke posebno.  Ako želimo obrisati direktorij, moramo koristiti dvije dodatne opcije. Prva je **-r** koja znači //recursive//, odnosno rekurzivno pozivanje naredbe za svaku datoteku u direktoriju. Opcija **-f** (%%--force%%) znači da se ne treba tražiti potvrda korisnika za brisanje svake datoteke posebno. 
 \\ \\
Line 110: Line 110:
 ====cp (copy)===== ====cp (copy)=====
 Za kopiranje datoteka u Linuxu koristimo naredbu cp. Sintaksa je: Za kopiranje datoteka u Linuxu koristimo naredbu cp. Sintaksa je:
- cp [putanja_do_originala] [nova_lokacija]/[novi_naziv] + <code>cp [putanja_do_originala] [nova_lokacija]/[novi_naziv] </code>
 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, ne moramo pisati putanju, već samo naziv.  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, ne moramo pisati putanju, već samo naziv. 
 {{ :cp.png?400 |}} {{ :cp.png?400 |}}
linux.1701943320.txt.gz · Last modified: 2025/12/01 11:40 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki