S terminalom: primeri z ukazom Find

Tu je nekaj primerov, ki jih lahko izkoristimo, ko uporabljamo Najdi, ukaz za iskanje datotek ali map.

Če želite pomoč za zagon ukaza:

man find

če želite zapustiti priročnik, samo pritisnite tipko [q] (velja za kateri koli priročnik).

V naslednjih primerih pika (.) Po iskanju (najti.) Pomeni, da iščemo v mapi, označeni s pozivom. Lahko ga nadomestite s katero koli veljavno potjo, kot je / domov /.

Primeri:

Samo poiščite datoteke z vzorcem.
find . -type f -name "*.deb"

poiščite in kopirajte na / home / pepe /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;

Poiščite datoteke Thumbs.db in jih izbrišite.
find . -type f -name "Thumbs.db" -exec rm -f {} \;

Ustvarite čisto besedilno datoteko z datotekami md5 v imeniku.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt

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

Zamenjajte eno besedilo z drugim.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php

Poiščite datoteke, posodobljene do pred enim dnevom.
find /var/log/[a-z]* \*.sql -mtime +1

Če želite ustvariti datoteke md5sums iz paketov DEB:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   pravilno je dejal

    izbriši vse datoteke razen .txt (očitno je .txt lahko karkoli)
    najti. ! -ime "* .txt" -exec rm {} \;

    iskanje brez ujemajočih se črk:
    najti. -iname «* foobar *»

    Opomba: ukaza -exec ni mogoče zagnati s parametrom -iname.

  2.   taregon je dejal

    Odlično 😉 ta ukaz bi moral biti obvezen, preden me je bilo strah možnosti, ki obstajajo v „človeku“, da bi lahko iskal, a dajem mu priložnost, da vidim, kako močan je, ko gre za iskanje tistega, kar sem pozabil na trdem disku 😐

  3.   Hugo je dejal

    Find je vsekakor koristen, zlasti za obravnavo imen datotek, ki vključujejo presledke in druge nenavadne znake. Na primer, nekoč sem se spomnil, da nikakor nisem mogel stisniti nabora imenikov, dokler se mi ni zgodilo, da bi uporabil find z xargs (kar je sicer hitreje kot -exec) in težavo rešil.

    Še ena izmed mojih najljubših načinov uporabe ukaza find je rekurzivna sprememba dovoljenj:


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

  4.   elektron222 je dejal

    Zanimivo ^ _ ^

    1.    KZKG ^ Gaara je dejal

      Kako kul ikona čakre izgleda hahahahahaha 😀

      1.    sieg84 je dejal

        Mageia je pogrešana 🙂

        1.    KZKG ^ Gaara je dejal

          Ja prav, 😀
          Trenutno temelji na tem hehehehe. Hvala 🙂

          1.    lesterzon je dejal

            In eno za mojo distribucijo ...

  5.   Archero je dejal

    Hvala, ukazi zelo koristni, dvomim, da se spomnim, da sem v Ubuntuju nekoč uporabil ukaz locate, ali gre za kakšen vzdevek find ali ...

    1.    Hugo je dejal

      Negativno poiščite, mlocate y položite so drugi ukazi za iskanje, ki za razliko od iskanje, uporabljajo bazo podatkov, ki jo je treba redno posodabljati z ukazom posodobljenob.

      Obe vrsti ukazov se uporabljata. Jaz na primer običajno uporabljam posodobljenob sledi mlocatepoiščite, ko resnično želim kaj hitro najti v imeniku z veliko podatki, za katere vem, da se ne posodabljajo prepogosto (na primer paket v repozitoriju), in iskanje ko želim narediti nekaj bolj zapletenega, na primer kombinirati rezultate iskanja z drugim ukazom, ali kadar preprosto ne želim generirati baze podatkov, ker vem, da imenik, v katerem bom iskal, ne vsebuje preveč informacij.

      1.    Archero je dejal

        Najlepša hvala Hugo, odlična razlaga, lahko samo rečem, kako močan je terminal v gnu / linux!

  6.   sandra je dejal

    Živjo, vidim, da je to stara tema, vendar upam, da mi lahko še vedno pomagate.

    Učim se uporabljati regularni izraz, ker sem videl dokument, in iščem besede napaka ali neuspeh in njegove izpeljanke napake ali neuspeh ali neuspeh itd., In moj regularni izraz je:
    : / \ (. * \ (napaka | neuspeh \). * \) /
    Med izvajanjem mi pove, da ni ujemanj 🙁, razen da
    : / \ (. * \ (napaka \). * \) /
    o
    : / \ (. * \ (neuspešno \). * \) /
    Če najdete ujemanja, mi lahko poveste, kako se motim?

    1.    KZKG ^ Gaara je dejal

      Kakšna je celotna vrstica, ki jo postavljate?

      Da preizkusim in vidim, ali najdem rešitev.

      Po drugi strani pa lahko, če želite, preverite tukaj: https://blog.desdelinux.net/?s=expresiones+regulares

  7.   Estefani je dejal

    Prosim, pomagajte mi, želim kopirati datoteke, ki se končajo z * _ZFIR0069.TXT, na drugo pot in dodati datum do konca, izvajam ukaz:

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

    Rezultat pa je:

    {} _20160225% -> vendar kopira samo eno datoteko in se tako preimenuje

    Kar hočem, je, da kopira vse datoteke in ima to obliko * _ZFIR0069_ $ date .TXT

    Lep pozdrav.

  8.   pepG je dejal

    Kakšna je razlika med find * -type d in find / home / pepe-type d? Želim našteti imenike svojega računa in ne razumem, zakaj prvi to počne pravilno, drugi pa ne. pomoč

  9.   kaike je dejal

    Kako najdem datoteke, ki se končajo s številkami? Hvala