Baratanje datotekama u datotečnom sustavu
Stvaranje, kopiranje, brisanje i preimenovanje datoteka
touchstvara praznu datoteku danog imenarmbriše datoteku danog imena-
cpkopira datoteku danog imena u datoteku drugog danog imena; primjer:cp datoteka1 datoteka2 # kopira datoteke (prvu u drugu) -
mvpreimenuje (miče) datoteku danog imena; primjer:mv datoteka1 datoteka2 # premješta datoteku1 u datoteku2 i preimenuje ih
Zadatak
- U svom kućnom direktoriju napravite direktorij
zadatak1510i uđite u njega. - U njemu napravite 3 datoteke:
vjezba1,vjezba2ivjezba3jednom naredbom (linijom). Ispišite na ekran sadržaj datotekevjezba2. - Izbrišite zatim datoteku
vjezba1. - U istom direktoriju napravite i direktorij
dir1. - Kopirajte datoteku
vjezba3udir1, jednom koristeći reltivno a drugi put apsolutno referenciranje.
-
cp -rirm -roznačava rekurzivno kopiranje i brisanje, briše direktorij i sve datoteke i poddirektorije u njemu- kod naredbe
mv, za razliku odcpirm, nema potrebe za rekurzijom; radi se o preimenovanju
- kod naredbe
Zadatak
-
U Vašem kućnom direktoriju napravite predloženu strukturu direktorija:
studentXY ------ Studij --------- Preddiplomski -------- DINP.txt | | |----- Pravilnik.txt |--- Raspored.txt -
Kopirajte datoteku
Pravilnik.txtu direktorijPreddiplomski. - Kopirajte sav sadržaj direktorija
Preddiplomski, u direktorijDiplomski, koristeći apsolutno referenciranje. - Izbrišite direktorij
Preddiplomski. - Direktorij
Diplomskipreimenujte uDipl.
Dodatni zadatak
Provjerite čemu služi i kako se koristi program Midnight Commander (naredba mc).
Glob uzorci
- mnogo radimo sa nazivima datoteka pa postoji mogućnost rada sa posebnim znakovima (koji nemaju doslovno značenje) da bismo brzo i lako specificirali nazive većeg broja datoteka
-
glob uzorci, globovi ili wildcards
- koriste se za pretraživanje uzoraka koji odgovaraju zadanome
- način da više datoteka koje imaju slična imena povežemo jednom naredbom
- glob != regex, samo ima donekle sličnu sintaksu i namjenu
-
?-- jedan znak, bilo koji *-- bilo koliko bilo kojih znakova[chars]-- jedan znak, bilo koji od navedenih u zagradama, može i raspon oblika[A-Z],[a-z]ili[0-9]-
[:klasa:]-- zamjenjuje samo jedan, bilo koji znak koji je član navedene klase- najčešće korištene klase su:
[:alnum:],[:alpha:],[:digit:],[:lower:],[:upper:]
- najčešće korištene klase su:
-
\-- tzv. prekidni znak
Zadatak
- U svom kućnom direktoriju stvorite poddirektorij
Zadatcii u njemu datotekezadatak,zadatek,zadatuk,zadatak1,zadatak2,zadatakABC,zadatakabc,zadacnica,zadacnicA,zad3idat05. -
Jednom naredbom, koristeći se glob-om, izlistajte samo:
zadatak,zadatekizadatukzadatekizadatuk- samo datoteke koje na 8 mjestu naziva imaju veliko slovo
- samo datoteke koje počinju slovom
z, na 5 mjestu naziva im nije ni malo ni veliko slovo koja se po abecedi nalazi nakon slovas, i čiji naziv završava malim slovom - sve datoteke čiji naziv završava brojem manjim od 4
- sve navedene datoteke
-
Isprobajte naredbu
ls [^ad]*i razmislite o njezinom značenju. - Isprobajte naredbu
ls {ab,dat,f}??i razmislite o njezinom značenju. - Isprobajte naredbu
cat *[[:upper:]1-4]. Što ona radi?
Pretraživanje datotečnog sustava
-
findu specificiranim direktorijima traži datoteke ili skupine datoteka- sintaksa:
find <direktoriji> <uvjeti>(direktorij koji se pretražuje mora biti naveden prije uvjeta) - direktorij može biti dan korištenjem apsolutnog ili relativnog referenciranja
- može koristiti regularne izraze parametar
-regex -
pregled često korištenih parametara:
Parametar Ograničenje pretraživanja -user <ime korisnika>Samo datoteke određenog korisnika -size <veličina>Samo datoteke specifične veličine -type fSamo datoteke (ne direktoriji) -type dSamo direktoriji -name <ime datoteke>Samo datoteke određenog imena -atime <broj dana>Samo datoteke čije je vrijeme posljednjeg pristupa manje od navedenog u danima -amin <broj minuta>Isto kao iznad samo se navode minute umjesto dana -ctime <broj dana>Samo datoteke čije je vrijeme izrade manje od navedenog u danima -cmin <broj minuta>Isto kao iznad samo se navode minute umjesto dana -mtime <broj dana>Samo datoteke čije je vrijeme posljednje promjene manje od navedenog u danima -mmin <broj minuta>Isto kao iznad samo se navode minute umjesto dana -newer <datoteka>Samo datoteke stvorene prije određene datoteke -
naredba je spora jer mora provjeriti svaki file koji se nalazi na zadanoj putanji
-
česte primjene:
- brisanje nađenih datoteka naredbom find:
find ... -exec rm {} \;ilifind ... | xargs rm - pretraživanje nađenih datoteka:
find ... -type f | xargs grep <izraz>
- brisanje nađenih datoteka naredbom find:
- sintaksa:
Zadatak
Napišite naredbu find kojom u svom kućnom direktoriju tražite datoteke koje počinju sa iz-, čiji ste vi vlasnik i kojima je pristupano u zadnjih 30 dana.
-
locatepretražuje bazu datoteka za datoteku koja u imenu sadrži dani niz znakova- sintaksa:
locate <ime datoteke> - rezultat pretraživanja je puna putanja do tražene datoteke
- pretražuje brže jer stvara bazu imena datoteka koje postoje u datotećnom sustavu te nema potrebe pretraživati svaku datoteku koja postoji na datotečnom sustavu; baza se osvježava naredbom
updatedb, na većini modernih distribucija se pokreće automatski na dnevnoj bazi
- sintaksa:
Zadatak
Pronađite datoteku os-release.
whichse koristi kada želimo saznati punu putanju do određene izvršne datoteke datoteke koja se nalazi u nekom od direktorija navedenom u varijabli okolinePATH-
whereispretražuje lokaciju izvornog koda, binarnih datoteka i stranica priručnika-
pregled često korištenih parametara:
Parametar Uloga -btraženje binarnih datoteka -mtraženje stranica priručnika -straženje izvršnog koda
-
Pitanja za ponavljanje
- Prisjetite se naredbi za stvaranje, brisanje i kopiranje datoteka. Koja naredba može primiti više argumenata?
- Koja se naredba koristi za pomicanje neke datoteke u datotečnom sustavu? Koja za preimenovanje? Objasnite.
- Što su globovi?
- Koja je razlika između znakova
?i*kod globova?
Author: Vedran Miletić, Vanja Slavuj, Sanja Pavkov, Anja Vrbanjac