Z terminalem: Przykłady z poleceniem Znajdź

Oto kilka przykładów, z których możemy skorzystać, gdy używamy Znajdź, polecenie wyszukiwania plików lub folderów.

Aby uzyskać pomoc dotyczącą polecenia, uruchom:

man find

Aby wyjść z instrukcji, wystarczy nacisnąć klawisz [Q] (dotyczy każdej instrukcji).

W poniższych przykładach kropka (.) Po znalezieniu (znajdź.) Oznacza, że ​​szukamy w folderze wskazanym przez monit. Można go zastąpić dowolną prawidłową ścieżką, taką jak / home /.

Przykłady:

Po prostu wyszukaj pliki ze wzorem.
find . -type f -name "*.deb"

znajdź i skopiuj do / home / pepe /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;

Znajdź pliki Thumbs.db i usuń je.
find . -type f -name "Thumbs.db" -exec rm -f {} \;

Utwórz czysty plik tekstowy z plikami md5 w katalogu.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt

Usuń irytujące foldery .svn.
find | grep "\.svn$" | xargs rm -fr

Zastąp jeden tekst innym.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php

Znajdź pliki zaktualizowane maksymalnie dzień temu.
find /var/log/[a-z]* \*.sql -mtime +1

Aby wygenerować pliki md5sums pakietów DEB:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   właściwy powiedział

    usuń wszystkie pliki inne niż .txt (oczywiście .txt może być wszystkim)
    odnaleźć. ! -name "* .txt" -exec rm {} \;

    wyszukiwanie bez dopasowań bez rozróżniania wielkości liter:
    odnaleźć. -iname «* foobar *»

    Uwaga: komendy -exec nie można uruchomić z parametrem -iname.

  2.   Taregonu powiedział

    Świetnie 😉 to polecenie powinno być obowiązkowe, aby wiedzieć, zanim przestraszyłem się opcji, które istniały w `` człowieku '', aby móc wyszukiwać, ale dając mu okazję, mogłem zobaczyć, jak potężne jest, jeśli chodzi o znalezienie tego, o czym zapomniałem na moim dysku twardym 😐

  3.   Hugo powiedział

    Znajdowanie jest z pewnością przydatne, szczególnie w przypadku nazw plików zawierających spacje i inne nietypowe znaki. Na przykład, pamiętam kiedyś, że nie było sposobu, abym zdołał skompresować zestaw katalogów, dopóki nie przyszło mi do głowy, aby użyć find z xargs (który jest znacznie szybszy niż -exec, tak przy okazji), i problem został rozwiązany.

    Innym z moich preferowanych zastosowań polecenia find jest rekurencyjna zmiana uprawnień:


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

  4.   elektron222 powiedział

    Ciekawe ^ _ ^

    1.    KZKG ^ Gaara powiedział

      Jak fajnie wygląda ikona czakry hahahahahaha 😀

      1.    Sieg84 powiedział

        Mageia zaginęła 🙂

        1.    KZKG ^ Gaara powiedział

          Tak, dobrze 😀
          W tej chwili opieram się na tym hehehehe. Dzięki 🙂

          1.    Lesterzone powiedział

            I jeden dla mojej dystrybucji ...

  5.   Archero powiedział

    Dzięki, polecenia bardzo przydatne, mam wątpliwości, że pamiętam, że w Ubuntu kiedyś użyłem polecenia locate, czy to jakiś alias find czy ...?

    1.    Hugo powiedział

      Negatywny zlokalizować, zlokalizuj y slokować się to inne polecenia wyszukiwania, których nie lubisz odnaleźć, używają bazy danych, która musi być okresowo aktualizowana za pomocą polecenia aktualizacja b.

      Oba typy poleceń mają swoje zastosowania. Na przykład zwykle używam aktualizacja b następnie zlokalizujzlokalizować, kiedy naprawdę chcę szybko wyszukać coś w katalogu z dużą ilością danych, o których wiem, że nie są aktualizowane zbyt często (na przykład pakiet w repozytorium), i odnaleźć gdy chcę zrobić coś bardziej złożonego, na przykład połączyć wyniki wyszukiwania z innym poleceniem, lub gdy po prostu nie chcę generować bazy danych, ponieważ wiem, że katalog, w którym mam zamiar przeszukiwać, nie zawiera zbyt wielu informacji.

      1.    Archero powiedział

        Dziękuję bardzo Hugo, doskonałe wyjaśnienie, mogę tylko powiedzieć, jak potężny jest terminal w gnu / linux!

  6.   Sandra powiedział

    Cześć, widzę, że to stary temat, ale mam nadzieję, że nadal możesz mi pomóc.

    Uczę się używać wyrażenia regularnego, odkąd zobaczyłem, że mam dokument i szukam słów błąd lub niepowodzenie oraz jego pochodnych błędów lub niepowodzenia lub niepowodzenia itp., A moje wyrażenie regularne to:
    : / \ (. * \ (błąd | niepowodzenie \). * \) /
    Podczas wykonywania informuje mnie, że nie ma dopasowań 🙁 oprócz do
    :/\(.*\(błąd\).*\)/
    o
    : / \ (. * \ (zawieść \). * \) /
    Jeśli znajdziesz dopasowania, czy możesz mi powiedzieć, dlaczego się mylę?

    1.    KZKG ^ Gaara powiedział

      Jaka jest pełna linia, którą umieszczasz?

      Aby przetestować i zobaczyć, czy znajdę rozwiązanie.

      Z drugiej strony, jeśli chcesz, możesz sprawdzić tutaj: https://blog.desdelinux.net/?s=expresiones+regulares

  7.   Estefani powiedział

    Proszę mi pomóc, chcę skopiować pliki kończące się na * _ZFIR0069.TXT na inną ścieżkę i dodać datę na końcu, wykonuję polecenie:

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

    Ale wynik jest taki:

    {} _20160225% -> ale kopiuje tylko jeden plik i w ten sposób zmienia jego nazwę

    Chcę, żeby skopiował wszystkie pliki i miał ten format * _ZFIR0069_ $ data .TXT

    Pozdrowienia.

  8.   PepG powiedział

    Jaka jest różnica między find * -type d i find / home / pepe -type d? Chcę wyświetlić katalogi mojego konta i nie rozumiem, dlaczego pierwszy robi to poprawnie, a drugi nie. pomóc

  9.   Kaike powiedział

    Jak mogę znaleźć pliki, które kończą się liczbami? Dziękujemy