S terminalom: Primjeri s naredbom Pronađi

Evo nekoliko primjera koje možemo iskoristiti kada koristimo naći, naredba za traženje datoteka ili mapa.

Da biste dobili pomoć za izvršavanje naredbe:

man find

da biste napustili priručnik, samo pritisnite tipku [Q] (vrijedi za bilo koji priručnik).

U sljedećim primjerima, točka (.) Nakon pronalaska (pronalaženja.) Znači da tražimo u mapi označenoj upitom. Može se zamijeniti bilo kojim važećim putem poput / home /.

Primjeri:

Samo potražite datoteke s uzorkom.
find . -type f -name "*.deb"

pronaći i kopirati na / home / pepe /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;

Pronađite datoteke Thumbs.db i izbrišite ih.
find . -type f -name "Thumbs.db" -exec rm -f {} \;

Stvorite čistu tekstualnu datoteku s datotekama md5 u direktoriju.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt

Izbrišite dosadne .svn mape.
find | grep "\.svn$" | xargs rm -fr

Zamijenite jedan tekst drugim.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php

Pronađite datoteke ažurirane do prije jedan dan.
find /var/log/[a-z]* \*.sql -mtime +1

Da biste generirali datoteke md5sums iz DEB paketa:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums


16 komentara, ostavi svoj

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   odgovarajuće dijo

    izbrišite sve datoteke osim .txt (očito .txt može biti bilo što)
    pronaći. ! -ime "* .txt" -exec rm {} \;

    pretraživanje bez podudaranja velikih i malih slova:
    pronaći. -iname «* foobar *»

    Napomena: naredba -exec ne može se pokrenuti s parametrom -iname.

  2.   taregon dijo

    Izvrsno 😉 ovu bi naredbu trebalo obavezno znati, prije nego što sam se uplašio opcija koje postoje u 'čovjeku' da bih mogao pretraživati, ali dajući joj priliku mogao sam vidjeti koliko je moćna kada je riječ o pronalaženju onoga što sam zaboravio na tvrdom disku

  3.   Hugo dijo

    Find je zasigurno koristan, posebno za rješavanje naziva datoteka koji uključuju razmake i druge neobične znakove. Na primjer, sjećam se jednom da nikako nisam uspio komprimirati skup direktorija, dok mi nije palo na pamet koristiti find s xargs (što je usput puno brže od -exec) i riješiti problem.

    Još jedna od mojih preferiranih upotreba naredbe find je rekurzivna promjena dozvola:


    find . -type d -print0 | xargs -0 chmod 755
    find . -type f -print0 | xargs -0 chmod 644

  4.   elektron222 dijo

    Zanimljivo ^ _ ^

    1.    KZKG ^ Gaara dijo

      Kako super izgleda ikona Chakra hahahahahaha 😀

      1.    sieg84 dijo

        Mageia je nestala 🙂

        1.    KZKG ^ Gaara dijo

          Ma da, 😀
          Trenutno sam se stavio u funkciju ovog hehehehe. Hvala 🙂

          1.    lesterzone dijo

            I jedan za moj distro ...

  5.   Arhero dijo

    Hvala, naredbe su vrlo korisne, sumnjam da se sjećam da sam u Ubuntuu jednom koristio naredbu locate, je li to alias pronalaska ili ...?

    1.    Hugo dijo

      Negativan. smjestiti, mlocirati y olabaviti su druge naredbe za pretraživanje koje za razliku od naći, koriste bazu podataka koju je potrebno povremeno ažurirati naredbom ažuriranob.

      Obje vrste naredbi imaju svoju upotrebu. Ja na primjer obično koristim ažuriranob slijedi mlociratilocirati kada stvarno želim pronaći nešto brzo u direktoriju s puno podataka za koje znam da se ne ažuriraju prečesto (na primjer, paket u spremištu) i naći kada želim učiniti nešto složenije poput kombiniranja rezultata pretraživanja s drugom naredbom ili kada jednostavno ne želim generirati bazu podataka jer znam da direktorij u kojem ću pretraživati ​​ne sadrži previše informacija.

      1.    Arhero dijo

        Puno ti hvala Hugo, izvrsno objašnjenje, mogu samo reći koliko je terminal moćan u gnu / linux!

  6.   sandra dijo

    Pozdrav, vidim da je to stara tema, ali nadam se da mi i dalje možete pomoći.

    Učim koristiti regexp jer sam vidio dokument i tražim riječi pogreška ili neuspjeh i njihove izvedenice pogreške ili neuspjeh ili neuspjeh itd., A moj regexp je:
    : / \ (. * \ (pogreška | neuspjeh \). * \) /
    Kad ga izvršavam, govori mi da nema podudaranja 🙁 već da
    : / \ (. * \ (pogreška \). * \) /
    o
    : / \ (. * \ (iznevjeriti \). * \) /
    Ako pronađete podudarnosti, možete li mi reći kako griješim?

    1.    KZKG ^ Gaara dijo

      Koja je cijela linija koju stavljate?

      Da testiram i vidim pronađem li rješenje.

      S druge strane, ionako ako želite možete provjeriti ovdje: https://blog.desdelinux.net/?s=expresiones+regulares

  7.   Estefani dijo

    Molim vas, pomozite mi, želim kopirati datoteke koje završavaju sa * _ZFIR0069.TXT na drugu stazu i, dodajući datum na kraju, radim naredbu:

    datum = $ (datum + »% Y% m% d%»)
    find / xcom_rep / FATF / exit / 42 -name * _ZFIR0069.TXT -exec cp -p {} / backup / FATF / exit / 42 / {} _ $ date \;

    Ali rezultat je:

    {} _20160225% -> ali kopira samo jednu datoteku od svih i tako se preimenuje

    Ono što želim je da kopira sve datoteke i ima ovaj format * _ZFIR0069_ $ date .TXT

    Pozdrav.

  8.   pepG dijo

    Koja je razlika između find * -tip d i find / home / pepe-type d? Želim navesti direktorije svog računa i ne razumijem zašto prvi to radi ispravno, a drugi ne. pomoći

  9.   kaike dijo

    Kako mogu pronaći datoteke koje završavaju brojevima? Hvala