Linux Professional Institute Learning Logo.
Preskoči na glavni sadržaj
  • Home
    • Svi resursi
    • LPI materijali za učenje
    • Postanite saradnik
    • Izdavači partneri
    • Postanite izdavački partner
    • O nama
    • FAQ
    • Saradnici
    • Roadmap
    • Kontaktiraj nas
  • LPI.org
2.1 Lekcija 1
Tema 1: Linux zajednica i open sors karijera
1.1 Evolucija Linux-a i popularni operativni sistemi
  • 1.1 Lekcija 1
1.2 Glavne open sors aplikacije
  • 1.2 Lekcija 1
1.3 Softver otvorenog koda i licenciranje
  • 1.3 Lekcija 1
1.4 ICT vještine i rad sa Linux-om
  • 1.4 Lekcija 1
Tema 2: Kretanje kroz Linux sistem
2.1 Osnove komande linije
  • 2.1 Lekcija 1
  • 2.1 Lekcija 2
2.2 Upotreba komande linije u traženju pomoći
  • 2.2 Lekcija 1
2.3 Korištenje direktorija i izlistavanje podataka
  • 2.3 Lekcija 1
  • 2.3 Lekcija 2
2.4 Kreiranje, premještanje i brisanje podataka
  • 2.4 Lekcija 1
Tema 3: Moć komandne linije
3.1 Arhiviranje podataka uz pomoć komande linije
  • 3.1 Lekcija 1
3.2 Pretraživanje i ekstrakcija informacija iz podataka
  • 3.2 Lekcija 1
  • 3.2 Lekcija 2
3.3 Pretvaranje komandi u skriptu
  • 3.3 Lekcija 1
  • 3.3 Lekcija 2
Tema 4: Linux operativni sistem
4.1 Odabir operativnog sistema
  • 4.1 Lekcija 1
4.2 Razumijevanje računalnog hardvera
  • 4.2 Lekcija 1
4.3 Gdje se smještaju podaci
  • 4.3 Lekcija 1
  • 4.3 Lekcija 2
4.4 Računalo na mreži
  • 4.4 Lekcija 1
Tema 5: Sigurnost i prava nad podacima
5.1 Osnovna sigurnost i identifikacija vrste korisnika
  • 5.1 Lekcija 1
5.2 Kreiranje korisnika i grupa
  • 5.2 Lekcija 1
5.3 Upravljanje pravima i ovlastima nad podacima
  • 5.3 Lekcija 1
5.4 Specijalni direktoriji i podaci
  • 5.4 Lekcija 1
How to get certified
  1. Tema 2: Kretanje kroz Linux sistem
  2. 2.1 Osnove komande linije
  3. 2.1 Lekcija 1

2.1 Lekcija 1

Sertifikat:

Linux Essentials

Verzija:

1.6

Tema:

2 Kretanje kroz Linux sistem

Cilj:

2.1 Osnovne komandne linije

Lekcija:

1 od 2

Uvod

Moderne Linux distribucije imaju širok raspon grafičkih korisničkih okruženja, ali administrator treba da poznaje rad sa komandnom linijom, ili šelom kako se još zove. Šel (eng. shell) je program koji omogućava tektualnu komunikaciju između operativnog sistema i korisnika. Obično je to program u tekstualnom režimu koji čita unos korisnika i tumači ga kao komande sistemu.

Postoji nekoliko različitih šelova na Linux-u, a neki od njih su:

  • Bourne-again šel (Bash)

  • C šel (csh or tcsh, the enhanced csh)

  • Korn šel (ksh)

  • Z šel (zsh)

Na Linux-u, često korišten šel je Beš shell (eng. Bash shell). Ovo je također šel, koji će ovdje biti korišten kroz primjere i vježbe.

Prilikom korištenja interaktivnog šela, korisnik unosi komandu u tzv. prompt. Za svaku Linux distribuciju, zadani prompt će izgledati malo drugačije, ali sa sličnom stukturom:

korisničkoime@nazivhosta trenutni_direktorij tip_šela

Na Ubuntu ili Debian GNU/Linux-u, prompt za običnog korisnika izgleda ovako:

carol@mycomputer:~$

Prompt super korisnika izgleda ovako:

root@mycomputer:~#

Na CentOS-u ili Red Hat Linux-u, prompt običnog korisnika će izgledati ovako:

[dave@mycomputer ~]$

Prompt super korisnika izgleda ovako:

[root@mycomputer ~]#

Da objasnimo svaki dio strukture pojedinačno:

korisničko ime

Naziv korisnika koji pokreće šel

naziv hosta

Naziv hosta (mašine) na kojem se pokreće šel. Također postoji komanda 'hostname', kojom možete prikazati ili podesiti naziv hosta.

trenutni_direktorij

Direktorij u kojem se šel trenutno nalazi. Karakter '~' znači kako se šel nalazi unutar korisničkog home direktorija

shell_type

$ ovaj karakter pokazuje kako šel pokreće obični korisnik.

# ovaj karakter pokazuje kako šel pokreće super korisnik 'root'.

Kako ne trebamo nikakve specijalne privilegije, mi ćemo koristiti neprivelgovan prompt u sljedećim primjerima. Radi sažetosti, koristit ćemo samo '$' (dolar karakter) kao prompt.

Struktura komandne linije

Većina komandi na komandnoj liniji prati istu strukturu:

naziv komande  [opcija(e)/parametar(i)...]  [argument(i)...]

Uzmimo sljedeću komandu kao primjer:

$ ls -l /home

Da objasnimo svrhu svake komponente:

Komanda

ls - naziv programa kojeg korisnik izvršava u gornjem primjeru.

Opcija(e)/Parametar(i)

switch`" opcija modificira ponašanje komande na neki način, kao što je `-l u gornjem primjeru. Opcijama se može pristupiti u kratkom i dugom obliku. Na primjer, -l je identičan opciji --format=long.

Više opcija se takođe može kombinovati, a za kratku formu slova se obično mogu kucati zajedno. Na primjer, sve sljedeće komande rade isto:

$ ls -al
$ ls -a -l
$ ls --all --format=long
Argument(i)

Dodatni podaci koje treba program, kao naziv datoteke ili putanja, kao '/home' u gornjem primjeru.

Jedini obavezni dio ove strukture je sama komanda. Općenito, svi ostali elementi su opcioni, ali program može zahtijevati specificiranje određenih opcija, parametara ili argumenata.

Note

Većina komandi prikazuje kratak pregled dostupnih naredbi kada se pokreću s parametrom --help. Uskoro ćemo naučiti dodatne načine da saznamo više o Linux komandama.

Tipovi ponašanja komandi

Šel podržava dva tipa komandi:

Unutarnje

Ove komande su dio samog šela i nisu zasebni programi. Postoji oko 30 takvih komandi. Njihova glavna svrha je izvršavanje zadataka unutar šela (npr. cd, set, export).

Vanjske

Ove komande se nalaze u pojedinačnim datotekama. Ove datoteke su obično binarni programi ili skripte. Kada se pokrene komanda koja nije ugrađena u šel, šel koristi varijablu PATH za traženje izvršne datoteke s istim imenom kao naredba. Pored programa koji su instalirani sa paket menadžerom distribucije, korisnici mogu kreirati i sopstvene eksterne komande.

Komanda 'type' će prikazati vrstu komande:

$ type echo
echo is a shell builtin
$ type man
man is /usr/bin/man

Navodnici

Kao Linux korisnik, morat ćete kreirati ili manipulirati datotekama i varijablima na razne načine. Ovo je lako kada radite s kratkim nazivima datoteka i pojedinačnim vrijednostima, ali postaje složenije kada su uključeni, na primjer, razmaci, specijalni znakovi i varijable. Šelovi pružaju funkciju zvanu navođenje ili citiranje, koja inkapsulira takve podatke koristeći različite vrste navodnika (" ", ' '). U Bashu postoje tri vrste navodnika:

  • Dvostruki navodnici

  • Jednostruki navodnici

  • Escape znakovi

Na primjer, sljedeće komande ne djeluju na isti način zbog citiranja:

$ TWOWORDS="two words"
$ touch $TWOWORDS
$ ls -l
-rw-r--r-- 1 carol carol     0 Mar 10 14:56 two
-rw-r--r-- 1 carol carol     0 Mar 10 14:56 words
$ touch "$TWOWORDS"
$ ls -l
-rw-r--r-- 1 carol carol     0 Mar 10 14:56  two
-rw-r--r-- 1 carol carol     0 Mar 10 14:58 'two words'
-rw-r--r-- 1 carol carol     0 Mar 10 14:56  words
$ touch '$TWOWORDS'
$ ls -l
-rw-r--r-- 1 carol carol     0 Mar 10 15:00 '$TWOWORDS'
-rw-r--r-- 1 carol carol     0 Mar 10 14:56  two
-rw-r--r-- 1 carol carol     0 Mar 10 14:58 'two words'
-rw-r--r-- 1 carol carol     0 Mar 10 14:56  words
Note

Red sa TWOWORDS= je Bash varijabla koju smo sami kreirali. Kasnije ćemo uvesti varijable. Ovo samo treba da vam pokaže kako citiranje utiče na izlaz varijabli.

Dvostruki navodnici

Dvostruki navodnici govore šelu da uzme tekst između navodnika ("...") kao obične znakove. Svi specijalni znakovi gube svoje značenje, osim $ (znaka dolar), \ (obrnute kose crte) i ` (povratnih navodnika). To znači da se varijable, zamjena komandi i aritmetičke funkcije i dalje mogu koristiti.

Na primjer, dvostruki navodnici ne utječu na zamjenu varijable $USER:

$ echo I am $USER
I am tom
$ echo "I am $USER"
I am tom

Razmak, s druge strane, gubi svoje značenje kao separator argumenata:

$ touch new file
$ ls -l
-rw-rw-r-- 1 tom students 0 Oct 8 15:18 file
-rw-rw-r-- 1 tom students 0 Oct 8 15:18 new
$ touch "new file"
$ ls -l
-rw-rw-r-- 1 tom students 0 Oct 8 15:19 new file

Kao što možete vidjeti, u prvom primjeru, komanda touch kreira dvije pojedinačne datoteke, gdje komanda tumači dva niza kao pojedinačne argumente. U drugom primjeru, komanda tumači oba niza kao jedan argument, stoga kreira samo jednu datoteku. Međutim, najbolja je praksa izbjegavati razmak u nazivima datoteka. Umjesto toga, može se koristiti donja crta (_) ili tačka (.).

Jednostruki navodnici

Jednostruki navodnici nemaju izuzetke od dvostrukih navodnika. Oni ukidaju svako posebno značenje svakog znaka. Uzmimo jedan od prvih primjera odozgo:

$ echo I am $USER
I am tom

Tijekom primjene jednostrukih navodnika, vidjet ćete drugačiji rezultat:

$ echo 'I am $USER'
I am $USER

Komanda sada prikazuje tačan niz bez zamjene varijable.

Escape znakovi

Možemo koristiti escape znakove da uklonimo posebna značenja znakova iz Basha. Vraćamo se na varijablu okruženja $USER:

$ echo $USER
carol

Vidimo da je po defoltu sadržaj varijable prikazan u terminalu. Međutim, ako bismo ispred znaka dolara postavili obrnutu kosu crtu (\), tada će posebno značenje znaka dolara biti negirano. Ovo zauzvrat neće dozvoliti Bashu da proširi vrijednost varijable na korisničko ime osobe koja izvodi komandu, već će umjesto toga doslovno interpretirati ime varijable:

$ echo \$USER
$USER

Ako se sjećate, možemo dobiti slične rezultate kao ovaj koristeći jednostruki navodnik, koji ispisuje doslovni sadržaj svega što se nalazi između pojedinačnih navodnika. Međutim, escape znak radi drugačije tako što nalaže Bashu da zanemari bilo koje posebno značenje koje karakter, koji prethodi može imati.

Vođene vježbe

  1. Podijelite redove ispod na komponente komandi, opcije/parametar(e) i argument(e):

    • Primjer: cat -n /etc/passwd

      Komanda:

      cat

      Opcija:

      -n

      Argument:

      /etc/passwd

    • ls -l /etc

      Komanda:

      Opcija:

      Argument:

    • ls -l -a

      Komanda:

      Opcija:

      Argument:

    • cd /home/user

      Komanda:

      Opcija:

      Argument:

  2. Kojeg su tipa navedene komande:

    Primjeri:

    pwd

    Unutarnja šel komanda

    mv

    Vanjska šel command

    cd

    cat

    exit

  3. Riješite sljedeće naredbe koje koriste navodnike:

    Primjer:

    echo "$HOME is my home directory"

    echo /home/user is my home directory

    touch "$USER"

    touch 'touch'

Istraživačke vježbe

  1. S jednom komandom i korištenjem proširenja zagrada u Bashu (pregledajte stranicu za Bash), kreirajte 5 datoteka numeriranih od 1 do 5 s prefiksom game (game1, game2, …​).

  2. Izbrišite svih 5 datoteka koje ste upravo kreirali sa samo jednom komandom, koristeći različite posebne znake (pregledajte Proširenje imena putanje na stranicama Bash).

  3. Postoji li neki drugi način da dvije komande rade međusobno? Koji je to način?

​

Sažetak

U ovom labu ste naučili:

  • Koncepte Linux šela

  • Šta je to Bash šel

  • Strukturu komandne linije

  • Uvod u navodnike

Komande korištene u ovoj vježbi:

bash

Najpopularniji šel na Linux računarima.

echo

Prikaži tekst u terminalu.

ls

Prikaži sadržaj direktorija.

type

Prikaži način izvršavanja određene komande.

touch

Kreiraj praznu datoteku ili ažuriraj vrijeme nastanka datoteke.

hostname

Prikaži ili promijeni naziv sistema.

Odgovori na vođene vježbe

Podijelite redove ispod na komponente komandi, opcije/parametar(e) i argument(e):

+ * ls -l /etc

+

Komanda:

ls

Opcija:

-l

Argument:

/etc

+ * ls -l -a

+

Komanda:

ls

Opcija:

-l -a

Argument:

+ * cd /home/user

+

Komanda:

cd

Opcija:

Argument:

/home/user

  1. Kojeg su tipa navedene komande:

    cd

    Unutarnja šel komanda

    cat

    Vanjska šel komanda

    exit

    Unutarnja šel komanda

  2. Riješite sljedeće naredbe koje koriste navodnike:

    touch "$USER"

    tom

    touch 'touch'

    Kreiraj datoteku po imenu touch

Odgovor na istraživačke vježbe

  1. S jednom komandom i korištenjem proširenja zagrada u Bashu (pregledajte stranicu za Bash), kreirajte 5 datoteka numeriranih od 1 do 5 s prefiksom game (game1, game2, …​).

    Opsezi se mogu koristiti za izražavanje brojeva od 1 do 5 unutar jedne naredbe:

    $ touch game{1..5}
    $ ls
    game1  game2  game3  game4  game5
  2. Izbrišite svih 5 datoteka koje ste upravo kreirali sa samo jednom komandom, koristeći različite posebne znake (pregledajte Proširenje imena putanje na stranicama Bash).

    Budući da svi fajlovi (datoteke) počinju sa game i završavaju se jednim znakom (broj od 1 do 5 u ovom slučaju), ? se može koristiti kao poseban znak za posljednji znak u imenu datoteke:

    $ rm game?
  3. Postoji li neki drugi način da dvije komande rade međusobno? Koji je to način?

    Da, jedna komanda može, na primjer, upisati podatke u datoteku koja se zatim obrađuje drugom komandom. Linux također može prikupiti izlaz jedne komande i koristiti ga kao ulaz za drugu komandu. Ovo se zove piping i naučit ćemo više o tome u budućoj lekciji.

Linux Professional Insitute Inc. Sva prava zadržana. Posjeti web stranicu materijala za učenje: https://learning.lpi.org
Ovaj rad je licenciran pod Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License

Sljedeća lekcija

2.1 Osnove komande linije (2.1 Lekcija 2)

Pročitaj narednu lekciju

Linux Professional Insitute Inc. Sva prava zadržana. Posjeti web stranicu materijala za učenje: https://learning.lpi.org
Ovaj rad je licenciran pod Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License

LPI je neprofitna organizacija.

© 2023 Linux Profesional Institut (LPI) je globalni certifikacijski standard, podrške za karijeru, te vodeća organizacija za open sors profesionalce. Sa više od 200.000 certificiranih ljudi, prvi je najveći, svjetski vendor za Linux i open sors certifikaciju. LPI trenutno ima certificirane profesionalce u 180 zemalja širom svijeta, dostavlja testove na više jezika, te ima oko stotine trening partnera.

Naša svrha je omogućiti ekonomske i kreativne prilike za svakog, čineći dostupnim certifikaciju u open sors znanju i vještinama svima.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Kontaktirajte nas
  • Privatnost i politika kolačića

Primijetili ste grešku ili želite pomoći poboljšati ovu stranicu? Molimo prijavite nam!.

© 1999–2023 The Linux Professional Institute Inc. Sva prava zadržana.