Glavna arrow Linux/Unix arrow Konfiguracija arrow Komande za rukovanje direktorijumom subota 6 septembar 2008 
Sadrzaj
Glavna
Forum
Linux/Unix
Windows
Mreze
Sigurnost
Hardware
Knjige
Mobilni/PDA
Preuzimanje
Whois
Web Alati
Adresar
Galerija
Pretraga
E-mail
Kontakt
Pristup





Zaboravili ste lozinku?
Nemate nalog? Napravite nalog
 
samo po 1o1.com
po celom SCG web-u
Komande za rukovanje direktorijumom | Štampaj |
Autor Tim 1o1   
Kada ste kao korisnik postavljeni na UNIX operativni sistem, obicno ste tako postavljeni da je Vas home direktorijum /u/username. Za potrebe organizovanja svojih fajlova i sami mozete da kreirate direktorijume koji odgovaraju Vasim potrebama. Ovde cemo opisati komande za kreiranje i uklanjanje direktorijuma.

mkdir
Za kreiranje direktorijuma koristi se komanda mkdir. Ona prihvata da se istovremeno navede vise imena direktorijuma za kreiranje. Kao sto je to bio slucaj sa fajlovima, i za kreiranje direktorijuma koriste se relativno i apsolutno ime puta. Da biste mogli da kreirate direktorijum, morate da imate dozvolu za pisanje u njegov "roditeljski" direktorijum. UNIX koristi tekucu postavku dozvola da postavi dozvolu za direktorijum.
U sledecoj listi navedeni su indikatori koji mogu da se koriste sa mkdir komandom:
-p da se svi direktorijumi kreiraju u imenu puta specificiranog direktorijuma, ukoliko ne postoje
-m dozvola koja se specificira dozvola za direktorijum koji treba da se kreira.

Primeri
Ako je Vas tekuci direktorijum /u/testuser
mkdir temp
kreirace direktorijum po imenu temp, koji ce se nalaziti u direktorijumu /u/testuser, cije je apsolutno ime puta /u/testuser/temp.
mkdir /u/testuser/temp
imate isto dejstvo kao i prethodna komanda.
mkdir ../temp
moze da se upotrebi da se kreira direktorijum /u/temp. Ovde smo kao deo relativnog imena puta koristili .. (dve uzastopne tacke), da naznacimo da ce se direktorijum temp kreirati u direktorijumu koji se nalazi za jedan nivo vise, odnosno u direktorijumu /u.
Koristite komandu da kreirate testdirl i testdir2 u tekucem direktorijumu:
mkdir testdirl /u/testuser/temp/testdir2
Ovom komandom kreirace se testdirl u tekucem direktorijumu i testdir2 u /u/testuserltemp (pod pretpostavkom da postoji). U navedenom primeru testdiri koristi relativno, a /u/testuserltemp/testdir2 apsolutno ime puta.
Ukoliko direktorijum testdir vec postoji, kada pokusate da ga ponovo kreirate, dobicete poruku slicnu sledecoj:
mkdir: cannot create testdir.
testdir: File exists
Ako hocete da u okviru tekuceg direktorijuma kreirate direktorijum testdir i istovremeno mu dodelite dozvolu za pristup 770, izvrsite komandu:
mkdir -m 770 testdir
Ako hocete da kreirate direktorijum testdir u tekucem direktorijumu i poddirektorijum temp u direktorijumu testdir, kreirajte ih jednom komandom na sledeci nain:
mkdir -p testdir/temp rmdir
Kada vise nemate nameru da koristite neki direktorijum, ili hodete da ga uklonite, jer nemate slobodnog prostora, upotrebite komandu rmdir. Direktorijum mozete da uklonite samo ako je prazan, odnosno pod uslovom da su svi fajlovi i poddirektorijumi koji se u njemu nalaze prethodno uklonjeni. Kao argumente za rmdir komandu mozete da navedete vise imena direktorijuma. Da bi Vam bilo dozvoljeno da uklonite direktorijum, morate da imate dozvolu za pisanje u "roditeljski" direktorijum.
Sledeci indikator moze da se koristi sa rmdir komandom:
- p za uklanjanje svih direktorijuma koji se nalaze u specificiranom imenu puta.
Primeri
Ako Vas tekuci direktorijum /u/testuser sadrzi poddirektorijum temp, za uklanjanje tog poddirektorijuma koristite komandu:
rmdir temp
Ukoliko direktorijum temp nije prazan, dobicete poruku slicnu sledecoj:
rmdir: Directory temp is not empty.
Pretpostavimo da se nalazite u direktorijumu /u/testuser, koji sadrzi poddirektorijum testdir, pri cemu poddirektorijum testdir sadrzi poddirektorijum temp. da biste uklonili oba, izvrsite komandu (pod uslovom da su uklo-njeni svi fajlovi i direktorijumi koji se nalaze u okviru njih):
rmdir -p testdir/temp

Komande za dobijanje informacija o fajlovima
U UNIX-u svaki fajl, ili direktorijum, ima nekoliko pridruzenih atributa. Postoji nekoliko komandi za trazenje informacija o ovim atributima, pomocu kojih atributi mogu da se obraduju.
ls
Komanda ls moze da se koristi za postavljanje pitanja o razlicitim atributima jednog, ili vise fajlova, ili direktorijuma. Morate da imate dozvolu za citanje direktorijuma da biste mogli da koristite ls komandu za taj direktorijum i fajlove u njemu. Komanda is generise izlaz na standardnom izlazu, koji moze da se preusmeri u fajl, pomocu UNIX-ovog operatora > za preusmerenje.
U komandi ls mozete da navedete ime jednog, ili vise fajlova, ili direktorijuma. imena fajlova i direktorijuma su opciona. Ukoliko ih ne navedete, UNIX ce obraditi direktorijum.PO defaultu se lista fajlova u direktorijumu sortira po imenu fajla. Redosled sortiranja mozete da izmenite, upotrebom indikatora, o kojima ce kasnije biti reci.
Trebalo bi da imate u vidu da fajlovi cija imena pocinju . (tackom) nece biti obradeni, ukoliko u ls komandi ne upotrebite -a indikator. To znaci da upisi . (jedna tacka) i .. (dve uzastopne tacke) nece biti obradeni po defaultu.
Navodimo listu nekih indikatora koji mogu da se koriste sa ls komandom:
- A za listanje svih upisa u direktorijum, izuzev . (jedna tacka) i .. (dve uzastopne tacke)
- a za listanje svih upisa u direktorijum, ukljucujuci i skrivene fajlove - imena fajlova pocinju . (tackom).
- b za prikazivanje karaktera koji ne mogu da se ispisu; oni se prikazuju oktalnim (nnn) sistemom oznacavanja
- c za koriscenje vremena poslednje modifikacije i-cvora; kada se koristi sa -t indikatorom, izlaz je sortiran po vremenu poslednje modifikacije i-cvora, a kada se koristi sa -1 indikatorom, prikazano vreme predstavlja poslednje vreme modifikacije i-cvora (ovaj indikator mora da se koristi sa -t ili -1 indikatorom)
- C za vertikalno sortiranje izlaza za format sa vise kolona; ovo je default nacin kada se izlaz upucuje na terminal
- d da se prikazu samo informacije koje se odnose na navedeni direktorijum; po defaultu se prikazuju i informacije o fajlovima i direktorijumima unutar tog direktorijuma
- e da se za svaki navedeni fajl, ili direktorijum prikazu sledece informacije:
1. dozvola pridruzena fajlovima i direktorijumima
2. broj linkova
3. vlasnik
4. grupa
5. velicina (u bajtovima)
6. vreme poslednje modifikacije
7. ime svakog fajla. Ukoliko se radi o posebnom fajlu, polje za velicinu sadrzi brojeve glavnog (major) i podredenog (minor) uredaja. Ako je fajl simbolicki link, ime puta za'linkovan-sa fajl ispisuje se tako da mu prethodi -> (znak minus iza koga sledi znak'vece od'). Prikazuju se atributi simbolickog linka.
- f za ispisivanje svih imena za svaki direktorijum naveden u parametru za direktorijum; ovaj indikator iskljucuje indikatore -1, -t, - s, - r i ukljucuje indikator -a (redosled ispisivanja je redosled po kome se upisi pojavljuju u direktorijumu).
- F da se ispred razlicitih tipova fajlova stave specijalni karakteri, na sledeci nacin:
1. / (kosa crta) posle svakog direktorijuma
2. * (asterisk) ako je fajl izvrsni fajl
3. =(znak jednako) ako je fajl socket
4. ; (znak za pipe) ako je fajl FIFO fajl
5. @ (znak at) za simbolicki link
- g prikazuje sledece informacije o fajlovima i direktorijumima:
1. dozvola
2. broj linkova
3. grupa
4. velicina (u bajtovima)
5. vreme poslednje modifikacije
- i da se za svaki fajl prikaze broj i-cvora u prvoj koloni izvestaja
- l da se prikazu sledece informacije o navedenim fajlovima i direktorijumima:
1. dozvola
2. broj linkova
3. vlasnik
4. grupa
5. velicina (u bajtovima)
6. vreme poslednje modifikacije
- m da se izlaz prikaze u formatu sa zarezima
- n da se za navedene fajlove i direktorijume prikazu sledece informacije:
1. dozvola
2. broj linkova
3. id vlasnika
4. id grupe
5. velicina (u bajtovima)
6. vreme poslednje modifikacije
- o da se za navedene fajlove i direktorijume prikazu sledece informacije:
1. dozvola
2. broj linkova
3. id vlasnika
4. velicina (u bajtovima)
5. vreme poslednje modifikacije
- p da se stavi kosa crta (/) iza svakog imena direktorijuma
- q da se prikazu karakteri koji se ne vide, a nalaze se u imenima fajlova, kao sto je ? (znak.pitanja)
- r da se obrne redosled sortiranja ukoliko lista treba da se prikaze po redosledu imena, prikazace se po obrnutom redosledu imena, a ako treba da se prikaze po redosledu opadanja vremena (koriscenjem -t indikatora), gde se prvo prikazuje poslednje vreme, prikazace se po rastucem redosledu vremena, gde ce se prvo prikazati "najstarije" vreme
- R da se rekurzivno izlistaju svi poddirektorijumi koji se nalaze u navedenom direktorijumu
- s da se prikaze velicina fajlova i direktorijuma u kilobajtima
- t da se upisi sortiraju po vremenu poslednje modifikacije (prvo se prikazuje poslednji), umesto po imenu
- u da se koristi vreme poslednjeg pristupa, umesto vremena poslednje modifikacije; ako se koristi sa -1, prikazuje se vreme poslednjeg pristupa, umesto vremena poslednje modifikacije; a ako se koristi sa -t, izlaz se sortira po vremenu poslednjeg pristupa, umesto po vremenu poslednje modifikacije (ovaj indikator mora da se koristi sa indikatorima -1 i -t)
- x za horizontalno sortiranje izlaza u formatu sa vise kolona
- 1 da se u izlazu prikaze jedan upis po redu.
Informacije koje o dozvolama prikazuje ls komanda, u slucaju kada se koriste izvesni indikatori, kao sto je -1, sastoje se od 10 karaktera. Njihov detaljan opis je sledeci:

Byte 1: d oznacava direktorijum, b poseban blok fajl, c poseban karakter fajl, 1 simbolicki link, p oznacava poseban fajl tipa prvi-ulazi, prvi-izlazi (FIFO), s lokalni socket, i obican fajl (na primer, fajl koji sadrzi tekst)

Byte 2: r - ako je vlasniku dodeljena dozvola za Citanje, - (crta) - ako vlasniku nije dodeljena dozvola za citanje

Byte3: w - ako je vlasniku dodeljena dozvola za pisanje, - (crta) - ako vlasniku nije dodeljena dozvola za pisanje

Byte4: x - ako je vlasniku dodeljena dozvola za izvrsavanje, - (crta) - ako vlasniku nije dodeljena dozvola za izvrsavanje, s - ako fajl ima set-user-ID nacin (mode)

Byte5: r - ako je grupi dodeljena dozvola za citanje, - (crta) - ako grupi nije dodeljena dozvola za citanje

Byte6: w - ako je grupi dodeljena dozvola za pisanje, - (crta) - ako grupi nije dodeljena dozvola za pisanje

Byte7: x - ako je grupi dodeljena dozvola za izvrsavanje, - (crta) - ako grupi nije dodeljena dozvola za izvrsavanje, s - ako fajl ima setgroup-ID nain (mode).

Byte8: r - ako je ostalima dodeljena dozvola za citanje, - (crta) - ako ostalima nije dodeljena dozvola za citanje

Byte9: w - ako je ostalima dodeljena dozvola za pisanje, - (crta) - ako ostalima nije dodeljena dozvola za pisanje

Bytel0: x - ako je ostalima dodeljena dozvola za izvrgavanje, - (crta) - ako ostalima nije dodeljena dozvola za izvrsavanje.

Kada se radi o fajlu, dozvola za izvrsavanje znaci da je fajl izvrsljiv. Medutim, kada se radi o direktorijumu, dozvola za izvrsavanje znaci da mozete da pretraiujete navedeni direktorijum, tragajuci za jednim, ili vise fajlova.
Primera
Pretpostavimo da su sledeci fajlovi i direktorijumi prisutni u tekucem direktorijumu:dot1, test1, test2, test3 i test4. Takode, pretpostavimo da je test2 direktorijum.
Najjednostavniji oblik ls komande moze da se upotrebi da bi se dobila lista fajlova i direktorijuma, koji se nalaze u tekucem direktorijumu:

ls
testl test2 test3 test4 test5

U ovoj listi ne prikazuje se upis u direktorijum . dotl, zato sto je fajl . dot1 skriveni fajl. Da bi se prikazali svi upisi, ukljucujuci i skrivene fajlove, pozovite komandu:

ls -a
. .. .dot1 test1 test2 test3 test4 test5

Gornja lista ne prikazuje informacije o upisima. Da biste dobili detaljnu listu svih fajlova i direktorijuma, pozovite komandu sa -a indikatorom:

ls -la
total 56
drwxrwx--- 3 testuser author 3072 Nov 24 17:35 .
drwxr-xr-x 36 root system 2048 Nov 23 19:51 ..
-rw-r--r-- 1 testuser author 0 Nov 24 14:54 .dotl
-rw-r--r-- 1 testuser author 10 Nov 24 17:36 testl
drwxr-xr-x 2 testuser author 512 Nov 24 17:32 test2
-rw-r--r-- 1 testuser author 0 Nov 24 14:58 test3
-rw-r--r-- 1 testuser author 0 Nov 24 17:33 test4
-rw-r--r-- 1 testuser author 11885 Nov 24 11:50 test5

Koriscenje indikatora -a ima za posledicu prikazivanje dva posebna upisa, koji su prisutni u svim direktorijumima:. (jedna tacka), kojom se oznacava navedeni direktorijum, i .. (dve uzastopne tacke), kojima se oznacava "roditeljski" direktorijum.
Ukoliko hocete da imate samo listu direktorijuma, pozovite komandu sa -d indikatorom:

ls -ald
drwxrwx--- 3 testuser author 3072 Nov 24 17:15 .

Kao sto ste mogli da vidite u prethodnim primerima, fajlovi i direktorijumi u listi poredani su po imenu. Ukoliko hocete da dobijete listu upisa u direktorijum, koji su poredani po vremenu poslednje modifikacije, da biste videli sta je bilo poslednje na cemu ste radili, pozovite komandu sa -t indikatorom:

ls -lat
total 56
drwxrwx--- 3 testuser author 3072 Nov 24 17:37 .
-rw-r--r-- 1 testuser author 10 Nov 24 17:36 testl
-rw-r--r-- 1 testuser author 0 Nov 24 17:33 test4
drwxr-xr-x 2 testuser author 512 Nov 24 17:32 test2
-rw-r--r-- 1 testuser author 0 Nov 24 14:58 test3
-rw-r--r-- 1 testuser author 0 Nov 24 14:54 .dot1
-rw-r--r-- 1 testuser author 11885 Nov 24 11:50 test5
drwxr-xr-x 36 root system 2048 Nov 23 19:51 ..

Sve do sada nismo u ls komandi naznacili ime fajla, ili direktorijuma. Ukoliko hocete da trazite sve upise cije ime pocinje sa test, na sledeci nacin navedite test* za ime upisa:

ls -la test*
-rw-r.-r-- 1 testuser author 10 Nov 24 17:36 testl
-rw-r.-r-. 1 testuser author 0 Nov 24 14:58 test3
-rw-r--r-- 1 testuser author 0 Nov 24 17:33 test4
-rw-r--r-- 1 testuser author 11885 Nov 24 11:50 tests

test2:
total 16
drwxr-xr-x 2 testuser author 512 Nov 24 17:32 .
drwxrwx--- 3 testuser author 3072 Nov 24 17:41 ..
-rw-r--r-- 1 testuser author 0 Nov 24 17:45 test2l
-rw-r--r-- 1 testuser author 0 Nov 24 14:58 test22

Mozete da zapazite da upisi . (jedna tacka), .. (dve uzastopne tacke) i .dotl ovde nisu prikazani, zbog toga sto dzoker znak * (asterisk) ne odgovara karakteru . (tacka).
Ako hocete da dobijete listu u kojoj su fajlovi i direktorijumi iz tekuceg direktorijuma odvojeni zarezima, pozovite komandu sa -m indikatorom:

ls -am
dotl, testl, test2, test3, test4, test5

Ukoliko hocete da dobijete listu upisa u kojima ce direktorijumi biti oznaceni sa / (kosom crtom), izvrsite komandu sa -p indikatorom:

ls -ap
/ testl test4
/ test2/ test5
.dotl test3

Izlaz slican ovom, ali sa vise informacija, moze da se dobije kada se koristi -F indikator. Koriscenjem indikatora -F, dobija se prikaz u kome su oznaceni izvrsni fajlovi, simbolicki linkovi i tako dalje.
Ako hocete da dobijete listu upisa poredanu po obrnutom redosledu imena, pozovite komandu sa -r indikatorom:

ls -rla
total 56
-rw-r--r-- 1 testuser author 11885 Nov 24 11:50 test5
-rw-r--r-- 1 testuser author 0 Nov 24 17:33 test4
-rw-r--r-- 1 testuser author 0 Nov 24 14:58 test3
drwxr-xr-x 2 testuser author 512 Nov 24 17:32 test2
-rw-r--r-- 1 testuser author 10 Nov 24 17:36 testl
-rw-r--r-- 1 testuser author 0 Nov 24 14:54 .dotl
drwxr-xr-x 36 root system 2048 Nov 23 19:51 ..
drwxrwx--- 3 testuser author 3072 Nov 24 18:00 .

Da biste dobili listu svih fajlova koji se nalaze u tekucem direktorijumu, ukljucujuci i fajlove koji se nalaze u svim poddirektorijumima, pozovite komandu sa -R indikatorom:

ls -lR
total 40
-rw-r--r-- 1 testuser author 10 Nov 24 17:36 testl
drwxr-xr-x 2 testuser author 512 Nov 24 17:32 test2
-rw-r--r-- 1 testuser author 0 Nov 24 14:58 testa
-rw-r--r-- 1 testuser author 0 Nov 24 17:33 test4
-rw-r--r-- 1 testuser author 11885 Nov 24 11:50 test5
./test2:
total 0
-rw-r--r-- 1 testuser author 0 Nov 24 17:45 test2l
-rw-r--r-- 1 testuser author 0 Nov 24 14:58 test22

Sledeci primeri prikazuju ls komandu sa i bez -u indikatora. Lista koja se dobija bez -u indikatora prikazuje vreme poslednje modifikacije. Lista koja se dobija pomocu -u indikatora prikazuje vreme poslednjeg pristupa.

ls -lu
total 40
-rw-r--r-- 1 testuser author 10 Nov 24 17:34 testl
drwxr-xr-x 2 testuser author 512 Nov 24 18:19 test2
-rw-r--r-- 1 testuser author 0 Nov 24 14:58 test3
-rw-r--r-- 1 testuser author 0 Nov 24 17:33 test4
-rw-r--r-- 1 testuser author 11885 Nov 24 17:56 tests ls -1
total 40
-rw-r--r-- 1 testuser author 10 Nov 24 17:36 testl
drwxr-xr-x 2 testuser author 512 Nov 24 17:32 test2
-rw-r--r-- 1 testuser author 0 Nov 24 14:58 test3
-rw-r--r-- 1 testuser author 0 Nov 24 17:33 test4
-rw-r--r-- 1 testuser author 11885 Nov 24 11:50 tests


find
Ako niste sigurni gde se nalazi odredeni fajl, za pretrazivanje upotrebite komandu find. Ona Vam pruza fleksibilnost u traganju, omogucavajuci Vam da tragate za fajlom po razlicitim atributima, kao sto su ime, dozvola i slicno. Pored toga, find komanda omogucava da izvrsavate odredene komande nad fajlovima koji su pronadeni kao rezultat pretraiivanja.
Format find komande je sledeci:
find directory-name search-expression
Ime direktorijuma moze da bude puno ime puta, ili . (jedna tacka) za tekuci direktorijum. U sledecoj listi prikazani su termini koji mogu da se koriste sa find komandom:

-name filename da se specificira ime fajla (ukljucujuci i dzoker znake), koje ce se koristiti u pretraizivanju. Takode, mozete da koristite opseg kao deo dzoker znaka. Ako hocete da koristite karaktere, koji predstavljaju dzoker znake, morate da ih specificirate u okviru znaka navoda. Na primer, "test*" ce pronaci sve fajlove koji pocinju sa test. Ako specificirate "test[1-2]", pronaci cete fajlove koji pocinju sa test i imaju 1, ili 2 kao poslednje karaktere, kao sto su test1 i test2.

- size Number da se specificira velicina fajla, koja se koristi za pretrazivanje. Velicina fajla specificira se u blokovima. Da biste specificirali da trazite fajlove cija je velicina manja od specificirane velicine, koristite - (znak minus) ispred navedene velicine. Da biste specificirali da trazite fajlove cija je velicina veca od specificirane velicine, koristite + (znak plus) ispred navedene velicine. Na primer, -size 5 traze fajlove cija velicina iznosi pet blokova (velicina fajla kod uporedenja uvek se zaokruzuje na sledeéci najblizi blok), -size -5 trazice fajlove cija je velicina manja ili jednaka pet blokova, -size +5 trazice fajlove cija je velicina veca od pet blokova.

-size Numberc da se specificira velicina fajla, koja se koristi za pretraiivanje. Drugim recima, stavite karakter c na kraj broja. Sada je velicina fajla specificirana u bajtovima. Da biste specificirali da trazite fajlove cija je velicina manja od navedene velicine, koristite - (znak minus) ispred navedene velicine fajla. Da biste specificirali da trazite fajlove cija je velicina veca od navedene velicine, koristite + (znak plus) ispred velicine fajla. Na primer, -size 50c trazice fajlove cija velicina iznosi 50 bajtova, -size -50c trazice fajlove cija je velicina manja, ili jednaka 50 bajtova, - size +50c trazice fajlove cija je velicina veca od 50 bajtova.

-prune da se ogranici komanda find da rekurzivno ne obraduje direktorijume; po default-u, find rekurzivno obraduje sve direktorijume i poddirektorijume u navedenom direktorijumu

atime number da se prilikom pretrazivanja traze fajlovi kojima je pristupano u specificiranom broju perioda od 24 sata. Broj perioda od 24 sata izracunava se dodavanjem broja 1 na specificirani broj; 0 oznacava poslednja 24 sata.

-mtime number da se prilikom pretrazivanja traze fajlovi koji su bili modifikovani u specificiranom broju perioda od 24 sata. Broj perioda od 24 sata izracunava se dodavanjem broja 1 na specificirani broj; 0 oznacava poslednja 24 sata.

-ctime number da se prilikom pretrazivanja traze fajlovi ciji je i-cvor bio modifikovan u specificiranom broju perioda od 24 sata. Broj perioda od 24 sata izracunava se dodavanjem broja 1 na specificirani broj; 0 oznacava poslednja 24 sata.

-type filetype da se prilikom pretrazivanja traze fajlovi odredenog tipa. Mogu da se koriste tipovi koji se nalaze u sledecoj listi:
b - posebni blok fajl
c - posebni karakter fajl
d - direktorijum
f - regularni fajl
1- simboli&ki link
p - FIFO (imenovan pipe)
s - socket

-user da se prilikom pretrazivanja traze fajlovi ciji je vlasnik navedeno ime korisnika

-perm permission da se prilikom pretrazivanja traze fajlovi sa specificiranom dozvolom, koja se navodi kao oktalni broj od tri cifre. Ukoliko specificiranoj dozvoli ne prethodi - (crta), medu dozvolama za fajlove trazi se ona koja je identicna navedenoj dozvoli. Ukoliko specificiranoj dozvoli prethodi crta, dozvola za fajl spaja se logickim "i" sa specificiranom dozvolom i medu fajlovima traze oni koji ispunjavaju taj uslov. Na primer, ako hocete da pretrazujete, trazeci fajlove ciji vlasnik ima dozvolu za citanje, koristite -perm -400.

-newer filename da se prilikom pretrazivanja traze fajlovi cije je vreme modifikacije vece od vremena modifikacije specificiranog fajla

-group groupname da se prilikom pretrazivanja traze fajlovi koji pripadaju specificiranoj grupi.

-inum Number da se prilikom pretraiivanja traze fajlovi ciji je broj i-cvora jednak specificiranom broju i-cvora

-links Number da se prilikom pretrazivanja traze fajlovi koji imaju specificirani broj linkova. Da biste naznacili da se pretrazivanje odnosi na broj linkova manji od navedenog broja linkova, koristite - (znak minus) ispred broja linkova. Ako hocete da se pretrazivanje odnosi na broj linkova koji je veci od naznacenog, koristite + (znak plus) ispred broja.
-ls da se ime tekuceg puta ispise zajedno sa sledecim atributima:
brojem i-cvora
-velicinom u kilobajtima (1.024 bajta)
-nacinom zagtite
-brojem hard linkova
-korisnikom
-grupom
-velicinom u bajtovima
-vremenom modifikacije

-exec command da se komanda pozove na izvrsavanje. Da bi se navedena komanda izvrsila nad fajlovima koji se nalaze u listi fajlova, pronadenih find komandom, koristite { } iza cega slede ; (backslash, iza koga sledi znak tacka - zarez).

-ok command da se komanda pozove na izvrsavanje. Da bi se navedena komanda izvrsila nad fajlovima koji se nalaze u listi fajlova pronadenih find komandom, koristite { }, iza cega slede ; (backslash, iza koga sledi znak tacka - zarez). UNIX trazi potvrdu pre nego sto nastavi izvrsavanje ove komande.

- print za ispisivanje izlaza cije je generisanje rezultat pretrazivanja.

Ovi operatori mogu medusobno da se kombinuju, cime se omogucava da se formiraju slozeni kriterijumi za pretrazivanje. Na sledeci nacin mozete da kombinujete nekoliko operatora:
-operator -a operator da se traze fajlovi koji zadovoljavaju oba navedena kriterijuma
-operator -o operator da se traze fajlovi koji zadovoljavaju jedan, ili drugi uslov
-!operator da se traze fajlovi koji ne zadovoljavaju navedeni uslov.

Primeri
Pretpostavimo da se u tekucem direktorijumu nalaze sledeci fajlovi:

ls -al
total 64
drwxrwx-- 3 testuser author 3072 Nov 25 00:41 .
drwxr-xr-x 36 root system 2048 Nov 23 19:51 ..
-rw-r--r-- 1 testuser author 0 Nov 24 14:54 .dota
-rw 1 testuser author 10 Nov 24 17:36 testl
drwxr-xr-x 2 testuser author 512 Nov 24 17:32 test2
-r-x 1 testuser author 0 Nov 24 14:58 test3
-rw-r--r-- 1 testuser author 0 Nov 24 17:33 test4
-rw-r--r-- 1 testuser author 15647 Nov 24 18:32 tests

Na sledeci nain mozete da izvrsite najjednostavniji oblik komande find, da biste dobili listu svih fajlova koji se nalaze u tekucem direktorijumu i njego-vim poddirektorijumima:

find -print

./tests
./testl
./test3
./test4
./test2
./test2/test2l
./test2/test22
./.dotl

Ako hocete da trazite sve fajlove iz tekuceg direktorijuma koji su u poslednja 24 sata bili modifikovani, upotrebite operator -mtime na sledeci nacin:
find . -mtime 0 -print
/test5
/testl
/test3
/test4
/test2
./test2/test2l
./test2/test22
./.dotl

Da biste pronasli fajl cija dozvola iznosi 600 (samo vlasnik ima dozvolu citanja i pisanja), pozovite komandu, u kojoj se koristi -perm operator:

find . -perm 600 -print
./testl

U ovom slucaju prikazuje se samo fajl cija dozvola iznosi tacno 600. Medutim, ako hocete da traite fajl za koji vlasnik ima dozvolu citanja i pisanja, pozovite komandu u kojoj se nalazi - (crta) ispred 600:
find . -perm -600 -print

./test5
./testl
./test4
./test2
./test2/test2l
./test2/test22
./.dotl

Ukoliko ste zainteresovani samo za pretrazivanje direktorijuma, pozovite komandu, u kojoj se koristi operator -type:

find . -type d -print
./test2

Da biste dobili vise informacija o fajlovima nadenim prilikom pretrazivanja, pozovite komandu, u kojoj se koristi operator -ls:
find . -ls
2 4 drwxrwx--- 3 settlea eod 3072 Nov 25 01:11 .
16 16 -rw-r--r-- 1 testuser author 647 Nov 24 18:32 ./test5
18 4 -rw 1 testuser author 10 Nov 24 17:36 ./testl
19 0 -r-x 1 testuser author 0 Nov 24 14:58 ./test3
20 0 -rw-r--r-- 1 testuser author 0 Nov 24 17:33 ./test4
67584 4 drwxr-xr-x 2 testuser author 512 Nov 24 17:32 ./test2
67585 0 -rw-r--r-- 1 testuser author 0 Nov 24 17:45 ./test2/test2l
67586 0 -rw-r--r-- 1 testuser author 0 Nov 24 14:58 ./test2/test22
22 0 -rw-r--r-- 1 testuser author 0 Nov 24 14:54 ./.dotl

Da biste pronasli sve fajlove cije ime pocinje sa test, pozovite komandu, u kojoj se koristi operator -name:
find . -name 'test** -print
./test5
/testl
/test3
/test4
/test2
./test2/test2l
./test2/test22

Kao sto mozete da vidite, komanda find presla je preko poddirektorijuma test2, da bi nasla imena koja se u njemu nalaze. Ukoliko hocete da ogranicite pretrazivanje samo na tekuci direktorijum, izostavljajuci poddirektorijume, pozovite na izvrsavanje komandu, u kojoj se koristi operator -prune:

find . -name "test*" -prune -print
./test5
./testl
./test3
./test4
./test2
Da biste u tekucem direktorijumu pronali listu fajlova koji su "mladi" od fajla test1, pozovite komandu, u kojoj se koristi operator -newer:

find . -newer tests -print
./test5
./test2/test2l

S druge strane, ako hocete da pronadete listu fajlova koji su "stariji" od fajla test1, pozovite komandu, u kojoj se koristi operator ! za negaciju, u kombinaciji sa operatorom -newer:
find . ! -newer test1 -print

./test3
./test4
./test2
./test2/test22
./.dotl

Ukoliko hocete da dobijete listu svih fajlova cija velicina iznosi tacno 10 bajtova, pozovite komandu, u kojoj se koristi operator -size:

find . -size 10c -print
./test1

Ako hocete da kreirate listu fajlova koji su manji od 10 bajtova, pozovite na izvrsavanje komandu (ona je identicna prethodnoj, izuzev sto se ispred broja 10 nalazi crta):
find . -size -10c -print
./test3
./test4
./test2/test2l
./test2/test22
./.dotl

Ako hocete da dobijete listu svih fajlova Cija je velicina jednaka nuli, na sledeci nain pozovite komandu find, u kojoj se koristi parametar -exec:
find . -size Oc -exec ls -1 {} ;
-r-x 1 testuser author 0 Nov 24 14:58 ./test3
-rw-r--r-- 1 testuser author 0 Nov 24 17:33 ./test4
-rw-r--r-- 1 testuser author 0 Nov 24 17:45 ./test2/test2l
-rw-r--r-- 1 testuser author 0 Nov 24 14:58 ./test2/test22
-rw-r--r-- 1 testuser author 0 Nov 24 14:54 ./.dotl

Ako hocete da uklonite sve fajlove cija je velicina jednaka nuli, ah, pri tom, hocete da pre brisanja povrdite brisanje, pozovite komandu, u kojoj se nalazi operator -ok:
find . -size Oc -ok rm {} ;
rm ... ./test3 > (yes)? y
rm ... ./test4 > (yes)? n
rm ... ./test2/test2l > (yes)? y
rm ... ./test2/test22 > (yes)? y
rm ... ./.dot1 > (yes)? y

Ovde ste odluciti da ne uklonite fajl test4.
U svim primerima koje ste do sada videli kordstio se po jedan operator. Moguce je pozvati na izvrsavanje find komandu, sa zadatim kompleksnim uslovima za pretrazivanje, koji u sebi sadrze vise operatora medusobno kombinovanih pomocu
uslova'ili' (or) ili 'i' (and). Ako hocete da dobijete informacije o svim fajlovima cije ime pocinje sa test i Cija je velicina jednaka nuli, pozovite komandu:

find . -name 'test*' -size Oc -print
./test3
./test4
./test2/test2l
./test2/test22

U ovom primeru kombinovali smo dva razlicita operatora. Isti operator moze da se koristi vise puta u kombinaciji sa and, ili or operatorima. Ako hocete da trazite sve fajlove koji se nalaze u tekucem direktorijumu, cija je velicina veca od nula i manja od 50 bajtova, pri cemu treba da bude zadovoljen i uslov da njihovo ime pocinje sa test,pozovite komandu:

find . -size +0c -a -size -50c -name 'test*' -exec is -1 {} ;
-rw 1 testuser author 10 Nov 24 17:36 ./testl


file
Komanda file moze da se koristi za odredivanje tipa navedenog fajla. U stvari, komanda file cita fajl i izvrsava niz testova na osnovu kojih odreduje njegov tip. Posle toga ova komanda izlaz prikazuje kao standardni izlaz.
Ukoliko je to ASCII fajl, komanda file ispituje njegovih prvih 512 bajtova i pokusava da odredi o kom se jeziku radi. Ukoliko te, nije ASCII fajl, komanda file dalje pokusava da ustanovi da li se radi o fajlu sa binarnim podacima, ili o tekstualnom fajlu, koji sadrzi prosirene karaktere.
Ako argument File specificira fajl koji predstavlja izvrsni fajl, ili objektni modul, pri cemu je njegov broj verzije veci od 0, komanda file prikazuje oznaku verzije.Komanda file koristi fajl /etc/magic da identifikuje fajlove koji imaju neku vrstu magicnog broja, odnosno svaki fajl koji sadrzi numericku konstantu, iii konstantu koja se sastoji iz niza karaktera i oznacava tip.

Primer
Ako u tekucem direktorijumu imate fajl po imenu letter, u kome se nalazi pismo Vasem prijatelju, izvrsavanjem sledece komande

file letter
dobija se rezultat:
letter: commands text

Ako imate fajl po imenu prog, koji predstavlja izvrsni program, pri cemu radite na IBM RISC 6000 AIX verziji 3.1, tada ce rezultat izvrsavanja komande

file prog
biti sledeci:
prog: executable (RISC System/6000 v3.1)

Ukoliko se nalazite u direktorijumu /dev, u kome se nalaze svi posebni fajlovi, izvrsavanjem komande

file hdl
za fajl hdi (oval fajl je disk na kome je definisan fajl sistem), dobija se sledeci rezultat
hdl: block special

 
: Glavna :: Forum :: Linux/Unix :: Windows :: Mreze :: Sigurnost :: Hardware :: Knjige :: Mobilni/PDA :: Preuzimanje :
Powered by 1o1
PodignimoStupove!