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