Wyszukiwanie w witrynie

35 praktycznych przykładów polecenia Find w systemie Linux


Linuxowe polecenie find jest jednym z najważniejszych i najczęściej używanych narzędzi wiersza poleceń w systemach operacyjnych typu Unix. Polecenie find służy do wyszukiwania i lokalizowania listy plików i katalogów na podstawie określonych warunków i pasujących argumentów.

Polecenie find zapewnia szeroką gamę opcji, dzięki czemu użytkownicy mogą z niego korzystać w różnych warunkach. Umożliwia użytkownikom wyszukiwanie plików na podstawie wielu kryteriów, w tym uprawnień, użytkowników, grup, typów plików, dat, rozmiarów i różnych innych parametrów.

W tym artykule przedstawimy 35 najczęściej używanych przykładów poleceń Znajdź w systemie Linux. Podzieliliśmy tę sekcję na pięć części, obejmujących użycie polecenia find od poziomu podstawowego do zaawansowanego.

Część I – Podstawowe polecenia wyszukiwania służące do wyszukiwania plików z nazwami

Jeśli chodzi o wyszukiwanie plików o określonych nazwach, polecenie find oferuje szereg opcji usprawniających proces. Oto kilka podstawowych poleceń find służących do lokalizowania plików na podstawie ich nazw.

1. Znajdź pliki przy użyciu nazwy w bieżącym katalogu

Znajdź wszystkie pliki o nazwie tecmint.txt w bieżącym katalogu roboczym.

find . -name tecmint.txt

./tecmint.txt

2. Znajdź pliki w katalogu domowym

Znajdź wszystkie pliki w katalogu /home o nazwie tecmint.txt.

find /home -name tecmint.txt

/home/tecmint.txt

3. Znajdź pliki, używając nazwy i ignorując wielkość liter

Znajdź wszystkie pliki, których nazwa to tecmint.txt i zawiera duże i małe litery, w katalogu /home.

find /home -iname tecmint.txt

./tecmint.txt
./Tecmint.txt

4. Znajdź katalogi przy użyciu nazwy

Znajdź wszystkie katalogi o nazwie Tecmint w katalogu /.

find / -type d -name Tecmint

/Tecmint

5. Znajdź pliki PHP przy użyciu nazwy

Znajdź wszystkie pliki php o nazwie tecmint.php w bieżącym katalogu roboczym.

find . -type f -name tecmint.php

./tecmint.php

6. Znajdź wszystkie pliki PHP w katalogu

Znajdź wszystkie pliki php w katalogu.

find . -type f -name "*.php"

./tecmint.php
./login.php
./index.php

Część II – Znajdź pliki na podstawie ich uprawnień

Oto kilka przykładów poleceń find umożliwiających wyszukiwanie plików na podstawie ich uprawnień.

7. Znajdź pliki z uprawnieniami 777

Znajdź wszystkie pliki, których uprawnienia wynoszą 777.

find . -type f -perm 0777 -print

8. Znajdź pliki bez uprawnień 777

Znajdź wszystkie pliki bez pozwolenia 777.

find / -type f ! -perm 777

9. Znajdź pliki SGID z uprawnieniami 644

Znajdź wszystkie pliki bitowe SGID, których uprawnienia są ustawione na 644.

find / -perm 2644

10. Znajdź pliki Sticky Bit z uprawnieniami 551

Znajdź wszystkie pliki zestawu Sticky Bit, których uprawnienia to 551.

find / -perm 1551

11. Znajdź pliki SUID

Znajdź wszystkie pliki zestawu SUID.

find / -perm /u=s

12. Znajdź pliki SGID

Znajdź wszystkie pliki zestawu SGID.

find / -perm /g=s

13. Znajdź pliki tylko do odczytu

Znajdź wszystkie pliki tylko do odczytu.

find / -perm /u=r

14. Znajdź pliki wykonywalne

Znajdź wszystkie pliki wykonywalne.

find / -perm /a=x

15. Znajdź pliki z uprawnieniami 777 i Chmodem na 644

Znajdź wszystkie pliki uprawnień 777 i użyj polecenia chmod, aby ustawić uprawnienia na 644.

find / -type f -perm 0777 -print -exec chmod 644 {} \;

16. Znajdź katalogi z uprawnieniami 777 i Chmodem na 755

Znajdź wszystkie katalogi uprawnień 777 i użyj polecenia chmod, aby ustawić uprawnienia na 755.

find / -type d -perm 777 -print -exec chmod 755 {} \;

17. Znajdź i usuń pojedynczy plik

Aby znaleźć pojedynczy plik o nazwie tecmint.txt i usunąć go.

find . -type f -name "tecmint.txt" -exec rm -f {} \;

18. Znajdź i usuń wiele plików

Aby znaleźć i usunąć wiele plików, takich jak .mp3 lub .txt, użyj.

find . -type f -name "*.txt" -exec rm -f {} \;

OR

# find . -type f -name "*.mp3" -exec rm -f {} \;

19. Znajdź wszystkie puste pliki

Aby znaleźć wszystkie puste pliki w określonej ścieżce.

find /tmp -type f -empty

20. Znajdź wszystkie puste katalogi

Aby zapisać wszystkie puste katalogi w określonej ścieżce.

find /tmp -type d -empty

21. Zapisz wszystkie ukryte pliki

Aby znaleźć wszystkie ukryte pliki, użyj poniższego polecenia.

find /tmp -type f -name ".*"

Część III – Wyszukiwanie plików na podstawie właścicieli i grup

Oto kilka przykładów poleceń find służących do wyszukiwania plików na podstawie właścicieli i grup:

22. Znajdź pojedynczy plik na podstawie użytkownika

Aby znaleźć wszystkie lub pojedyncze pliki o nazwie tecmint.txt w katalogu głównym / właściciela root.

find / -user root -name tecmint.txt

23. Znajdź wszystkie pliki na podstawie użytkownika

Aby znaleźć wszystkie pliki należące do użytkownika Tecmint w katalogu /home.

find /home -user tecmint

24. Znajdź wszystkie pliki na podstawie grupy

Aby znaleźć wszystkie pliki należące do grupy Developer w katalogu /home.

find /home -group developer

25. Znajdź określone pliki użytkownika

Aby znaleźć wszystkie pliki .txt użytkownika Tecmint w katalogu /home.

find /home -user tecmint -iname "*.txt"

Część IV – Znajdź pliki i katalogi na podstawie daty i godziny

Oto kilka przykładów poleceń find służących do lokalizowania plików i katalogów na podstawie daty i godziny.

26. Znajdź zmodyfikowane pliki z ostatnich 50 dni

Aby znaleźć wszystkie pliki, które zostały zmodyfikowane 50 dni wstecz.

find / -mtime 50

27. Znajdź pliki, do których uzyskano dostęp z ostatnich 50 dni

Aby znaleźć wszystkie pliki, do których uzyskano dostęp 50 dni wstecz.

find / -atime 50

28. Znajdź pliki zmodyfikowane w ciągu ostatnich 50–100 dni

Aby znaleźć wszystkie pliki zmodyfikowane więcej niż 50 dni wstecz i mniej niż 100 dni.

find / -mtime +50 –mtime -100

29. Znajdź zmienione pliki w ciągu ostatniej godziny

Aby znaleźć wszystkie pliki zmienione w ciągu ostatniej 1 godziny.

find / -cmin -60

30. Znajdź zmodyfikowane pliki w ciągu ostatniej godziny

Aby znaleźć wszystkie pliki zmodyfikowane w ciągu ostatniej 1 godziny.

find / -mmin -60

31. Znajdź pliki, do których uzyskano dostęp w ciągu ostatniej godziny

Aby znaleźć wszystkie pliki, do których uzyskano dostęp w ciągu ostatniej 1 godziny.

find / -amin -60

Część V – Znajdź pliki i katalogi na podstawie rozmiaru

Oto kilka przykładów poleceń find służących do lokalizowania plików i katalogów na podstawie rozmiaru.

32. Znajdź pliki o rozmiarze 50 MB

Aby znaleźć wszystkie pliki 50MB, użyj.

find / -size 50M

33. Znajdź rozmiar pomiędzy 50MB – 100MB

Aby znaleźć wszystkie pliki większe niż 50MB i mniejsze niż 100MB.

find / -size +50M -size -100M

34. Znajdź i usuń pliki 100MB

Aby znaleźć wszystkie pliki 100MB i usunąć je za pomocą jednego polecenia.

find / -type f -size +100M -exec rm -f {} \;

35. Znajdź określone pliki i usuń

Znajdź wszystkie pliki .mp3 o rozmiarze większym niż 10MB i usuń je za pomocą jednego polecenia.

find / -type f -name *.mp3 -size +10M -exec rm {} \;

To wszystko. Na tym kończymy ten post. W następnym artykule szczegółowo omówimy inne polecenia systemu Linux z praktycznymi przykładami. Podziel się z nami swoją opinią na temat tego artykułu, korzystając z naszej sekcji komentarzy.