Scripta L102

download Scripta L102

of 176

Transcript of Scripta L102

  • 8/16/2019 Scripta L102

    1/176

    Linux za napredne korisnike

    Ra čunski centar Elektrotehni čkog fakulteta Univerziteta u BeograduKralja Aleksandra 73

    11000 Beogradwww.etf.bg.ac.yu

    15. decembar 2002

  • 8/16/2019 Scripta L102

    2/176

    Sadržaj

    1 Uvod u Linux 11.1 Poreklo Linuxa . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Poreklo i osnove Unixa . . . . . . . . . . . . . . . . . . . . . 31.3 Standardi Unixa . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Osobine Linuxa i Unixa . . . . . . . . . . . . . . . . . . . . . 51.5 Linux — Jezgro (kernel) sistema . . . . . . . . . . . . . . . 61.6 GNU/Linux distribucije . . . . . . . . . . . . . . . . . . . . . 71.7 Razlǐcita lica GNU/Linux Sistema . . . . . . . . . . . . . . . 81.8 Fajl sistem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.9 Taskovi/Procesi . . . . . . . . . . . . . . . . . . . . . . . . . 101.10 Komunikacija me d̄u procesima . . . . . . . . . . . . . . . . 111.11 Bourne Again Shell ( ) . . . . . . . . . . . . . . . . . . . 121.12 Rad sa Linuxovim ‘terminalima’ . . . . . . . . . . . . . . . . 131.13 Prijavljivanje na sistem (logovanje) . . . . . . . . . . . . . . 141.14 Menjanje lozinke . . . . . . . . . . . . . . . . . . . . . . . . 151.15 Kontrolni znaci . . . . . . . . . . . . . . . . . . . . . . . . . 161.16 Softverski alati: UNIX lozoja . . . . . . . . . . . . . . . . . 171.17 Preusmeravanje ulaza i izlaza u i iz fajlova . . . . . . . . . . 181.18 ‘Cevi’ i alati . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.19 Programeri vole Linux . . . . . . . . . . . . . . . . . . . . . 201.20 Izvršavanje komandi . . . . . . . . . . . . . . . . . . . . . . 211.21 Dokumentacija . . . . . . . . . . . . . . . . . . . . . . . . . 221.22 Koriš́cenje man stranica (On-Line Manual) . . . . . . . . . . 241.23 Pregled: vežbe . . . . . . . . . . . . . . . . . . . . . . . . . 251.24 Pregled: rešenja . . . . . . . . . . . . . . . . . . . . . . . . 29

    2 Fajl sistemi na Linuxu 32Ciljevi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    2.1 Pregled fajl sistema . . . . . . . . . . . . . . . . . . . . . . . 332.2 Fajlovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.3 Direktorijumi . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.4 Hijerarhija direktorijuma . . . . . . . . . . . . . . . . . . . . 362.5 Putanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    i

  • 8/16/2019 Scripta L102

    3/176

    SADRŽAJ ii

    2.6 Tekúci direktorijum . . . . . . . . . . . . . . . . . . . . . . . 382.7 Tačka (.) i TǎckaTačka(..) . . . . . . . . . . . . . . . . . . . 392.8 Pomeranje i kopiranje fajlova . . . . . . . . . . . . . . . . . 402.9 Brisanje fajlova . . . . . . . . . . . . . . . . . . . . . . . . . 412.10 Operacije na direktorijumima . . . . . . . . . . . . . . . . . 42

    2.11 I-nodovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432.12 I-nodovi (nastavak ) . . . . . . . . . . . . . . . . . . . . . . . 442.13 Linkovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452.14 Hard linkovi . . . . . . . . . . . . . . . . . . . . . . . . . . . 462.15 Soft linkovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472.16 Kontrola pristupa i UID-i . . . . . . . . . . . . . . . . . . . . 482.17 Kategorije kontrole pristupa . . . . . . . . . . . . . . . . . . 492.18 Kontrola pristupa - primer . . . . . . . . . . . . . . . . . . . 502.19 Menjanje prava pristupa: . . . . . . . . . . . . . . . . 512.20 simbolǐcki . . . . . . . . . . . . . . . . . . . . . . . . 522.21 numerǐcki . . . . . . . . . . . . . . . . . . . . . . . . . 53

    2.22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542.23 Specijalni fajlovi - . . . . . . . . . . . . . . . . . . . . . 552.24 Specijalni fajlovi - . . . . . . . . . . . . . . . . . . . . 562.25 Struktura fajl sistema . . . . . . . . . . . . . . . . . . . . . . 572.26 - Primer . . . . . . . . . . . . . . . . . . . . . . 582.27 Mount-ovanje dodatnih volumena . . . . . . . . . . . . . . . 592.28 Mount-ovanje deljenih fajl sistema . . . . . . . . . . . . . . 602.29 Sažetak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612.30 Fajl sistemi: vežbe . . . . . . . . . . . . . . . . . . . . . . . 622.31 Fajl sistemi: rešenja . . . . . . . . . . . . . . . . . . . . . . 64

    3 Komandni interpreter 66

    Ciljevi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.2 Kretanje po komandnoj liniji . . . . . . . . . . . . . . . . . . 683.3 Komandna istorija . . . . . . . . . . . . . . . . . . . . . . . 693.4 ‘Cevovodi’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703.5 Redirekcija izlaza . . . . . . . . . . . . . . . . . . . . . . . . 713.6 Redirekcija ulaza . . . . . . . . . . . . . . . . . . . . . . . . 723.7 Kombinovana redirekcija . . . . . . . . . . . . . . . . . . . . 733.8 Pajplajni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.9 Procesi u pozadini . . . . . . . . . . . . . . . . . . . . . . . 753.10 Procesi u pozadini (nastavak) . . . . . . . . . . . . . . . . . 76

    3.11 Procesi u pozadini i . . . . . . . . . . . . . . . . . . . 773.12 Grupisanje komandi i subshell-ovi . . . . . . . . . . . . . . . 783.13 Upravljanje procesima . . . . . . . . . . . . . . . . . . . . . 793.14 Signali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.15 Procesi u pozadini: . . . . . . . . . . . . . . . . . . . . 81

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    4/176

    SADRŽAJ iii

    3.16 Generisanje imena fajlova . . . . . . . . . . . . . . . . . . . 823.17 Znakovi navoda . . . . . . . . . . . . . . . . . . . . . . . . . 833.18 Komande ugra d̄ene u komandni interpreter . . . . . . . . . 843.19 Komandni interpreter: vežbe . . . . . . . . . . . . . . . . . 853.20 Komandni interpreter: rešenja . . . . . . . . . . . . . . . . . 87

    4 Osnovni Linux alati 89Ciljevi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

    4.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904.2 Koriš́cenje alata . . . . . . . . . . . . . . . . . . . . . . . . . 914.3 On-line uputstva ( ) . . . . . . . . . . . . . . . . . . . . . 924.4 Pronalaženje fajlova na duži način ( ) . . . . . . . . . . 934.5 Pronalaženje fajlova u bazi fajlova ( ) . . . . . . . . . 944.6 Prikazivanje i spajanje fajlova ( ) . . . . . . . . . . . . . . 954.7 Prikazivanje velikih fajlova ( ) . . . . . . . . . . . . . . . 964.8 Pregled delova fajlova ( i ) . . . . . . . . . . . . . . 974.9 Listing informacija o fajlu ( ) . . . . . . . . . . . . . . . . . 984.10 Klasikacija fajlova ( ) . . . . . . . . . . . . . . . . . . . 994.11 Brojanje rěci, linija i znakova ( ) . . . . . . . . . . . . . . . 1004.12 Razlike me d̄u fajlovima ( ) . . . . . . . . . . . . . . . . . 1014.13 Pore d̄enje binarnih fajlova ( ) . . . . . . . . . . . . . . . . 1034.14 Pretraživanja koriš́cenjem regularnih izraza ( ) . . . . . 1044.15 Sortiranje i spajanje fajlova ( ) . . . . . . . . . . . . . . . 1054.16 — primeri . . . . . . . . . . . . . . . . . . . . . . . . . 1064.17 Izbacivanje dupliciranih linija ( ) . . . . . . . . . . . . . . 1074.18 Deljenje linija ( ) . . . . . . . . . . . . . . . . . . . . . . 1084.19 Deljenje fajlova po kontekstu ( ) . . . . . . . . . . . . 1094.20 Rad sa arhivama ( ) . . . . . . . . . . . . . . . . . . . . . 1104.21 Alati za kompresiju ( ) . . . . . . . . . . . . . . . . . . . 1114.22 Prevo d̄enje znakova ( ) . . . . . . . . . . . . . . . . . . . . 1124.23 Primeri upotrebe komande . . . . . . . . . . . . . . . . . 1134.24 Manipulacija tekstom ( ) . . . . . . . . . . . . . . . . . . . 1144.25 Manipulacija tekstom ( ) . . . . . . . . . . . . . . . . . . . 1154.26 Štampanje pod Linuxom . . . . . . . . . . . . . . . . . . . . 1164.27 Štampanje dokumenata . . . . . . . . . . . . . . . . . . . . 1174.28 Glavni alati za štampanje . . . . . . . . . . . . . . . . . . . 1184.29 Koriš́cenje komande . . . . . . . . . . . . . . . . . . . . 1194.30 Koriš́cenje komande . . . . . . . . . . . . . . . . . . . . 1204.31 Koriš́cenje komande . . . . . . . . . . . . . . . . . . . 121

    4.32 Osnovni Linux alati: vežbe . . . . . . . . . . . . . . . . . . . 1224.33 Osnovni Linux alati: rešenja . . . . . . . . . . . . . . . . . . 124

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    5/176

    SADRŽAJ iv

    5 Editovanje sa editorom 127Ciljevi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

    5.1 Editori teksta u Linuxu . . . . . . . . . . . . . . . . . . . . . 1285.2 i vaš terminal . . . . . . . . . . . . . . . . . . . . . . . . 1295.3 Izgled ekrana u editoru . . . . . . . . . . . . . . . . . . . 130

    5.4 Otvaranje fajlova sa editorom . . . . . . . . . . . . . . . 1315.5 Modovi edtiora . . . . . . . . . . . . . . . . . . . . . . . . 1325.6 Snimanje, menjanje fajla i izlazak iz editora . . . . . . . . . 1335.7 Kretanje kroz tekst u komandnom modu . . . . . . . . . . . 1345.8 Numerǐcki preksi . . . . . . . . . . . . . . . . . . . . . . . . 1355.9 Drugi nǎcini kretanja kroz tekst . . . . . . . . . . . . . . . . 1365.10 Ostali nǎcini kretanja - primer . . . . . . . . . . . . . . . . . 1375.11 Kretanje po linijama teksta . . . . . . . . . . . . . . . . . . . 1385.12 Kretanje po linijama teksta - primer . . . . . . . . . . . . . . 1395.13 Unošenje teksta . . . . . . . . . . . . . . . . . . . . . . . . 1405.14 Komanda . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

    5.15 Višestruki unos . . . . . . . . . . . . . . . . . . . . . . . . . 1425.16 Brisanje teksta . . . . . . . . . . . . . . . . . . . . . . . . . 1435.17 Menjanje teksta . . . . . . . . . . . . . . . . . . . . . . . . . 1445.18 Kopiranje i lepljenje teksta . . . . . . . . . . . . . . . . . . . 1455.19 Pretraživanje teksta . . . . . . . . . . . . . . . . . . . . . . 1465.20 Razne komande . . . . . . . . . . . . . . . . . . . . . . . . 1475.21 Editovanje sa editorom - vežbe . . . . . . . . . . . . . . 1485.22 Editovanje sa editorom - rešenja . . . . . . . . . . . . . . 150

    6 Osnovni rad sa X Window sistemom 153Ciljevi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

    6.1 Šta je X Window sistem . . . . . . . . . . . . . . . . . . . . 1546.2 X-u su potrebni window menadžeri . . . . . . . . . . . . . . 1556.3 Window menadžeri su aplikacije . . . . . . . . . . . . . . . 1566.4 Desktop okruženja . . . . . . . . . . . . . . . . . . . . . . . 1576.5 Pokretanje X-a . . . . . . . . . . . . . . . . . . . . . . . . . 1586.6 Zaustavljanje X-a . . . . . . . . . . . . . . . . . . . . . . . . 1596.7 Pokretanje komandnog interpretera (Xterm) pod X-ima . . . 1606.8 Pokretanje aplikacija iz -a . . . . . . . . . . . . . . . . 1616.9 Pokretanje aplikacija iz window menadžera . . . . . . . . . 1626.10 Kongurisanje X-a . . . . . . . . . . . . . . . . . . . . . . . 1636.11 Osnovna konguracija X hardvera . . . . . . . . . . . . . . 1646.12 Umreženi X - klijent-server model . . . . . . . . . . . . . . . 165

    6.13 Principi izvršavanja udaljenih X aplikacija . . . . . . . . . . 1666.14 Kako pokretati udaljene X aplikacije . . . . . . . . . . . . . 1676.15 Autentikacija . . . . . . . . . . . . . . . . . . . . . . . . . . 1686.16 Bolja autentikacija . . . . . . . . . . . . . . . . . . . . . . . 1696.17 Osnovni rad sa X Window sistemom - vežbe . . . . . . . . . 170

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    6/176

    Glava 1

    Uvod u Linux

    Poreklo Osnove Brzi pǒcetak

    1

  • 8/16/2019 Scripta L102

    7/176

    Uvod u Linux 2

    1.1 Poreklo Linuxa

    Linux je besplatna implementacija Unixa

    Unix je motor-pokretǎc računarskih sistema u velikim korporacijama – Dominiraju dve osnovne tehnologije

    Unix IBM AS/400

    – Veoma dobro poznat unutar IT industrije – Skoro tajna van IT industrije

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    8/176

    Uvod u Linux 3

    1.2 Poreklo i osnove Unixa

    Razvijen od strane istraživǎcke grupe AT&T-a

    Razvijen da demonstrira kako na ispravan način napraviti operativnisistem Revolucionarna tehnologija 1976 Smatra se jednim od najbolje strukturiranih operativnih sistema Mnoge stvari koje su prvo razvijene na Unixu i dan danas su bolje

    ura d̄ene na njemu nego na mnogim komercijalnim operativnimsistema.

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    9/176

    Uvod u Linux 4

    1.3 Standardi Unixa

    UNIX is a zaštićena trgovǎcka marka (trademark), čiji je vlasnikOpen Group

    Sistemi moraju próci proces sertikovanja da bi mogli koristiti ime Linux nije fundirana operacija 1

    – Pretpostavlja se da podržava sve potrebne standarde 2

    – Može uspešno próci proces sertikacije – Nikog nije briga – To je razlog zašto se ne koristi zaštićeno ime Unix.

    1 Linux je zašti ćena trgova čka marka čiji je vlasnik Linus Torvalds2 Stru čnjaci smatraju da Linux implementira više POSIX standarda od mnogih komercijal-

    nih Unixa

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    10/176

    Uvod u Linux 5

    1.4 Osobine Linuxa i Unixa

    Sistemi bazirani na komponentama

    Veoma popularni kod ljudi koje poseduju tehnička znanja Nije orijentisan ka ‘rešenjima’ Skupina blokova, ali ne i zgrada Veoma mrežno orijentisan Robustan, mócan, pouzdan

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    11/176

    Uvod u Linux 6

    1.5 Linux — Jezgro (kernel) sistema

    Ono što nazivamo Linuxom je, u stvari, kolekcija komponenti izrazlǐcitih izvora

    – slobodno se mogu kopirati, pod ‘open source’ licencama Linux je, striktno uzevši, samo kernel koji obezbe d̄uje:

    – Zajednǐcki interfejs izme d̄u korisni ̌ ckih procesa i hardvera – Minimalne funkcije za korisničke aplikacije, tzv. sistemske

    pozive

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    12/176

    Uvod u Linux 7

    1.6 GNU/Linux distribucije

    Pomoćni programi obezbēduju véci deo funkcija operativnog sistema

    Stotine GNU pomócnih programa i aplikacija dolaze iz FSF-a 3

    Ostale kljǔcne komponente (Samba, Apache, itd) su uključene udistribucije, ali nisu GNU komponente

    Komercijalne ili polu-komercijalne distribucije:

    – RedHat, SuSE, Debian, Caldera, TurboLinux, Mandrake, itd.

    3 GNU je skra ćenica za ‘Gnu’s Not UNIX’, projekat koji bi trebaoda stvori Unix kompatibilanoperativni sistem bez i jedne linijekoda preuzete iz originalnog Unix koda, koji je u vlasništvuAT&T-a. FSF je skra ćenica za ‘Free Software Foundation’, koja sponzoriše i održava GNUprojekat.

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    13/176

    Uvod u Linux 8

    1.7 Razlǐcita lica GNU/Linux Sistema

    Korisnik može videti do pet aspekata Linuxa:

    – fajl sistem – procese – shell – X prozorski sistem – me ¯ du-procesnu komunikaciju (IPC – Inter-Process

    Communication) Sistem je veoma kongurabilan Razlǐciti korisnici mogu ‘videti’ isti sistem na različite nǎcine Više korisnika koji simultano rade je normalna situacija

    – Linux je iz osnova projektovan da bude višekorisni ̌ cki sistem , ane ‘personalni’ sistem

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    14/176

    Uvod u Linux 9

    1.8 Fajl sistem

    Fajl sistem sadrži sve podatke na sistemu

    Neko ime na fajl sistemu može ukazivati na: – fajl sa podacima , koji može biti:

    obi ̌ can fajl direktorijum

    – ure ¯ daj (disk, traka, terminal itd.) – interna memorija – informacije o operativnom sistemu ( /proc fajl sistem)

    Direktorijumi su grupe fajlova

    Direktorijumi su grupisani u hijerarhijsko stablo

    Fajlovi su potpuno specicirani svojim imenom putanje (pathname ) Ovo je originalna Unix struktura: mnogi operativni sistemi su kopirali

    ovu strukturu

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    15/176

    Uvod u Linux 10

    1.9 Taskovi/Procesi

    Program je izvršni objekat, smešten u fajlu

    Process je izvršavaju ́ ci objekati, npr. 4

    – Instanca programa u izvršavanju Postojeći procesi mogu da se ‘fork uju’ da bi kreirali nove procese

    – to je jedini nǎcin da se kreira novi proces Jedan korisnik može izvršavati više kopija istog programa Više korisnika mogu izvršavati jednu/više kopija istog programa Sistem prati vlasništvo i prava

    4 Procesi se često nazivaju taskovima , kao u izrazu ‘multi-tasking’

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    16/176

    Uvod u Linux 11

    1.10 Komunikacija me d̄u procesima

    Procesi mogu da sara d̄uju med̄usobno na sledéce načine:

    – deljenjem fajlova – signaliziranjem dogādaja – direktnim transferom podataka – ‘cevima’ (engl. pipelines ) (tokovi podataka) – me d̄usobnom sinhronizacijom

    Linux obezbēduje uslove za:

    – signale – deljenu memoriju – ‘cevi’, i imenovane i neimenovane – semafore – ostale

    Procesi mogu koristiti rǎcunarske mreže radi komunikacije,omogúcavajući klijent-server model

    – Ovaj nǎcin je uobǐcajen za servise kao što je štampanje

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    17/176

    Uvod u Linux 12

    1.11 Bourne Again Shell ( )

    Shell (čita se ‘šel’) ili ‘ljuska’ je program sa kojim korisnik interaguje

    Može biti bilo kakav program, ali je normalno komandni interpreter Komandni interpreter se obično startuje kada se ulogujete (ali to je

    samo jedan od nǎcina njegovog pokretanja) ‘Standardni’ komandni interpreter na Linuxu je sličan shell -u i

    zove se 5

    Sintaksa komandi koju pruža omogúcava manipulacijufajlovima i procesima

    Početnici se plaše kompleksnosti komandne linije, ali to je omiljennačina rada iskusnih korisnika.

    5 ima više funkcija nego originalni shell-ovi; uklju čena je ve ćina inovacija kojesu uveli i shell-ovi. funkcije i opcije se razlikuju u raznim implementacijamaUNIX-a i Linuxa. and Linux. Verzija -a in teku ćim Linux distribucijama je najfunkcional-niji shell.

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    18/176

    Uvod u Linux 13

    1.12 Rad sa Linuxovim ‘terminalima’

    Linux može podržati bilo koji broj ‘terminal’ tipova

    npr. ulazno-izlazni ure d̄aji kao što su kombinacija monitorai tastature Većina će koristiti konzolu ili terminalski prozor ali ako koristite nešto

    drugo:

    – Linux obǐcno čuva bazu podataka o mogúcnostima terminala ufajlu 6

    – Ako vaš tip terminala nije zabeležen u , imáceteproblema prilikom rada sa nekim programima, npr.

    kurzorski upravljanim aplikacijama ( , , editori,

    itd.) – Promenljiva okruženja govori programima koji tip terminalakorisnik koristi

    6 AT&T verzije UNIX-a koriste fajl za smeštanje tih istih informacija štoi Linux može.

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    19/176

    Uvod u Linux 14

    1.13 Prijavljivanje na sistem (logovanje)

    Da bi ste se ulogovali na sistem potrebno je da unesete:

    – korisni ̌ cko ime – lozinku Vaš shell startuje automatski po prijavljivanju na sistem Ako je u pitanju komandni interpreter, prvo što vidite je prompt Podrazumevani prompt za je znak za dolar ( ) 7

    Alternativni nǎcini prijavljivanja na sistem tako d̄e postoje, tako damožete:

    – videti da se pokréce X prozorski sistem – prijavljujete se preko prozorskog terminal servera

    Osnovni pristup na PC-ima je da se koriste tastatura i monitor kaoglupi terminal

    7 Znak za dolar je, u stvari, podrazumevan za obi ˇ cnog korisnika. Super-user obi čno imaznak ‘hash’ (#) kao svoj prompt. Pojedinac može, ako to želi, da podesi svaki aspekt po- javljivanja prompta. Na primer, nekolikopodrazumevanih setup-a stave vaše korisni čko ime,ime ra čunara i teku ći direktorijum ispred znaka prompta.

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    20/176

    Uvod u Linux 15

    1.14 Menjanje lozinke

    Lozinke su kritični elementi bezbednosti sistema

    Postavljaju se i menjaju preko komande Kao véc imate lozinku, će vas pitati da je unesete pre nego

    što vam dozvoli bilo kakvu promenu

    – Superuser može promeniti lozinku bilo kom korisniku vodi rǎcuna o greškama u kucanju tako što od vas traži da

    novu lozinku ukucate dva puta Linuxove verzije komande odvrácaju vas od izbora loših

    lozinki 8

    Primer upotrebe (sa postojécom lozinkom):

    Ni postojéca ni izmenjena lozinka se ne prikazuje na ekranu

    8 Linux ne voli male ili jednostavne lozinke, posebno ne re či iz re čnika. Preferira 8 ili višeslova kao mešavinu malih i velikih, sa brojevima, interpunkcijskim znacima, itd. ali će nekedistribucije prihvatiti loše lozinke ako insistirate. Neke implementacije Linuxa i UNIX-a vasaktivno onemogu ćavaju da izaberete loše lozinke. Ostale će vas ograni čiti na lozinke od 8znakova, da bi zadržali kompatibilnost na multi-platformskim mrežama.

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    21/176

    Uvod u Linux 16

    1.15 Kontrolni znaci

    Linux ignoriše komande sve dok ne pritisnete

    Nekoliko posebnih sekvenci znakova se prepoznaje Dole navedene su obǐcno pre-podešene, ali mogu biti promenjene

    komandom ;

    NAZIV AKCIJA SEKVENCAKILL Poništi celu liniju INTERRUPT Prekini izvršavanje QUIT Prekini izvršavanje i generiši core-dump SUSPEND Suspenduj izvršavanje programa ERASE Izbriši poslednji znak EOF Generiši kraj fajla (end-of-le)

    Zaustavite programe koji se izvršavaju sa ( ) Pokrenite i zaustavite ispis na ekran koristeći i

    respektivno

    – ‘paging’ programi (npr. , ili ) su bolji

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    22/176

    Uvod u Linux 17

    1.16 Softverski alati: UNIX lozoja

    Pravi UNIX-oliki sistemi tretiraju programe kao alate

    – Svaki alat bi trebao da: radi samo jednu stvar, i to dobro bude generǐcki (nevezan za pojedine aplikacije)

    – Za nove poslove, napravite nove alate – (Re)kombinujte, ne kompicirajte stare alate

    Linux ovo može zato što ima: dva jednostavna objekta

    – fajl

    – proces jednostavne nǎcine povezivanja :

    – procesa sa fajlovima – procesa sa procesima

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    23/176

    Uvod u Linux 18

    1.17 Preusmeravanje ulaza i izlaza u i izfajlova

    Većina procesa će uzimati svoj ulaz iz shell-a i ispisivati izlaz naekran

    I ulazni i izlazni tokove mogu biti preusmereni u ili iz fajlova Izlaz u fajl (kreiranje ili prepisivanje preko postojećeg sadržaja):

    Dodavanje izlaza u fajl:

    Uzimanje ulaznih podataka iz jednog fajla, ispis u drugi fajl:

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    24/176

    Uvod u Linux 19

    1.18 ‘Cevi’ i alati Linuxovi alati se ponašaju kao ltri:

    – uzimaju podatke sa ulaznog toka, modikuju ih i šalju ih dalje – očekuju da podaci dolaze od drugih alata – prave izlazne podatke takve da ih bilo koja druga alatka može

    procesirati, npr. ASCII tekst Izlaz jednog alata je vezan na ulaz drugog:

    – Indirektno , preko fajla koji kreira prvi alat – Direktno , preko cevi ili cevovoda

    Npr. da listate kroz obrnuto (od poslednjeg ka prvom slovu)sortiranog fajla sa lozinkama na ekranu:

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    25/176

    Uvod u Linux 20

    1.19 Programeri vole Linux Hijerarhijski sistem fajlova Široki skup mo ́ cnih alata

    – za pravljenje softvera, administriranje sistema i podršku Standardan sistemski interfejs

    – samo jedan set procedura za ǔcenje Procesi interaguju sa nepoznatim fajlovima

    – programi ispisuju izlazne podatke identično u fajlove i u ure d̄aje Modularna arhitektura obezbe d̄uje potpuno podešljiv OS, kao na

    primer:

    – OS posvécen iskljǔcivo renderovanju grake – Sistem opšte namene na jednom opiju

    Fleksibilan korisni ˇ cki interfejs dozvoljava unikatno podešavanjeprogramskih okruženja

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    26/176

    Uvod u Linux 21

    1.20 Izvršavanje komandi Komande

    – su samo alati/pomócni programi koji se pokreću iz shella Imena fajlova (lenames ) i imena putanja (pathnames )

    – Da bi izvršili bilo koju komandu otkucajte njeno ime fajla – Ukoliko ne postoji ime putanje, shell će pretražiti standardnu

    listu direktorijuma da bi pronašao izvršni fajl sa datim imenom – Ova lista se naziva putanja pretraživanja (search path )

    denisana je promenljivom okruženja može se podešavati od strane pojedinǎcnih korisnika

    Sintaksa

    – Ime komande, opcioni argumenti, imena fajlova

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    27/176

    Uvod u Linux 22

    1.21 Dokumentacija Bogata, ali fragmentirana i često duplicirana

    Uputstvo Klasǐcne ‘man strane ’, prva stanica za iskusnekorisnike, vredi ih naǔciti

    strane tekstovi u hipertekst formatu, sa me d̄usobnimlinkovima, često identǐcne ili unaprēdene verzijeman stranica, pretežno za GNU alate i programe

    ascii/html dokumenti instalirani zajedno saprogramom

    Howto fajlovi Tutorijali o temama vezanim za Linux, dostupnion-line ako su instalirani (obično u )

    www Novi programi obično su dokumentovani na

    autorizovanim sajtovima, ostali (uključujući i starijealate) su dokumentovani na sajtovima koje jenapravila tréca strana

    Tabela 1.1: Izvori Linux dokumentacije

    Linux man strane obǐcno imaju ove sekcije:

    1. Korisnǐcke komande2. Sistemski pozivi

    3. Potprogrami, ukljǔcujúci i bibliotěcke rutine4. Ure d̄aji, ukljǔcujúci i mrežne interfejse5. Formati fajlova6. Igre7. Razno8. Administracija sistema9. Novo (veoma veliko u Linuxu)

    Komanda pretražuje linije sa opisom u svim manstranicama tražéci zadatu rěc. Tako:

    će pronaći sve man strane koje se odnose na printere, npr:

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    28/176

    Uvod u Linux 23

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    29/176

    Uvod u Linux 24

    1.22 Korišćenje man stranica (On-LineManual)

    Koristite komandu da bi videli man strane o datoj komandi, npr.

    Rezultat bi trebao da bude nešto slično sledećem:

    Uglaste zagrade okružuju opcione argumente komandi

    Govori da je komanda u sekciji 1 man uputstva Da bi videli man stranu iz odre d̄ene sekcije koristite

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    30/176

    Uvod u Linux 25

    1.23 Pregled: vežbe

    1. Prijavljivanje na sistem

    (a) Vežbajte logovanje na sistem ukucavanjem vašeg korisničkogimena i lozinke kao odgovora na promptove i, kao npr. 9

    Jednom kada ste ulogovani, prom,pt ( ) se ispisuje; ovoindicira da je shell spreman da prima komande.

    (b) Izlogujte se, ukucavajúci na prompt. Trebalo bi dadobijete nov prompt, sa kojeg se možete ponovoulogovati.

    2. Menjanje lozinki

    (a) Postavite sebi novu lozinku koristeći komandu.Pokrenite komandu ukucavajúci , prácen sa .

    3. Navigacija po man stranama

    (a) Otkucajte da bi otvorili man stranu koda detaljnoobjašnjava kako se koristi komanda

    (b) Pritisnite (help - pomóc) taster, koji otvara “Summary of LessCommands”, ukljǔcujúci sve sekvence znakova koje vamtrebaju da bi ste navigirali kroz man stranu

    (c) Iza d̄ite iz uputstva pritiskom na i iza d̄ite iz man strane(pritiskajúci ponovo). Kada ponovo budete na shell promptu,ponovite prva dva koraka da biste otvorili “Summary of LessCommands” iz man strane.

    (d) Koristite “Summary of Less Commands” da biste naučili kakoda odradite sledéce korake u navigaciji po man strani:

    i. Pomaknite se na vrh i dno man straneii. Krécite se gore-dole po jedan ekran tekstaiii. Krécite se gore-dole po jednu liniju tekstaiv. Tražite unapred patern (npr. neku rěc)

    9 Posle svakog unosa je potrebno pritisnuti , da bi se shellu saopštilo daste gotovi sa ukucavanjem i da treba da počne da procesira vaš zahtev. Obratitepažnju na to da se lozinka ne ispisuje na ekran da bi se sačuvala tajnom

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    31/176

    Uvod u Linux 26

    v. Tražite unazad patern vi. Ponovite pretragu unapred za patern koristéci jedan tastervii. Ponovite pretragu unazad za patern koristéci jedan tasterviii. Postavite se na odre d̄enu liniju zadatu brojem

    (e) Testirajte sa partnerom koliko dobro oboje umete da navigiratepo man strani, npr. postavite jedno drugom ciljnu lokaciju ilireč koju treba pronáci.

    4. Pozivanje odgovaraju ´ ce man strane

    (a) Koristéci man stranu, prona d̄ite komandni niz znakova(string ) koji vam treba da uradite sledeće:

    i. Listu man stranica čije linije opisa sadrže detalje o ‘whatis’bazi

    ii. Listu man strana koje sadrže string ‘cdrom’ 10

    iii. Listu man strana iz odre d̄ene sekcije (npr. 1) uputstva, čijelinije opisa sadrže rěc ‘print’

    (b) Vežbajte koriš́cenje ovih opcija da biste pronašli i pogledali manstrane koje sadrže kljǔcne reči koje vam zada vaš partner (iobrnuto), npr.

    i. bitmap formati kao jpg, gif, xpm, bmpii. pojmovi iz oblasti komunikacija kao modem, serial, telnet,

    ethernet, pcmcia, pppiii. fajlsistemi kao NFS, ext2, FAT, vfat, msdos, samba

    5. Pronalaženje informacija o vašem sistemu i korisnicima

    (a) Otkucajte sledéce komande. Identikujte šta svaka od njihgovori o vašem sistemu.

    i. ii. iii. iv. v. vi. vii. viii. 11

    10 Stvarno startovanje ove vrste pretrage može dugo potrajati, budući da mnogisistemi sadrže preko 500 man strana, od kojih su neke veoma duge.11 Trebali bi primetiti nešto veoma čudno oko ispisa ove komande. komanda

    je potpuno funkcionalna, u čemu je onda problem?

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    32/176

    Uvod u Linux 27

    ix. x. xi.

    xii. xiii. xiv.

    (b) Koristite odgovarajúce man strane da bi proverili da li ste dobrointerpretirali izlaze ovih komandi

    6. Kreiranje novih fajlova

    (a) Pokušajte da napravite novi prazan fajl u svom homedirektorijumu koristeći komandu, npr.

    (b) Pogledajte detalje o lename koristéci ovu komandu:

    (c) Sačekajte jedan minut, onda ponovite prethodna dva koraka, tj.

    i. Koji od detalja vezanih za fajl su se promenili?ii. Šta vam to govori o nameni komande? Pogledajte

    man stranu ako niste sigurni.(d) i. Napravite novi fajl koji sadrži izlaz iz komande, koristéci

    preusmeravanje:

    ii. Zamolite svog partnera da kreira nove fajlove saodgovarajúcim imenima, koje bi sadržale izlaz iz gorenavedenih komandi koje vrácaju informacije o sistemu.

    7. Dodavanje informacija u fajl

    (a) Sa partnerom odaberite nekoliko komandi iz gornje vežbe čijiizlazi su se možda promenili pošto ste okončali prethodnuvežbu. Vežbajte dodavanje novog sadržaja na fajlove kojisadrže postojeći izlaz.

    (b) Kreirajte fajl koji sadrži izlaz iz , komande, a zatim dodajte izlaziz komande na njega, prácenog sa novim izlazom iz

    komande, tj. postavite vremensku oznaku za novi izlaz.8. Koristite jednostavne ‘cevi’

    (a) Preusmerite izlaz iz komande kroz komandu da bidobili ispis u obrnutom redosledu

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    33/176

    Uvod u Linux 28

    (b) Sortirajte svoj fajl po abecednom redu i pošaljiteizlaz u novi fajl

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    34/176

    Uvod u Linux 29

    1.24 Pregled: rešenja1. Prijavljivanje na sistem

    (a) N/A — radi ili ne radi.(b) N/A — radi ili ne radi.

    2. Menjanje lozinki

    (a) N/A — Odgovori će varirati od sistema do sistema, zavisno odtoga koliko je primenjen princip izbora dobrih lozinki.

    3. Navigacija po man stranama

    (a) N/A(b) N/A — Moguće je da neke Linux distribucije ne koriste za

    ispis man strana. Ako je to slučaj kod vas, pokušajte da otkrijetekako da navigirate kroz taj setup i odgovorite na ista pitanja onavigaciji.

    (c) N/A(d) Sekvence znakova za osnovnu navigaciju kroz man strane:

    Instrukcija SekvencaVrh man strane Dno man strane

    Napred jedan ekran Nazad jedan ekran

    Gore za jednu liniju

    Dole za jednu liniju patern pretraga unapredpatern pretraga unazadPonavljanje pretrage unapredPonavljanje pretrage unazadSkok na n -tu liniju

    Tabela 1.2: Sekvence znakova za osnovnu navigaciju po man stranama

    Napomena: Nekoliko različitih sekvenci se može koristiti za isto

    kretanje. Ovo je čest slučaj u UNIX alatima dizajniranim da rade sabilo koje tastature. uvek ima metod sa jednim tasterom. Metodisa više tastera su prikazani bez razmaka me d̄u njima.

    4. Pozivanje odgovaraju ´ ce man strane

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    35/176

    Uvod u Linux 30

    (a) i. ili, sa manjom razlikom:

    ii. iii.

    (b) Vežbajte koriš́cenjem ovih opcija da bi pronašli i prikazali manstrane koje sadrže kljǔcne reči koje vam je vaš partner zadao (iobrnuto), npr:

    i. e.g.

    ii. e.g.

    iii. e.g.

    5. Pronalaženje informacija o vašem sistemu i korisnicima

    (a) Vidi tabelu 1.3(b) Vidi tabelu 1.3

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    36/176

    Uvod u Linux 31

    Komandni string Izlaz Vaše korisnǐcko ime Vaše korisnǐcko ime plus rǎcunar(i) i terminali

    na kojima radite Korisnǐcka imena korisnika koji su trenutno

    ulogovani Ko je ulogovan, kad i odakle Ko je ulogovan, kad, odakle, koji proces i koje

    resurse sistema koriste Tekući datum i vreme, može i da ih podešava(samo root korisnik) Kalendar za avgust 1999 Kalendar za septembar 1752. Čudan jer je 12

    dana ‘izgubljeno’ zbog prelaska sa julijanskogna gregorijanski kalendar

    Zbirni prikaz zauzetog i slobodnog prostora nadiskovima, tj. particijama

    Puno ime i putanja za izvršni fajl

    Veoma slǐcno sa Locira izvršni fajl i njegovu man stranu

    Veoma kratko help uputsvo za

    komandu.Napomena: help radi samo za komandeugrad̄ene u sam shell

    Komanda stavlja sebe na spavanje na 2sekunde. Komanda meri ukupnopotrošeno vreme i još neke resurse za proceskoji je izvršavao komandu

    Tabela 1.3: Izlaz osnovnih komandi koje vraćaju informacije o sistemu

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    37/176

    Glava 2

    Fajl sistemi na Linuxu

    Ciljevi Posle savladavanja ovog dela móci ćete da:

    – Razumete tipǐcan Linux fajl sistem – Navigirate kroz hijerarhiju fajlova – Manipulišete fajlovima i direktorijumima – Upravljate kontrolom pristupa – Radite sa ‘specijalnim fajlovima’ i linkovima

    32

  • 8/16/2019 Scripta L102

    38/176

    Fajl sistemi na Linuxu 33

    2.1 Pregled fajl sistema Linux koristi ext2 kao svoj prirodni fajl sistem

    – Tako d̄e podržava mnoge ostale tipove Svi podaci smešteni na Linux sistemu se čuvaju u obliku fajlova Imena fajlova pod ext2 mogu biti do dugačka do 255 znakova

    – Jedini nedozvoljeni znaci u imenu fajla su / i nul Ostali tipovi fajl sistema podržanih na Linuxu imaju drugačije

    karakteristike Ext2 vidi samo dva osnovna tipa fajlova:

    – direktorijume

    – fajlove Ostali specijalizovani tipovi postoje (FIFO-i, i ‘specijalni fajlovi’); oni

    su obra d̄eni u drugom delu

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    39/176

    Fajl sistemi na Linuxu 34

    2.2 Fajlovi Linux ne zahteva odre d̄enu strukturu fajlova Svi fajlovi su dostupni do nivoa bajta (tj. predstavljaju niz bajtova) Pojedinačni fajlovi mogu biti dužine do 2GB (na ext2 fajl sistemu ) Minimalna dužina fajla je 0 bajtova Fajlovi mogu menjati svoju dužinu posle kreiranja Ekstenzije kao što su .exe i .bat na Linuxu su nepotrebne Izvršni fajlovi se prepoznaju denisanjem prava pristupa (vidi dalje )

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    40/176

    Fajl sistemi na Linuxu 35

    2.3 Direktorijumi Direktorijumi su fajlovi koji sadrže listu ostalih fajlova

    – U listi mogu biti obični i specijalni fajlovi ili drugi direktorijumi – Omogúcavaju pravljenje hijerarhije

    Svaki zapis u direktorijumu se sastoji iz dva dela: imena fajla i i-nod broja (I-nod je neka vrsta pointera na fajl , što će biti objašnjeno kasnije)

    Ime fajla I-nod broj. 512.. 500bin 17324basic_linux.tex 24567

    Najviši direktorijum u hijerarhiji fajl sistema se uvek zove The topmost directory is always called (‘root’) Informacije u direktorijumima može menjati samo sam sistem

    – Time se obezbed̄uje odgovarajúca struktura

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    41/176

    Fajl sistemi na Linuxu 36

    2.4 Hijerarhija direktorijuma Po tradiciji, neki direktorijumi imaju specične uloge

    izvršne komande

    izvršne komande bitne za ispravan rad sistema sistemski konguracioni fajlovi

    deljene biblioteke funkcijaperiferni ure d̄ajiprivremeni fajloviobǐcno se koristi za mount-ovanje fajl sistemana eksternim ure d̄ajimaRazlǐcite stvari kao što su log fajlovi, statusni ilock fajlovi i fajlovi u spulovima

    informacije o sistemu

    ostali izvršni fajlovi

    ostali izvršni fajlovi bitni za rad sistema

    ostale biblioteke funkcija

    Lokalno instalirani programi se tipično smeštaju u podstablo

    nije uvek prisutan, ali je često zgodno smestiti sve fajl sistemesa eksternih ure d̄aja pod jedan direktorijum.

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    42/176

    Fajl sistemi na Linuxu 37

    2.5 Putanje

    Fajlovi mogu biti referisani preko relativnih ili apsolutnih putanja

    Apsolutne putanje pǒcinju sa

    Apsolutna putanja referiše samo na jedan fajl Relativna putanja ne pǒcinje sa i opisuje put od tekúceg

    direktorijuma do fajla, npr.

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    43/176

    Fajl sistemi na Linuxu 38

    2.6 Tekući direktorijum Kada se ulogujete, vaš shell vas postavi na vaš home direktorijum

    – Tipǐcno 1

    je sinonim za home direktorijum korisnika. je sinonim zahome direktorijum korisnika čije je korisnǐcko ime username

    Komanda služi za menjanje tekúceg direktorijuma

    – Kucajúci menjate svoj tekúci direktorijum u može biti apsolutna ili relativna putanja Bez argumenata, komanda cd se pozicionira na home direktorijum Komanda nam govori koji nam je tekući direktorijum

    1 Home direktorijumi su ponekad na nekim starijim sistemima

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    44/176

    Fajl sistemi na Linuxu 39

    2.7 Tačka (.) i TǎckaTačka(..) Direktorijumi uvek sadrže dva zapisa: "."i ".."

    Tekući direktorijumNadred̄eni direktorijum

    Koriste se za relativne putanje i navigaciju Primer:

    Pomera na nadre d̄eni direktorijum Ispisuje prostor koji zauzimaju fajlovi u tekućem

    direktorijumu i ispod njega Ispisuje prostor koji zauzimaju fajlovi u nadre d̄enom

    direktorijumu i ispod njega Izvršava fajl koji se nalazi u tekúcem

    direktorijumu Ovaj poslednji red prikazuje forsirano izvršavanje odre d̄enog fajla

    – Da smo samo otkucali onda bi se koristila našapromenljiva okruženja PATH da pretraži direktorijume navedeneu njoj tražéci navedeni fajl

    – Tako bi se mogao izvrišiti drugi fajl umesto onog kojegsmo stvarno želeli da izvršimo

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    45/176

    Fajl sistemi na Linuxu 40

    2.8 Pomeranje i kopiranje fajlova Komanda se koristi za pomeranje fajlova:

    Komanda služi za kopiranje fajlova:

    Detalji o mogúcim opcijama i nǎcinu upotrebe ovih komandi se mogudobiti ako se otkuca ili

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    46/176

    Fajl sistemi na Linuxu 41

    2.9 Brisanje fajlova Fajlovi se brišu koristéci komandu:

    Naǰcešće koriš́cene me d̄u opcijama su: Forsirano brisanje, bez potvr d̄ivanja Rekurzivno brisanje fajlova

    Naravno, svi detalji se mogu dobiti ako se otkuca Brisanje fajla se ne smatra operacijom na samom fajlu

    – To je operacija na direktorijumu – Imena fajlova su samo linkovi (Objašnjeno u narednim

    odeljcima)

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    47/176

    Fajl sistemi na Linuxu 42

    2.10 Operacije na direktorijumima

    Pravljenje novog direktorijuma Brisanje direktorijuma

    Listanje sadržaja direktorijuma

    Ove komande mogu imati mnogo parametara Komanda , sa odgovarajúcom opcijom, može kreirati čitave

    putanje direktorijuma ako one ne postoje, npr.

    će kreirati direktorijumei , kao i

    ako oni véc ne postoje opcije kontrolišu kakve informacije će biti ispisane i kako će one

    biti sortirane

    – Neke od opcija će biti objašnjene kasnije, pogledajte zadetaljniji opis

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    48/176

    Fajl sistemi na Linuxu 43

    2.11 I-nodovi Svaki fajl je predstavljen jednim i-nodom2

    i-nod sadrži informacije o:

    – Tipu fajla (običan, direktorijum, FIFO, blok ure d̄aj, itd.) – ID-u vlasnika (kojem korisniku fajl pripada) – Velǐcini (u bajtovima) – Vremenima poslednjeg pristupa, kreiranja i poslednje

    modikacije fajla – ID-u grupe (kojoj korisničkoj grupi pripada fajl) – Pravima pristupa fajlu – Gde se na disku nalazi sadržaj fajla (sektori sa podacima)

    Struktura i-nodova i njihova lokacija zavisi od tipa fajl sistema

    2 Termin i-nod je izmislio Denis Riči iz AT&T-a (inače tvorac jezika C). On priznajeda se više ne seća zašto je izabrao to ime.

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    49/176

    Fajl sistemi na Linuxu 44

    2.12 I-nodovi (nastavak ) Sadrži zapis za svaki fajl na sistemu

    ispisuje brojeve i-nodova pojedinih zapisa, npr.

    ispisuje sadržaj i-noda za fajlove, uključujući prava pristupa,velǐcinu, broj linkova na fajl, vremena pristupa i sl.

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    50/176

    Fajl sistemi na Linuxu 45

    2.13 Linkovi Više od jednog imena može ukazivati na jedan i-nod

    – Ova imena fajlova su linkovi na sam fajl kreira linkove na fajl

    – Podrazumevano kreira hard linkove –

    kreira simboli ̌ cke ili soft linkove Brisanje fajla samo uklanja zapis iz direktorijuma i smanjuje broj

    linkova u i-nodu za taj fajl

    – Samo kada broj linkova na fajl padne na nulu, podaci se brišu Bitno: Ime fajla ne odre d̄uje fajl

    – I-nod odre ¯ duje fajl – Sva imena su samo linkovi (reference) na i-nod

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    51/176

    Fajl sistemi na Linuxu 46

    2.14 Hard linkovi Hard link je samo zapis u direktorijumu sa odgovarajućim brojem

    i-noda

    Razmotrite sledéce: – Počinjemo sa:

    – Kreiramo hard link :

    Napomena: hard linkovi ne mogu prelaziti granice zičkih fajl sistema I-nodovi su specǐcni za pojedini zički fajl sistem

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    52/176

    Fajl sistemi na Linuxu 47

    2.15 Soft linkovi Soft linkovi čuvaju putanju do ulinkovanog fajla Ovo znǎci da mogu prelaziti granice zičkih fajl sistema Dodavanje soft linka :

    Ako zamenimo fajl sa nekim drugim onda simbolički link jošuvek radi, ali hard link još uvek pokazuje na stari fajl!

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    53/176

    Fajl sistemi na Linuxu 48

    2.16 Kontrola pristupa i UID-i Pristup fajlovima može biti ograničen samo na pojedine korisnike Superuser može zaobíci kontrolu pristupa Kontrola pristupa se bazira na ID-u korisnika i grupe, vlasnika fajla Svaki korisnik ima korisnički ID (UID ) i jedan ili više ID-ova grupe

    (GID -ovi) Procesi imaju sebi asocirane UID i GID-ove

    – UID i GID-ovi su nasle d̄eni od korisnika koji je kreirao proces Ipak, oni mogu biti promenjeni:

    – Procesi su poznati pod nazivom set-user ID (setuid) ako mogu

    podesiti svoj UID – ili set-group ID (setgid) ako mogu podesiti svoj GID

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    54/176

    Fajl sistemi na Linuxu 49

    2.17 Kategorije kontrole pristupa Postoje tri kategorije pristupa

    čitanjepisanjeizvršavanje

    Oni mogu biti specicirani za tri skupa korisnika:

    – Vlasnika fajla – Grupu — vlasnika fajla – Sve ostale

    prikazuje prava pristupa, npr.

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    55/176

    Fajl sistemi na Linuxu 50

    2.18 Kontrola pristupa - primer

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    56/176

    Fajl sistemi na Linuxu 51

    2.19 Menjanje prava pristupa:

    Samo vlasnik fajla (ili superuser) mogu promeniti prava nad fajlom Komanda menja prava pristupa

    – Radi na dva nǎcina, simbolǐcki ili numerički – Simbolǐcki je lakši za paḿcenje (za vécinu)

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    57/176

    Fajl sistemi na Linuxu 52

    2.20 simbolički Izaberete čija prava pristupa želite da promenite: (

    Odredite da li želite da

    Stavite prava pristupa koja želite da promenite

    Primer:

    Dodeljuje(+) pravo upisivanja(w) vlasniku(u) i grupi(g)

    Možete nǎciniti nekoliko izmena jednom komandom odvajajući ih sazarezima, npr.

    Ukida(-) pravo upisivanja(w) za sve, a onda postavlja(=) ovo pravovlasniku i grupi kojima fajl pripada

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    58/176

    Fajl sistemi na Linuxu 53

    2.21 numerički Kada ovo jednom savladate, onda je često puno brže setovati prava

    na ovaj nǎcin

    Svaka cifra predstavlja dodeljena prava pristupa za svaki skupkorisnika pojedinǎcno

    4 pravo čitanja2 pravo upisivanja1 pravo izvršavanja

    Saberete prava pristupa koja želite da dodelite za svaki skupkorisnika (vlasnika, grupu, sve ostale - tim redom) i zadate je kaoparametar za komandu

    Primer:

    postavlja sva prava za vlasnika (7=4+2+1), prava čitanja iizvršavanja (5=4+1) za grupu i pravo izvršavanja za sve ostale (1=1)

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    59/176

    Fajl sistemi na Linuxu 54

    2.22 Prava pristupa koja se postavljaju za fajl kada se on kreira su

    podrazumevana

    – Podrazumevana prava su specicirana korisničkom postavkomumask -a umask radi samo numerǐcki (kao interna komanda radi i

    simbolǐcki) Za razliku od -a, navedena prava pristupa su isklju ̌ cena Sa umask 000 novi fajlovi se kreiraju sa pravima (666) Standardna podrazumevana umask vrednost je 022 što znači da su

    fajlovi tipično napravljeni sa pravima (644)

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    60/176

    Fajl sistemi na Linuxu 55

    2.23 Specijalni fajlovi - Fajlovi unutar direktorijuma tipično predstavljaju ure d̄aje

    povezane na računar

    Programi mogu otvarati i zatvarati ove ure d̄aje i čitati i pisati u njih,kao sa obǐcnim fajlovima Kod u kernelu odre d̄uje šta za posledicu imaju ova čitanja i pisanja Dva tipa:

    – Blok - disk drajvovi, jedinice trake, CDROM-ovi – Znakovni (character) - štampǎci, modemi, terminali, itd.

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    61/176

    Fajl sistemi na Linuxu 56

    2.24 Specijalni fajlovi -

    Deo fajl sistema zvani ne sadrži stvarne fajlove On sadrži informacije o stanju sistema organizovane na način fajlova Na primer:

    Lokacija Informacija /proc/[broj] O pojedinim aktivnim procesima. Pogledajte

    za detalje /proc/meminfo Koliko memorije ima na sistemu i kako je

    iskoriš́cena /proc/cpuinfo Koje CPU(-ove) trenutno koristite /proc/lesystems Tipovi fajl sistema koje kernel podržava /proc/kcore Slika zičke memorije /proc/net Mrežni status vaše mašine /proc/pci PCI ure d̄aji detektovani prilikom inicijalizacije

    sistema /proc/sys Detalji o promenljivim kernela, npr.

    – Maksimalan broj fajlova koje možemootvoriti (le-max)

    – Broj trenutno otvorenih fajlova (le-nr) – Vreme koliko sistem neprekidno radi

    (uptime)

    Tabela 2.1: Sistemske informacije iz direktorijuma

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    62/176

    Fajl sistemi na Linuxu 57

    2.25 Struktura fajl sistema

    Viševolumenski fajl sistemi

    Fajl sistem može biti držan na nekoliko ure d̄aja Veliki diskovi mogu biti podeljeni na particije

    – Ovo kreira nekoliko logi ̌ ckih ure d̄aja Osnovni Linux sistem mora biti prisutan na direktorijumu Ostali delovi fajl sistema mogu biti mount-ovani u bilo koje vreme Oni glavni su mount-ovani prilikom boot-ovanja sistema Ovo se kontroliše preko fajla, koji kaže koji logički ure d̄aji

    su mount-ovani na koje direktorijume

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    63/176

    Fajl sistemi na Linuxu 58

    2.26 - Primer

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    64/176

    Fajl sistemi na Linuxu 59

    2.27 Mount-ovanje dodatnih volumena

    Da bi mount-ovali fajl sistem koristite komandu, npr.

    mount-uje fajl sistem na direktorijum Kada uradimo

    postavljamo se na koren fajl sistema koji se nalazi naCD-u

    Da bi umount-ovali fajl sistem koristite gde je ime ime fajlsistema ili tǎcka mount-ovanja (direktorijum)

    Napomena - fajl sistem može biti umount-ovan samo ako više nije uupotrebi. ‘U upotrebi’ ukljǔcuje:

    – Imati otvoren bilo kakav fajl na tom sistemu od strane bilo kogprocesa

    – Imati neki proces čiji je tekúci direktorijum na tom fajl sistemu

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    65/176

    Fajl sistemi na Linuxu 60

    2.28 Mount-ovanje deljenih fajl sistema Možemo mount-ovati deljene fajl sisteme koristeći NFS

    Primer:

    Možemo tako d̄e pristupati fajlovima sa nekog Windows serverakoristéci SAMBA aplikaciju

    SAMBA je besplatna implementacija Windows protokola za deljenjefajlova, npr.

    Napomena - Linux ne koristi koncept ‘drajvova’

    – Drajvovi i deljeni direktorijumi se transparentno integrišu ustablo logǐckog fajl sistema

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    66/176

    Fajl sistemi na Linuxu 61

    2.29 Sažetak Primarni tip fajl sistema na Linuxu je Ext2 On ima hijerarhiju direktorijuma u obliku strukture stabla Direktorijumi samo sadrže pointere na fajlove (tj. njihove i-nodove ) I-nodovi sadrže sve informacije o fajlu Može postojati više linkova na isti fajl (tj. više imena istog fajla) Čitanje/pisanje/izvršavanje se kontroliše na nivou fajla Kreiranje/brisanje fajlova se kontroliše pravima na direktorijumu Nekoliko fajl sistema može biti mount-ovano da bi sačinjavali

    hijerarhiju direktorijuma logičkog fajl sistema

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    67/176

    Fajl sistemi na Linuxu 62

    2.30 Fajl sistemi: vežbe

    1. Osnovna navigacija

    (a) Ulogujte se i upotrebite da saznate koja je puna putanja dovašeg home direktorijuma(b) Promenite tekúci direktorijum u a zatim . Koristite

    da proverite da se nalazite na pravom mestu(c) Kada budete u direktorijumu, otkucajte i upotrebite

    da utvrdite gde ste stigli(d) Koji je nadre d̄eni direktorijum korenom direktorijumu ( ) fajl

    sistema?(e) Vratite se u svoj home direktorijum. Upotrebite tri različita

    načina da bi to uradili.

    2. Direktorijumi

    (a) U svom home direktorijumu kreirajte direktorijum(b) Prebacite se u direktorijum i tamo kreirajte direktorijum

    (c) Pre d̄ite u svoj home direktorijum. Sada odatle kreirajtedirektorijum koji bi trebao da se nalazi ispoddirektorijuma . Postoje dva nǎcina da se to napravi: kojisu to?

    (d) Obrišite sve direktorijume koje ste upravo kreirali. Postoji

    nekoliko nǎcina da se to izvede.(e) Kreirajte prethodnu strukturu direktorijuma samo sa jednomkomandom

    3. Linkovi

    (a) Napravite fajl u svom home direktorijumu (kucajući . Sada napravite hard link na kojeg ćete

    nazvati i simbolǐcki link na kojeg ćete nazvati

    (b) Pronad̄ite brojeve i-nodova ovih fajlova. Proverite da li znate

    zašto su ti brojevi takvi kakvi jesu.(c) Obrišite pǒcetni fajl . Da li još uvek možete dobiti sadržajtog fajla?

    (d) Šta se dešava kada probate ? Pokušajte dashvatite razliku izme d̄u i

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    68/176

    Fajl sistemi na Linuxu 63

    (e) Pokušajte da napravite hard link na vaš home direktorijum.Zašto to ne uspeva?

    4.

    (a) Upotrebite fajlove iz direktorijuma da utvrdite kolikoima memorije na vašem sistemu i koji procesor sistemupotrebljava

    (b) Utvrdite koji PCI ure d̄aji su nakǎceni na vašu mašinu(c) Utvrdite koji varijable okruženja su postavljene za vaš tekući

    shell koristéci informacije iz -a. (Hint: Process-IDvašeg tekućeg shella možete dobiti koristeći $$).

    (d) Informacija o tome da li vaša mašina prosle d̄uje IP pakete je smeštena u fajl .Možete izlistati ovaj fajl (npr. sa komandom ): vrednost1 znači da je prosle d̄ivanje paketa ukljǔceno. Otkrijte da livaša mašina prosle d̄uje pakete

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    69/176

    Fajl sistemi na Linuxu 64

    2.31 Fajl sistemi: rešenja

    1. Osnovna navigacija

    (a) Verovatno ćete videti

    gde je ime pod kojim ste se ulogovali(b) Proverite da li je izlaz komande i(c) Trebali bi da se na d̄ete u direktorijumu. Taj direktorijum je

    koren fajl sistema.(d) Nadrēdeni direktorijum od direktorijuma je on sam. Možete,

    uz pomóc komande videti da su brojevi i-nodova za iisti kada ste u direktorijumu.

    (e) Možete se vratiti u svoj home direktorijum koristeći jednu odsledećih komandi:

    i. ii. iii. (Uz pretpostavku da se vaš home

    direktorijum nalazi ispod /home direktorijuma)

    2. Direktorijumi

    (a)

    (b)

    (c) a onda jedno od:

    i.

    ii. (d) Bilo šta od sledéceg će raditi:

    i.

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    70/176

    Fajl sistemi na Linuxu 65

    ii.

    Trebali bi biti oprezni sa poslednjom komandom jer će onaukloniti direktorijume bez obzira da li se u njima nalaze nekifajlovi!

    iii.

    (e)

    3. Linkovi

    (a) To se postiže na sledéci način:

    (b) bi trebalo da pokaže da su i-nodovi početnog fajla i fajla identǐcni. je samo drugo ime za pǒcetni fajl.I-nod za fajl će biti razlǐcit od pǒcetnog fajla jer je u

    pitanju zaseban fajl koji samo sadrži informaciju o lokaciji fajlana koji ukazuje.

    (c) Pošto ste kreirali hard link, početni fajl ima dva imena: i . Uklonili ste ali sve dok ne uklonite sva imena fajla,

    njegov sadržaj će biti dostupan. U ovom slučaju možetekomandom prikazati sadržaj pǒcetnog fajla.

    (d) Ovo će prijaviti grešku . jesadržao pointer na fajl a ne na njegov i-nod broj. Poštoviše ne postoji fajl sa imenom , data komanda néce raditi.Hard linkovi referenciraju na fajl preko njegovog i-nod broja, asimboli ̌ cki linkovi preko njegovog imena.

    (e) Ovo nije dozvoljeno, jer bi moglo narušiti striktnu hijerarhičnostfajl sistema.

    4.

    (a) bi trebalo da prikaže upotrebu memorije(b) će dati listu PCI ure d̄aja(c) će dati listu okruženja vašeg tekúceg

    shella. Svaka varijabla je ograničena NULL znakom (decimalno

    0). Sledeća komanda će dati spisak varijabli sa po jednomvarijablom u svakom redu

    (d) Vidi vežbe

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    71/176

    Glava 3

    Komandni interpreter

    Ciljevi Po završetku ovog modula, móci ćete da:

    Razumete komandni interpreter Linuxa Snalazite se u komandnoj liniji Koristite redirekciju ulaza i izlaza Upravljate komunikacijom me d̄u procesima uz pomóc pajpova Koristite kompletiranje i generisanje imena fajlova

    66

  • 8/16/2019 Scripta L102

    72/176

    Komandni interpreter 67

    3.1 Uvod

    Standardni interpreter komandne linije na Linuxu je ( ili )

    Poseduje većinu osobina drugih komandnih interpretera ( , ,itd.) a ima i neke još naprednije osobine

    – ‘Cevovode’ - transparentnu redirekciju i pajpove – Procese u pozadini – Suspenziju izvršavanja procesa, njihovo nastavljanje i

    terminaciju – Kompletiranje imena fajlova i generisanje uz pomoć ‘wildcard’

    znakova – Komandnu istoriju

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    73/176

    Komandni interpreter 68

    3.2 Kretanje po komandnoj liniji

    Možete koristiti kursorske tastere za kretanje po i editovanje tekućelinije1

    U podrazumevanom stanju , koristi -ovske sekvencetastera za navigaciju i editovanje komandne linije. Evo četiri primera:

    Sekvenca Akcija Pomeranje na pǒcetak linije Pomeranje na kraj linije Brisanje do kraja linije Brisanje prethodne ‘rěci’

    Za izbor emacs ili vi-ovskih sekvenci:

    Man strana za daje detalje o svim sekvencama

    1 Ovo možda néce raditi na loše kongurisanim sistemima

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    74/176

    Komandni interpreter 69

    3.3 Komandna istorija

    Bash pamti ranije unete komande (u ’komandnoj istoriji’)

    Stare komande su dostupne na razlǐcite načine Ponovite prethodnu komandu ukucavanjem Izvršite n -tu prekhodnu komandu ukucavajući

    Ukucavajúci ponavljate poslednju komandu koja je počinjalasa

    Da bi videli listu komandi u komandnoj istoriji, liniju po liniju, koristitekurzorske tastere za i

    Pregledajte listu komandi u komandnoj istoriji u bilo kojem trenutku

    komandom

    Komandna istorija je veoma korisna osobina ako se pravilno koristi

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    75/176

    Komandni interpreter 70

    3.4 ‘Cevovodi’

    Procesi obǐcno startuju sa otvorena tri fajla:

    Ime DeskriptorStandardni ulaz 0Standardni izlaz 1Standardni izlaz za greške 2

    Kasnije ćemo videti kako ih referenciramo preko njihovih fajl deskriptora

    Ovi fajlovi su obično povezani na tastaturu i ekran vašegmonitora/konzole

    Ovi fajlovi mogu biti redirektovani od strane komandnog interpretera – Transparentno sa gledišta procesa – Pojedini ili svi tokovi mogu biti redirektovani – Možete uraditi redirekciju u/iz fajla ili u/iz drugog procesa

    Redirekcija u proces se naziva ‘pajpovanje’

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    76/176

    Komandni interpreter 71

    3.5 Redirekcija izlaza

    Redirekcija izlaza se vrši korišćenjem ’ ’

    Primer:

    Kreira fajl (ili ga prepisuje ukoliko već postoji) i postavljastandardni izlaz iz u njega

    Možemo dodavati u fajl, umesto da ga prepisujemo, korišćenjem je, u stvari, skrácenica za Izlaz za greške se može redirektovati korišćenjem ili

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    77/176

    Komandni interpreter 72

    3.6 Redirekcija ulaza

    redirektuje standardni ulaz iz fajla, npr:

    će sada uzimati sadržaj fajla kao svoj ulaz Ovo se tako d̄e može napisati i kao U konzistenciji sa i

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    78/176

    Komandni interpreter 73

    3.7 Kombinovana redirekcija

    Redirektujte više od jednog deskriptora zadajući više od jedneredirekcije, npr:

    Grupišite redirekcije korišćenjem operatora, npr:

    – Šalje izlaz u fajl ( ) – Šalje greške u na isto mesto gde i standardni izlaz ( )

    Redosled ovih redirekcija je veoma važan Redirekcije se izrǎcunavaju sa leva na desno, npr. sledéca komanda

    se razlikuje od prethodnog primera

    – Ona šalje grešku na normalni izlaz (tj. na ekran) a normalniizlaz u fajl

    – To je zbog toga što se u trenutku izračunavanja , ’ ’ jošuvek referisalo na terminalski izlaz (tj. ekran) i nije biloredirektovano u fajl

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    79/176

    Komandni interpreter 74

    3.8 Pajplajni

    Izlaz može biti poslat drugom procesu korišćenjem ‘ ’

    – Ovaj simbol je poznat kao pajp (engl. pipe) Pajp povezuje izlaz jednog procesa na ulaz drugog Podaci koji čekaju da budu prosle d̄eni su smešteni u bafer Oba procesa se konkurentno izvršavaju Linux vodi rǎcuna da procesi prate jedan drugog Primer:

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    80/176

    Komandni interpreter 75

    3.9 Procesi u pozadini

    Većina komandi se izvršava do svog kraja pre nego što dobijetenazad prompt komandnog interpretera.

    Proces u ‘pozadini’ nastavlja da se izvršava dok vi dobijate promptodmah po zadavanju komande

    da bi startovali proces u pozadini, postavite znak na kraj komandnelinije, npr:

    U ovom slǔcaju, izlaz i poruke o greškama nastavljaju da bivajuispisivani na terminalu

    Ulaz je prekinut, pa sve što se ukuca ide u komandni interpreter a neu proces u pozadini Ako proces zahteva ulazne podatke od korisnika i ne može ih dobiti

    iz fajla, onda se on ‘zaustavlja’

    – Proces neće nastaviti izvršavanje dok se ne pošalje u prvi planda bi primio ulazne podatke

    Normalno ćete startovati procese u pozadini sa njihovim izlazom iizlazom za greške preusmerenim u fajl, npr:

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    81/176

    Komandni interpreter 76

    3.10 Procesi u pozadini (nastavak)

    Procesi koji se aktivno izvršavaju mogu biti poslati u pozadinu

    – Suspendujte proces kucajúci

    u terminalu u kojem je procespokrenut – Pošaljite suspendovani proces u pozadinu komandom

    Dovedite proces nazad u prvi plan koristeći komandu i u podrazumevanom slǔcaju operišu nad poslednjim

    startovanim procesom

    – Ako želite da operišu nad nekim drugim procesom,referencirajte ga njegovim JobID-om ili imenom

    Komanda prikazuje trenutne procese startovane iz komandnoginterpretera:

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    82/176

    Komandni interpreter 77

    3.11 Procesi u pozadini i

    Ponekad je potrebno startovati proces i ostaviti ga da radi i kad seizlogujete

    Ako terminišete komandni interpreter, svi procesi u pozadini ćetako d̄e biti terminisani

    Komanda može zaobíci ovo tako što otkǎci proces odterminala

    Uvek preusmerite izlaz i izlaz za greške kada koristite :

    Ako ne preusmerite ove tokove, oni će biti zapisani u ili

    u vašem home direktorijumu

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    83/176

    Komandni interpreter 78

    3.12 Grupisanje komandi i subshell-ovi

    Bash može da izvrši više komandi u jednoj liniji

    Sekvencijalne komande se razdvajaju sa ‘

    Mogúce je startovati subshell radi izvršavanja komande ili grupekomandi

    – Smeštajući komande unutar zagrada:

    Subshell možete poslati i u pozadinu:

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    84/176

    Komandni interpreter 79

    3.13 Upravljanje procesima

    ispisuje informacije o korisnikovim procesima:

    ispisuje informacije samo o procesima koji pripadaju tekućemkomandnom interpreteru

    odlaže izvršavanje komandnog interpretera dok se ne završiproces

    – Obǐcno zadavajúci ID procesa kao argument komande – Ako ni jedan argument nije zadat, komanda čeka dok se svi

    komandni interpreteri procesi ne završe

    se koristi da bi se poslali signali procesima

    – Na ovaj nǎcin možete prekinuti procese u pozadini Neki procesi koriste signale za indikaciju odre d̄enog posla, npr.

    rotaciju log fajlova, ponovno učitavanje konguracionog fajla, itd.

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    85/176

    Komandni interpreter 80

    3.14 Signali

    Komandi se može signal zadati preko njegovog imena ili broja

    Postoji véci broj razlǐcitih signala:SIGHUP 1 Detektovano otkačinjanje od kontrolnog

    terminala ili smrt kontrolnog procesaSIGINT 2 Prekid sa tastatureSIGQUIT 3 Kraj sa tastatureSIGKILL 9 Signal za bezuslovno okončavanje

    procesaSIGTERM 15 Signal za okončavanje procesaSIGUSR1 30 Korisnički denisan signal 1

    1016

    SIGUSR2 31 Korisnički denisan signal 21217

    Ukoliko drugǎcije nije zadato, šalje SIGTERM signal koji zanajveći broj procesa znǎci regularno okoňcavanje izvršavanja

    Ukoliko proces ne odgovara na signale, može se nasilno okončatislanjem SIGKILL signala

    or

    Samo vlasnik procesa (ili super-user) može slati signale procesima

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    86/176

    Komandni interpreter 81

    3.15 Procesi u pozadini:

    Komanda prikazuje procese koji se izvršavaju na mašini

    Rezultati mogu biti sortirani na različite načine Tipǐcan prikaz može biti ovakav:

    Napomena: Komanada nije dostupna na svim UNIX-ima.

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    87/176

    Komandni interpreter 82

    3.16 Generisanje imena fajlova

    Neki znaci imaju ‘specijalno’ značenje u komandnom interpreteru

    Znaci Znǎcenje Zamenjuje bilo koji niz znakova, uključujući i niz dužine nula

    Zamenjuje bilo koji pojedinačni znakZamenjuje bilo koji od navedenih znakova. Par znakovapovezanih znakom ‘-’ predstavlja opseg. Bilo koji znakleksǐcki izme d̄u dve granice opsega ukljǔcivo, odgovaraizrazu. Ako je prvi znak iza znaka ‘[’ znak ‘!’ ili onda izrazzamenjuje bilo koji karakter koji nije naveden ili pripadaopsegu. Znakovi ‘-’ i ‘]’ mogu biti navedeni kao obični znakovitako što se napišu kao prvi ili poslednji znaci u skupu.

    Tabela 3.1: Posebni znaci u komandnom interpreteru

    Posebni znaci mogu biti korišćeni da opišu imena fajlova, npr. da biprikazali sve fajlove koji počinju sa

    Da bi prikazali sve fajlove čija imena pǒcinju sa , praćenasamoglasnikom:

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    88/176

    Komandni interpreter 83

    3.17 Znakovi navoda

    Ponekad je potrebno ignorisati posebno značenje koje neki znak ima

    Koristite obrnutu kosu crtu ( ) ispred znaka da bi ukinuli njegovoposebno značenje, npr. da bi izlistali fajlove čija imena pǒcinjuznacima

    Da bi sprěcili interpretiranje znakova u dužem nizu, taj niz ograditeznacima navoda:

    iskljǔcuje svako interpretiranjeiskljǔcuje generisanje imena fajlova i tretiranje belina

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    89/176

    Komandni interpreter 84

    3.18 Komande ugra d̄ene u komandniinterpreter

    Neke komande moraju biti ugra ¯dene u sam komandni interpreter, jer

    ne mogu biti izvršavane nezavisno

    – , ako se izvrši nezavisno promeniće sopstveni tekúcidirektorijum, a ne onaj od vašeg komandnog interpretera

    – , promeníce svoj umask, a ne onaj od komandnoginterpretera

    Neke druge komande su ugra d̄ene u komandni interpreter zbogbrzine izvršavanja

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    90/176

    Komandni interpreter 85

    3.19 Komandni interpreter: vežbe

    1. Redirekcija

    (a) Pokušajte da ukucate sledéce komande:

    Potrudite se da razumete šta se dešava u svakom navedenomslučaju.

    2. Ekspandovanje imena fajlova i koriš ´ cenje navo ¯ denja

    (a) Uradite sledéce u direktorijumu:i. Izlistajte sve fajlove čija imena su dugǎcka tačno tri znakaii. Izlistajte sve fajlove čija imena su dugǎcka tačno tri znaka

    od kojih je drugi znak samoglasnikiii. Izlistajte sve fajlove čije ime se završava sa a, b, c ili div. Napravite komandu koja ispisuje broj fajlova čija imena su

    dugačka tačno tri znakav. Napravite komandu koja ispisuje ukupan broj fajlova satačno dva, tri ili četiri znaka u svom imenu

    (b) Uporedite efekte sledécih komandi:

    (c) Pokušajte da napravite fajl čije je ime *. Da li je ovo ima smisla?Kako ćete ga obrisati? (Budite vrlo pažljivi!)

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    91/176

    Komandni interpreter 86

    3. Procesi u pozadini i

    (a) Pokrenite komandu u pozadini tekúcegkomandnog interpretera

    (b) Prebacite komandu u prednji plan i prekiniti je kucajući C(c) Pokrenite komandu ponovo dva puta tako da imate dve kopije

    iste komande koje se izvršavaju u pozadini(d) Prebacite ih u prednji plan i prekinite ih onim redom kojim ste ih

    i startovali(e) Pokrenite ponovo istu komandu u pozadini i prekinite je

    koristéci

    4. Grupisane komande Uporedite sledéce komandne sekvence, i potrudite se da shvatiterazlike me d̄u njima:

    (a)

    (b)

    (c)

    (d)

    Proverite da li možete koristiti komandnu istoriju da bi vratili i ponovilibilo koju od komandi koje ste otkucali

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    92/176

    Komandni interpreter 87

    3.20 Komandni interpreter: rešenja

    1. Ekspandovanje imena fajlova i koriš ´ cenje navo ¯ denja

    (a) Ovo su rešenja koja će odraditi zadato, ali mogu postojati i druginačini da se odrade zadati poslovii. ls ???ii. ls ?[aeiou]?iii. ls *[abcd]iv. ls ??? | wc -lv. (ls ?? ; ls ??? ; ls ????) | wc -l

    (b) Kada nije pod znacima navoda $HOME daje ime vašegpočetnog direktorijuma. Aktivnost u pitanju je zamena varijabli.Možemo videti da se ova zamena obavlja i unutar navoda, aline i unutar ’ navoda. se espanduje u sve fajlove utekućem direktorijumu. Aktivnost u pitanju je generisanje imenafajlova i ne dešava se ni kod jednog načina navo d̄enja.

    (c) Fajl možete obrisati bezbedno koristeći jedan od navedenihnačina:

    2. Procesi u pozadini i

    (a)

    (b)

    (c)

    (d)

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    93/176

    Komandni interpreter 88

    (e)

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    94/176

    Glava 4

    Osnovni Linux alati

    Ciljevi Na kraju ovog dela stéci ćete oznovna znanja o:

    nekim od naǰcešće koriš́cenih Linux ‘alatki’ Kako da kombinujete alate da bi rešavali probleme

    89

  • 8/16/2019 Scripta L102

    95/176

    Osnovni Linux alati 90

    4.1 Uvod

    Osnovni Linux alati sa kojima ćemo se baviti ovde su:

    Pronalaženje fajlova

    Dobijanje informacija o komandamaPregledanje sadržaja fajlova

    / Dobijanje informacija o fajlu

    Operacije nad sadržajem fajla

    /

    / Jednostavna manipulacija tekstom

    Tabela 4.1: Osnovni Linux alati

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    96/176

    Osnovni Linux alati 91

    4.2 Korišćenje alata

    Tipǐcan Linux sistem sadrži preko 400 alata

    Alati se kombinuju (preko cevi i uz pomoć redirekcije) da bi se rešilispecǐcni problemi Većina alata ima standardnu sintaksu:

    Neki argumenti moraju biti navedeni pod znacima navoda Standardni ulaz se čita ukoliko ni jedan fajl nije naveden kao

    argument

    Većina alata može uzeti više fajlova kao argumente

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    97/176

    Osnovni Linux alati 92

    4.3 On-line uputstva ( )

    Većina komandi ima svoje pridružene man strane

    Pristupa im se kucajúci:

    Prikazuje stranu informacija sa sledećim celinama:

    – ime komande, broj sekcije, opis – sintaksa – opcije – informacija o verziji – lokacije konguracionih fajlova – ostale odnosne komande – primeri upotrebe – poznati bagovi (ako ih ima)

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    98/176

    Osnovni Linux alati 93

    4.4 Pronalaženje fajlova na duži način( )

    Komanda pretražuje fajl sisteme u realnom vremenu, terajućidiskove da naporno rade

    Može pronáci fajlove po imenu, tipu, veličini, datumima, npr:

    – Da bi našli sve fajlove koji se završavaju sa pod tekúcimdirektorijumom:

    – Da bi našli sve fajlove koji se završavaju sa i modikovanisu u poslednjih 8 dana ispod direktorijuma:

    Testovi mogu biti kombinovani sa

    i negirani sa , kao na primer: – Da bi našli sve fajlove koji se ne završavaju sa ili su

    modikovani u poslednjih 8 dana:

    Mogu izvršavati komande nad na d̄enim fajlovima. Mesto na kojemtreba biti ime prona d̄enog fajla se oznǎcava sa {}. Komanda mora biti završena sa nizom znakova ‘ ’.

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    99/176

    Osnovni Linux alati 94

    4.5 Pronalaženje fajlova u bazi fajlova( )

    Komanda pretražuje bazu fajlsistema koja se periodičnoažurira.

    Baza nije dostupna na svim sistemima Veoma brza, ali je potrebno regularno ažuriranje baze Ako se zada komanda ‘ ’, će prikazati sve

    fajlove koje sadrže string u svom punom imenu:

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    100/176

    Osnovni Linux alati 95

    4.6 Prikazivanje i spajanje fajlova ( )

    Prikazuje i/ili spaja (konkatenira) fajlove

    Šalje sadržaj navedenih fajlova na standardni izlaz Ako ni jedan fajl nije naveden, šalje svoj standardni ulaz na

    standardni izlaz Ako je navedeno više fajlova, sekvencijalno prikazuje sadržaje

    svakog od navedenih fajlova po redu navo d̄enja, tj. spaja ih nastandardnom izlazu.

    Primer:

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    101/176

    Osnovni Linux alati 96

    4.7 Prikazivanje velikih fajlova ( )

    Komanda prikazuje sadržaje fajlova na kontrolisan način nastandardnom izlazu

    – Obǐcno jedna po jedna strana/ekran – Kao UNIX/DOS komanda , samo na steroidima

    Možete vršiti pretragu po tekstu Omogúcava da se brzo pozicionirate na bilo koju tačku (unapred ili

    unazad) Slǐcan način upotrebe kao komanda :

    Akcija TasteriVrh strane Dno strane

    Napred jedan ekran Nazad jedan ekran

    Na gore jednu liniju Na dole jednu liniju Pretraživanje unapred (uzorak ) Pretraživanje unazad (uzorak ) Sledeće pojavljivanje uzorkaPrethodno pojavljivanje uzorkaPostavljanje na n -tu linijuIzvršavanje komande u $SHELL-u !komandaPreusmeravanje sadržaja fajla izme d̄utrenutne pozicije i oznake X kroz cev nekojkomandi

    |Xkomanda

    Editovanje fajla sa $VISUAL ili $EDITOReditorom

    v

    Tabela 4.2: Komande programa

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    102/176

    Osnovni Linux alati 97

    4.8 Pregled delova fajlova ( i )

    Komanda prikazuje prvih nekoliko linija fajla

    Komanda

    prikazuje zadnjih nekoliko linija fajla Možete navesti koliko linija treba biti prikazano

    – Da bi se prikazale samo prve 4 linije:

    se često koristi da nadgleda rad fajla

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    103/176

    Osnovni Linux alati 98

    4.9 Listing informacija o fajlu ( )

    Bez ikakvih opcija, lista vidljive fajlove u tekućem direktorijumu.

    Naǰcešće koriš́cene opcije komande su:

    Opcija Objašnjenje Dugi (detaljan) listing informacija o fajlovima, uključujući: velǐcinu,

    vlasništvo, prava pristupa i tip Prikazuje sve fajlove, ukljǔcujúci i skrivene Naznačuje direktorijume, izvršne fajlove i simboličke linkove dodajúci

    na kraj imena , i respektivno Rekurzivno listanje poddirektorijuma Sortiranje liste po vremenu poslednje modikacije fajla

    Sortiranje liste po vremenu poslednjeg pristupa (zajedno sa

    ) Sortiranje liste po ekstenziji fajla Obrnuti redosled listanja

    Tabela 4.3: Uobǐcajene opcije za komandu

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    104/176

    Osnovni Linux alati 99

    4.10 Klasikacija fajlova ( )

    Komanda prikazuje tip podataka smeštenih u imenovane fajlove

    Rezultati ne moraju uvek biti tačni (mada naǰcešće jesu) Koristi listu magičnih brojeva i kljǔcnih rěci u da bi

    odredio tip fajla 1

    Klasikacije uključuju: izvršne fajlove, arhive,C programe, ASCII tekst, slike . . .

    Sintaksa:

    1 Na nekim sistemima fajl sa magičnim brojevima je

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    105/176

    Osnovni Linux alati 100

    4.11 Brojanje reči, linija i znakova ( )

    Komanda prikazuje broj linija, ‘reči’ i znakova u fajlu 2

    Opcija Objašnjenje Prikazuje samo broj linija Prikazuje samo broj ‘rěcii’

    Prikazuje samo broj znakova

    Tabela 4.4: Opcije komande

    2 ‘rěc’ se deniše u ovom kontekstu kao niz znakova okružen razmacima, tabznacima, znacima za novi red ili kombinacijom istih

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    106/176

    Osnovni Linux alati 101

    4.12 Razlike me d̄u fajlovima ( )

    Komanda prikazuje razlike izme d̄u dva fajla, liniju po liniju

    Na primer, ako su dati fajlovi text1 i text2 razlǐciti tipovi razlika mogubiti prikazani

    text1:This is a temprary testto check the diffutility

    text2:This is a temporary testto check the diffutility.

    1. Jednostavno pore d̄enje liniju po liniju:

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    107/176

    Osnovni Linux alati 102

    2. Koristéci kontekstni izlazni format ( ):

    3. Koristéci unicirani izlazni format ( ):

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    108/176

    Osnovni Linux alati 103

    4.13 Pore d̄enje binarnih fajlova ( )

    Prikazuje razlike izme d̄u dva binarna fajla

    Locira bajtove i brojeve linija prve razlike Može prikazati sve razlike ako se tako zatraži, npr:

    ne ispisuje ništa véc samo vráca izlazni status

    – ako su fajlovi identični – ako se fajlovi razlikuju – ako je nastupila greška

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    109/176

    Osnovni Linux alati 104

    4.14 Pretraživanja korišćenjem regularnihizraza ( )

    Pretraživanje liniju po liniju za zadate regularne izraze u navedenimfajlovima

    Čita standardni ulaz ako ni jedan fajl nije zadat Linije koje odgovaraju regularnim izrazima se ispisuju na standardni

    izlaz Popularnije opcije:

    Opcija Objašnjenje

    Ignoriši razliku izme d̄u malih i velikih slova Ispiši samo nazive fajlova koji sadrže regularni izraz Obrni znǎcenje testa, tj. prikaži samo one linije koje ne

    odgovaraju zadatom izrazu Pretraga po rěcima, tj. měcuj celu rěc Pretraživanje sa proširenim setom regularnih izraza

    (kompleksniji uzorci), slično komandi Pretraživanje po ksnim stringovima, isto kao komanda

    Tabela 4.5: Popularnije opcije komande

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    110/176

    Osnovni Linux alati 105

    4.15 Sortiranje i spajanje fajlova ( )

    Komanda sortira i/ili spaja fajlove

    Ponaša se kao lter ako nisu navedeni fajlovi kao argumenti U podrazumevanom nǎcinu rada sortira cele linije leksički Alternativni nǎcini sortiranja:

    Opcija Objašnjenje Rečnǐcki poredak Numerǐcki poredak Obrnuti poredak

    Tabela 4.6: Alternativni načini sortiranja kod komande

    Ostale popularne opcije:

    Opcija Objašnjenje Ignorisanje belina (TAB, SPACE) Prebacivanje malih slova u velika pre sortiranja

    Ignorisanje neprintabilnih znakova Spajanje fajlova bez provere da li su sortirani

    Postavljanje znaka x kao delimitera polja u fajlu x Ispisivanje linija koje se ponavljaju samo jednom

    Speciciranje polja u svakoj liniji koja predstavljajukljǔc za sortiranje, pǒcinjúci od POS1 izavršavajući sa POS2 (ili novim redom). Polja iznakovne pozicije se broje pǒcevši od 0.

    Alternativni nǎcin za speciciranje ključa zasortiranje. Pozicije se broje pǒcevši od 1

    Tabela 4.7: Popularne opcije programa

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    111/176

    Osnovni Linux alati 106

    4.16 — primeri

    Fajl tipǐcno sadrže linije u sledécem formatu:

    Sortiranje po polju ‘username’:

    Numerǐcko sortiranje po polju ’UID’:

    Sortiranje po imenu unutar GID-a::

    c 2002 - RC ETF www.etf.bg.ac.yu

  • 8/16/2019 Scripta L102

    112/176

    Osnovni Linux alati 107

    4.17 Izbacivanje dupliciranih linija ( )

    Izbacuje sve izuzev jedne od sukcesivno dupliciranih linija

    Deluje na standardnom ulazu, često nadovezan preko cevi na Najpopularnije opcije:

    Opcija Objašnjenje

    Broji duplikate i prikazuje rezultat ispred svake linije teksta Ispisivanje samo dupliciranih linija Ispisivanje sam