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
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.
Ś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 😐
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
Ciekawe ^ _ ^
Jak fajnie wygląda ikona czakry hahahahahaha 😀
Mageia zaginęła 🙂
Tak, dobrze 😀
W tej chwili opieram się na tym hehehehe. Dzięki 🙂
I jeden dla mojej dystrybucji ...
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 ...?
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.
Dziękuję bardzo Hugo, doskonałe wyjaśnienie, mogę tylko powiedzieć, jak potężny jest terminal w gnu / linux!
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ę?
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
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.
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
Jak mogę znaleźć pliki, które kończą się liczbami? Dziękujemy