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 2
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 2

2.1 Lekcija 2

Sertifikat:

Linux Essentials

Verzija:

1.6

Tema:

2 Kretanje kroz Linux sistem

Cilj:

2.1 Osnove komandne linije

Lekcija:

2 od 2

Uvod

Svi šelovi upravljaju skupom informacija o statusu tokom sesija šela. Ove informacije o vremenu izvođenja mogu se promijeniti tokom sesije i utjecati na to kako se šel ponaša. Ove podatke također koriste programi za određivanje aspekata konfiguracije sistema. Većina ovih podataka je pohranjena u takozvanim varijablama, koje ćemo pokriti u ovoj lekciji.

Varijable

Varijabla je kontenjer koji skladišti podatke, kao što su tekst ili brojevi. Jednom postavljena, vrijednosti varijable će se pristupiti kasnije. Varijable imaju ime koje omogućava pristup određenoj varijabli, čak i kada se sadržaj varijable promijeni. Oni su vrlo čest alat u većini programskih jezika.

U većini Linux šelova, postoje dva tipa varijabli:

Lokalne varijable

Ove varijable su dostupne samo trenutnom procesu šela. Ako kreirate lokalnu varijablu i zatim pokrenete drugi program iz ovog šela, varijabla više nije dostupna tom programu. Budući da nisu naslijeđene podprocesima, ove varijable se nazivaju lokalnim varijablama.

Varijable okruženja

Ove varijable su dostupne i u specifičnoj sesiji šela, ali i podprocesima koji su nastali iz te sesije šela. Ove varijable se mogu koristiti za prosljeđivanje konfiguracijskih podataka komandama koje se izvode. Budući da ovi programi mogu pristupiti ovim varijablama, nazivaju se varijablama okruženja. Većina varijabli okruženja je napisana velikim slovima (npr. PATH, DATE, USER). Skup zadanih varijabli okruženja pruža, na primjer, informacije o korisničkom home direktoriju ili tipu terminala. Ponekad se kompletan skup svih varijabli okruženja naziva environment, odnosno okruženje.

Ove vrste varijabli su također poznate kao opseg varijable.

Note

Varijable nisu trajne. Kada se šel u kojem su postavljene zatvori, gube se sve varijable i njihov sadržaj. Većina šelova pruža konfiguracijske datoteke, koje sadrže varijable, koje se postavljaju kad god se pokrene novi šel. Varijable koje treba trajno postaviti moraju se dodati u jednu od ovih konfiguracijskih datoteka.

Manipulacija varijablama

Kao sistem administrator, morat ćete kreirati, modifikovati i uklanjati kako lokalne, tako i varijable okruženja.

Rad sa lokalnim varijablama

Možete postaviti lokalnu varijablu pomoću operatora = (jednako). Jednostavna dodjela će kreirati lokalnu varijablu:

$ greeting=hello
Note

Nemojte stavljati razmak ispred ili iza operatora =.

Možete prikazati bilo koju varijablu koristeći komandu echo. Komanda obično prikazuje tekst u odjeljku argumenata:

$ echo greeting
greeting

Da biste pristupili vrijednosti varijable, morat ćete koristiti $ (znak dolara) ispred imena varijable.

$ echo $greeting
hello

Kao što se može vidjeti, varijabla je kreirana. Sada otvorite drugi šel i pokušajte prikazati sadržaj kreirane varijable.

$ echo $greeting

Ništa se ne prikazuje. Ovo ilustruje da varijable uvijek postoje samo u određenom šelu.

Da biste potvrdili da je varijabla zapravo lokalna varijabla, pokušajte pokrenuti novi proces i provjerite može li ovaj proces pristupiti varijabli. To možemo učiniti tako što ćemo pokrenuti drugI šel i pustiti ovaj šel da pokrene komandu echo. Kako se novi šel izvodi u novom procesu, ona neće naslijediti lokalne varijable od svog roditeljskog procesa:

$ echo $greeting world
hello world
$ bash -c 'echo $greeting world'
world
Note

Obavezno koristite jednostruke navodnike u gornjem primjeru.

Da biste uklonili varijablu, morat ćete koristiti komandu unset:

$ echo $greeting
hey
$ unset greeting
$ echo $greeting
Note

unset zahtijeva ime varijable kao argument. Stoga ne smijete dodati $ imenu, jer bi to riješilo varijablu i proslijedilo vrijednost varijable na unset umjesto imena varijable.

Rad sa globalnim varijablama

Da bi varijabla bila dostupna podprocesima, pretvorite je iz lokalne u varijablu okruženja. To se radi naredbom export. Kada se pozove sa imenom varijable, ova varijabla se dodaje u okruženje šela:

$ greeting=hello
$ export greeting
Note

Opet, uvjerite se da ne koristite $ kada izvodite export jer želite proslijediti ime varijable umjesto njenog sadržaja.

Lakši način za kreiranje varijable okruženja je kombinovanje obje gore navedene metode, dodjeljivanjem vrijeednosti varijable u dijelu naredbe sa argumentima.

$ export greeting=hey

Provjerimo ponovo da li je varijabla dostupna podprocesima:

$ export greeting=hey
$ echo $greeting world
hey world
$ bash -c 'echo $greeting world'
hey world

Drugi način korištenja varijabli okruženja je da ih koristite ispred komandi. Ovo možemo testirati sa varijablom okruženja TZ koja sadrži vremensku zonu. Ovu varijablu koristi komanda date da odredi vrijeme koje vremenske zone treba prikazati:

$ TZ=EST date
Thu 31 Jan 10:07:35 EST 2019
$ TZ=GMT date
Thu 31 Jan 15:07:35 GMT 2019

Možete prikazati sve varijable okruženja koristeći komandu env.

'PATH' varijabla

Varijabla PATH je jedna od najvažnijih varijabli okruženja u Linux sistemu. Pohranjuje listu direktorija, odvojenih dvotačkom, koji sadrže izvršne programe, koji su podobni kao naredbe iz Linux šela.

$ echo $PATH
/home/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Da biste dodali novi direktorij varijabli, morat ćete koristiti znak dvotačke (:).

$ PATH=$PATH:new_directory

Evo primjera:

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$ PATH=$PATH:/home/user/bin
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/user/bin

Kao što vidite, $PATH se koristi u novoj vrijednosti dodijeljenoj PATH-u. Ova varijabla se rješava tokom izvršavanja komande i osigurava očuvanje originalnog sadržaja varijable. Naravno, možete koristiti i druge varijable u zadatku:

$ mybin=/opt/bin
$ PATH=$PATH:$mybin
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/user/bin:/opt/bin

Sa PATH varijablom treba postupati oprezno, jer je ključna za rad na komandnoj liniji. Razmotrimo sljedeću varijablu PATH:

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Da saznate kako šel poziva određenu komandu, možete pokrenuti komandu 'which' sa imenom komande kao argumentom. Možemo, na primjer, pokušati saznati gdje je nano pohranjen:

$ which nano
/usr/bin/nano

Kao što se može vidjeti, izvršna datoteka nano nalazi se unutar direktorija /usr/bin. Uklonimo direktorij iz varijable i provjerimo radi li naredba još uvijek:

$ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games

Pogledajmo 'nano' komandu još jednom:

$ which nano
which: no nano in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games)

Kao što se može vidjeti, komanda nije pronađena, dakle nije izvršena. Poruka o grešci također objašnjava razlog zašto komanda nije pronađena i na kojim lokacijama je tražena.

Dodajmo nazad direktorije i pokušajmo ponovo pokrenuti komandu.

$ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$ which nano
/usr/bin/nano

Sada naša komanda radi ponovo.

Tip

Redoslijed elemenata u PATH varijabli također definira redoslijed traženja ili pretrage. Prvi odgovarajući izvršni fajl pronađen dok prolazi kroz staze ako se izvrši.

Vođene vježbe

  1. Kreirajte lokalnu varijablu 'number'.

  2. Kreirajte varijablu okruženja 'ORDER', koristeći gornje metode.

  3. Prikažite naziv varijable i njen sadržaj.

  4. Koji je opseg prethodno kreiranih varijabli?

Istraživačke vježbe

  1. Kreirajte lokalnu varijablu nr_files i dodijelite broj linija pronađenih u datoteci /etc/passwd. Savjet: Pogledajte naredbu wc i zamjenu komande i ne zaboravite na navodnike.

  2. Kreirajte varijablu okruženja ME. Dodijelite joj vrijednost varijable USER

  3. Dodajte vrijednost varijable HOME na ME, s dvotačkom`:`. Prikažite sadržaj varijable ME.

  4. Koristeći gornji primjer datuma, kreirajte varijablu pod nazivom today i dodijelite datum za jednu od vremenskih zona.

  5. Kreirajte drugu varijablu pod nazivom today1 i dodijelite joj sistemski datum.

Sažetak

U ovom labu ste naučili:

  • Tipove varijabli

  • Kako se kreiraju varijable

  • Kako manipulisati varijablama

Komande korištene u ovoj vježbi:

env

Prikaži varijable okruženja.

echo

Prikaži tekst.

export

Učini lokanu varijablu dostupnu podprocesima.

unset

Ukloni varijablu.

Odgovor na vođene vježbe

  1. Kreirajte lokalnu varijablu 'number'.

    $ number=5
  2. Kreirajte varijablu okruženja 'ORDER', koristeći gornje metode.

    $ export ORDER=desc
  3. Prikažite nazive varijabli i njihov sadržaj.

    $ echo number
    number
    $ echo ORDER
    ORDER
    $ echo $number
    5
    $ echo $ORDER
    desc
  4. Koji je opseg prethodno kreiranih varijabli?

    • Opseg kreirane varijable 'number' je trenutni šel

    • Opseg kreirane varijable 'ORDER' je trenutni sistem.

Odgovori na istraživačke vježbe

  1. Kreirajte lokalnu varijablu nr_files i dodijelite broj linija pronađenih u datoteci /etc/passwd. Savjet: Pogledajte naredbu wc i zamjenu komande i ne zaboravite na navodnike.

    $ nr_files=`wc -l /etc/passwd`
  2. Kreirajte varijablu okruženja ME. Dodijelite joj vrijednost varijable USER

    $ export ME=$USER
  3. Dodajte vrijednost varijable HOME na ME, s dvotačkom`:`. Prikažite sadržaj varijable ME.

    $ ME=$ME:$HOME
    $ echo $ME
    user:/home/user
  4. Koristeći gornji primjer datuma, kreirajte varijablu pod nazivom today i dodijelite datum za jednu od vremenskih zona.

    U nastavku se koriste GMT i EST vremenske zone kao primjer, ali bilo koji odabir vremenske zone je važeći.

    $ today=$(TZ=GMT date)
    $ echo $today
    Thu 31 Jan 15:07:35 GMT 2019

    or

    $ today=$(TZ=EST date)
    $ echo $today
    Thu 31 Jan 10:07:35 EST 2019
  5. Kreirajte drugu varijablu pod nazivom today1 i dodijelite joj sistemski datum.

    Pod pretpostavkom da ste u GMT:

    $ today1=$(date)
    $ echo $today1
    Thu 31 Jan 10:07:35 EST 2019

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.2 Upotreba komande linije u traženju pomoći (2.2 Lekcija 1)

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.