Pretraživanje, prava pristupa, rad sa tekstom
Pretraživanje datoteka i direktorija
Filtriranje naziva datoteka po obrascima
- Komandna linija
bashkoju koristimo omogućuje nam zadavanje naziva datoteka ili direktorija preko određenih uzoraka. - Na taj način možemo obuhvatiti više datoteka ili direkotirja odjednom.
- Ta funkcionalnost
bashkomandne linije se nazivaglobexpansion. -
Primjer:
- brišemo više datoteka koje završavaju na
.txt - ispisujemo sadržaj direktorija filtrirajući samo datoteke koje završavaju na
.txt
ls *.txt rm *.txt - brišemo više datoteka koje završavaju na
-
Takvi uzorci se nazivaju
globsi sastoje se od teksta po kojem filtriramo i simbola:*-- zamjenjuje nam više znakova u nazivu?-- zamjenjuje nam jedan znak u nazivu
Zadatak
- Ispišite sadržaj direktorija
/usr/bin/filtrirajući samo datoteke čiji naziv započinje znakomb.
Pretraživanje datoteka u datotečnom sustavu
- Datotečni sustav možemo pretraživati naredbom
find. - Naredba pretražuje počevši od zadanog direktorija, sve direktorije ispod njega u potrazi za danim nazivom datoteke.
- Mogu se koristiti uzorci za pretragu.
-
U najjednostavnijem obliku, pretražujemo po nazivu datoteke
nazivu nekom direktorijudirektorij(-nameje dio naredbe):find direktorij -name naziv -
Postoje različiti argumenti sa kojima možemo specificirati pretragu po veličini datoteke, vremenu izmjene itd. Za opise pojedinih argumenata konzultirati dokumentaciju naredbe.
Zadatak
- Potražiti u direktoriju
/usr/share/sve datoteke nazivaindex.html.
Prava pristupa datotekama i upravljanje pravima
Način rada prava pristupa
- Operacijski sustav Linux nam omogućuje upravljanje vlasništvom i pravima pristupa datotekama i direktorijima pojedinim korisnicima.
- Za provjeru vlasništva i prava nad pojedinom datotekom možemo iskoristiti naredbu
ls -l. -
Primjer dobivenog izlaza:
drwxr-xr-x 2 lukav lukav 4096 Nov 9 22:38 direktorij -rw-r--r-- 1 lukav lukav 74 Nov 9 22:38 primjer.txt -
Od značaja su nam vrijednosti prvog, trećeg i petog stupca:
-rw-r--r--je niz znakova koji nam definira prava pristupalukavje korisnik koji je vlasnik prikazane datotekelukavkoji se pojavljuje drugi put, je naziv grupe korisnika74je veličina datoteke u bajtovima
Tip
Linux je višekorisnički sustav te omogućuje upravljanje vlasništvom datoteka za svakog korisnika, pored korisnika postoje i grupe korisnika koje također mogu biti vlasnici datoteka.
-
Niz koji definira prava pristupa možemo dalje podijeliti na četri segmenata:
d rwx rwx rwx -
Niz prava pristupa se sastoji od četri segmenata:
- prvi segment je samo jedan znak i može biti
-ilid, u slučaju da jedspecificira nam da se radi o direktoriju - drugi segment sadrži tri znaka
rwxili-na mjestu bilo kojeg znaka, specificira nam pravo pristupa vlasnika datoteke - treći segment je sličan drugom, specificira pravo pristupa grupi korisnika koja posjeduje datoteku
- četvrti segment je isto sličan drugom, specificira pravo pristupa svih ostalih korisnika na sustavu
- prvi segment je samo jedan znak i može biti
-
Znakovi
rwximaju slijedeće značenje:r-- mogućnost čitanja iz datoteke ili direktorijaw-- mogućnost pisanja u datoteku ili direktorijx-- mogućnost pokretanja datoteke kao aplikaciju ili mogućnost ulaska u direktorij
-
Svaki znak može biti zamjenjen sa
-, u tom slučaju to pravo je onemogućeno na toj datoteci.
Zadatak
- Koja su prava pristupa definirana i za koga za datoteku
primjer.txtprikazanu u tekstu?
Izmjena prava pristupa -- naredba chmod
- Ako smo vlasnik datoteke ili direktorija, možemo izmjeniti prava pristupa koristeći naredbu
chmod. -
Naredba
chmodprima dva argumenta:- modifikato kojim zadajemo koje pravo želimo izmjeniti
- naziv datoteke ili direktorija čije pravo pristupa izmjenjujemo
chmod XYZ datoteka -
Modifikator
XYZse sastoji od tri dijela:X-- specifikacija segmenta koji mjenjamo,uza vlasnika,gza grupu koja posjeduje datoteku,oza ostale korisnike,aza sva pravaY-- operaciju izmjene,+za dodavanje prava,-za uklanjanje pravaZ-- pravo pristupa koje izmjenjujemo,r,wilix
chmod o-r primjer.txt
Zadatak
- U komandnoj liniji izvršiti naredbu
touch prazna.txt, koja kreira datotekuprazna.txt. - Provjeriti koja prava pristupa ima nova datoteka.
- Dati svim ostalim korisnicima pravo čitanja iz datoteke.
- Ukloniti pravo pisanja u datoteku grupi korisnika koja je vezana na datoteku.
Rad sa tekstualnim datotekama
Editor teksta nano
- Na svim Linux sustavima u komandnoj liniji dolazi editor teksta
nano. -
Pokrećemo izmjenu ili izradu nove datoteke pozivom alata
nanona slijedeći način:nano datoteka.txt -
Nakon što smo završili unos ili izmjenu, datoteku možemo spremiti kombinacijom tipki Ctrl+X te pratiti upite na dnu ekrana.
- Sve naredbe editora su navedene na dnu ekrana.
Naredbe za pregled sadržaja
-
Pregled sadržaja tekstualne datoteke naredbom
less:- kao argument prima naziv tekstualne datoteke
- sa tipkom
<Space>ili tipkama gore i dolje prolazimo kroz datoteku - sa tipkom
qizlazimo iz prikaza
-
Pregled prvih
nlinija u tekstualnoj datoteci sahead:- kao argument prima naziv tekstualne datoteke
- ispisuje prvih
10linija sa vrha tekstualne datoteke - kao parametar
-nse može zadati da ispisujenbrojeva linija
head datoteka.txt head -2 datoteka.txt -
Pregled
nlinija sa kraja tekstualne datoteke satail:- isto kao
headsamo ispisuje linije sa kraja datoteke
- isto kao
-
Brojanje riječi i linija u tekstualnoj datoteci sa
wc:- prima naziv datoteke kao argument
- ispisuje tri broja: broj linija, broj riječi i broj znakova u datoteci
-
Sortiranje linija u datoteci naredbom
sort:- prima naziv datoteke kao argument
- ispisuje sve linije iz izvorne datoteke sortirane po abecednom redu
-
Konkatenacija i ispisivanje datoteka sa
cat:- prima nijedan, jedan ili više naziva datoteka kao argumente
- ispisuje datoteke zadanim redoslijedom u komandnu liniju
- u slučaju da se pokrene bez argumenta, samo ponavlja unešeni tekst, unos se prekida sa Ctrl+D
Zadatak
- Naredbom
lesspregledati sadržaj datoteke iz prethodnog zadatka. - Naredbom
tailispisati zadnje tri linije iz iste datoteke. - Ispisati sve sortirane linije iz datoteke.
- Ispisati sadržaj cijele datoteke u terminalu.
Pretraga sadržaja datoteka sa grep
- Naredba
grepnam omogućuje pretragu sadržaja neke datoteke po zadanom uzorku. -
Prima dva argumenta:
- niz koji pretražujemo, ograđen navodnicima
"" - datoteku koju pretražujemo
grep "izraz" datoteka.txt - niz koji pretražujemo, ograđen navodnicima
-
Pretraga je osjetljiva na mala i velika slova, u slučaju da želimo zanemariti veličinu slova potrebno je kao argument dodati
-i.
Zadatak
- U datoteci iz koju smo kreirali sa
nanopretražiti jednu od riječi ignorirajući velika i mala slova.
Preusmjeravanje izlaza naredbi
- Komandna linija
bashomogućuje preusmjeravanje izlaza pojedinih naredbi u datoteke ili u druge naredbe. - Na taj način je moguće zapisati izlaz koji dobijemo ispisan na ekranu u neku datoteku ili nizati više naredbi za redom.
-
Operacije preusmjeravanja su:
> datoteka, zapisuje izlaz naredbe u datoteku>> datoteka, doda izlaz naredbe na kraj već postojeće datoteke< datoteka, naredbi na ulaz daj sadržaj datoteke|, preusmjeri izlaz jedne naredbe na ulaz druge
sort datoteka.txt | head -2 cat dat1.txt dat2.txt > out.txt
Zadatak
- U datoteku
dupla.txtnadodati preusmjeravanjem sadržaj konkatenacije datoteke iznanozadatka same sa sobom. - Iskoristite naredbu
catza izradu datoteke, izlaz naredbe preusmjerite u datotekuizlaz.txt. (Unos prekidate tipkama Ctrl+D na praznoj liniji)
Author: Luka Vretenar