Linux i shell skripting – korisne find komande

Ovde su neke od find comandi koje se često koriste na Linuxu, tj koje bar ja često koristim u raznim shell skriptama, većinom za brisanje nekih starih logova, detekcije prevelikih fajlova, arhiviranje i kopiranje fajlova izmenjenjih u neko određeno vreme i slično.

Pretraži fajl koji se zove httpd.conf na celom kompjuteru

Objašnjenje:
find – komanda za pretragu
/ – gde pretražuješ (u ovom slučaju root svih foldera). Pogledati hijerarhiju fajlova na Linuxu
type – tip fajla (f – fajl, d – folder, l – symlink)
name – reč ili deo reči (koristiti asterix) koji se traži
2> /dev/null – greške prilikom pretrage 2> (obično se javljaju kad nemate ovlašćenja da pristupite nekom folderu ili fajlu) šalji u crnu rupu (/dev/null)

Pronadji mi u folderu /tmp ali  ne i podfolderima, sve fajlove koji u nazivu sadrže reč „fraza“ a da su noviji od 25.11.2015 17:00 – i to što nađeš premesti u folder /home/draza

Objašnjenje:
maxdepth – koliko nivoa u dubinu (podfoldera) da pretrazuje (1 samo current folder bez podfoldera)
newermt – fajl je ranije (newer) menjan (m) od vremena (t) koji se navodi kao argument (u ovom primeru 2015-11-25 17:00:00)
exec – izvrsi komandu nad rezultatima {}

Pronadji mi u folderu /tmp i njegovim podfolderima sve fajlove sa ektenzijom log i da počinju frazom Program a da pri tom fraza „Program“ moze biti bilo kakvim slovima (nije case sensitive), a kojima ništa nije menjano duže od 3 dana i to što nadjes obriši (prvo izlistajte fajlove pokretanjem komande bez dela koji počinje sa -exec da ne biste obrisali nešto što ne treba)

Objašnjenje (a da izraza nema u gornjem primeru):
iname – isto kao i name ali nebitno da li su slova velika ili mala
mtime – vreme kad je fajl izmenjen je veći od 3 dana (zato +3, da je -3 značilo bi da je fajl izmenjen u poslednja 3 dana)

Pronadji mi sve fajlove u folderu /tmp koje je neko otvarao (vi, grep, cat….) u poslednjih 10 dana, nebitno da li je nešto menjao ili ne

Objašnjenje:
atime – access time (manje od 10 dana)

Zapakuj mi u neku arhivu sve fajlove u folderu /tmp koji su danas menjani

Objašnjenje:
ctime – fajl je promenjen u PRAMETAR*24 sati (u ovom slučaju u poslednjih 24 sata)
daystart – ali od početka današnjeg dana

Pronadji mi sve fajlove iz foldera /tmp koji se ne zovu program.sh

Objašenjenje:
not (parametar) – provalite sami čemu služi not

Pronadji mi sve fajlove u folderu /tmp koji su noviji od fajla /home/draza/testfajl.txt

Pronadji mi sve fajlove u folderu u kom se sad nalazim a koji imaju full permisije (777)

Pronađi mi sve fajlove u folderu /tmp sa 777 permisijom, izlistaj ih i promeni im permisiju na 644

Nadji mi sve fajlove u folderu /tmp kojima je owner draza

Pronadji mi sve fajlove u folderu /tmp koji su promenjeni u poslednja 2 sata (120 minuta)

Objašenjenje:
mmin – modification time (vreme izmene fajla) je odradđeno u: -120 u poslednjih 120 minuta, 120 pre tačno 120 minuta, +120 pre više od 120 minuta

Daj mi sve fajlove iz foldera /tmp koji su veći od 5 a manji od 10GB

Pronađi sve špijune u državi – i te koje nađeš obradi da to više ne budu a i ukini im neka prava zbog špijunaže

2 komentara na tekst Linux i shell skripting – korisne find komande

  • srki

    Svaka čast na trudu i zalaganju da ovakve tutoriale podjelite sa svima. Jedan od rjetkih blogova da se na njemu stvarno nešto može naučiti a da nije blog koji kopira strane blogove i njihove sadržaje! Nadajmo se da ukoliko budete imali vremena, da ćete nastaviti upravo sa ovakvim stvarima i kreirati određenu listu tutoriala o konfiguraciji servera (bilo kojih) i na taj način početnicima i entuzijastima malo probližiti Linux administraciju! Hvala!

  • Sajmon

    Odlično. Poslednja pobedila.

Komentarišite

Email neće biti javno objavljen. Sajt je neobavezan podatak, svi ostali su obavezni.