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.