35 esempi pratici di comando Find di Linux
Il comando find di Linux è una delle utilità della riga di comando più importanti e utilizzate frequentemente nei sistemi operativi simili a Unix. Il comando find viene utilizzato per cercare e individuare un elenco di file e directory in base alle condizioni specificate, corrispondendo agli argomenti.
Il comando trova fornisce un'ampia gamma di opzioni, consentendo agli utenti di sfruttarlo in diverse condizioni. Consente alle persone di cercare file in base a una moltitudine di criteri, tra cui autorizzazioni, utenti, gruppi, tipi di file, date, dimensioni e vari altri parametri.
In questo articolo ti presenteremo 35 degli esempi più comunemente usati di comandi di ricerca in Linux. Abbiamo diviso questa sezione in cinque parti, coprendo l'utilizzo del comando trova dal livello base a quello avanzato.
Parte I – Comandi di ricerca di base per trovare file con nomi
Quando si tratta di trovare file con nomi specifici, il comando find offre una gamma di opzioni per semplificare il processo. Ecco alcuni comandi di ricerca di base per individuare i file in base ai loro nomi.
1. Trova i file utilizzando il nome nella directory corrente
Trova tutti i file il cui nome è tecmint.txt in una directory di lavoro corrente.
find . -name tecmint.txt
./tecmint.txt
2. Trova i file nella directory Home
Trova tutti i file nella directory /home con il nome tecmint.txt.
find /home -name tecmint.txt
/home/tecmint.txt
3. Trova file utilizzando il nome e ignorando maiuscole e minuscole
Trova tutti i file il cui nome è tecmint.txt e contiene sia lettere maiuscole che minuscole nella directory /home.
find /home -iname tecmint.txt
./tecmint.txt
./Tecmint.txt
4. Trova directory utilizzando il nome
Trova tutte le directory il cui nome è Tecmint nella directory /.
find / -type d -name Tecmint
/Tecmint
5. Trova i file PHP utilizzando il nome
Trova tutti i file php il cui nome è tecmint.php in una directory di lavoro corrente.
find . -type f -name tecmint.php
./tecmint.php
6. Trova tutti i file PHP nella directory
Trova tutti i file php in una directory.
find . -type f -name "*.php"
./tecmint.php
./login.php
./index.php
Parte II – Trova i file in base alle loro autorizzazioni
Ecco alcuni esempi di comandi di ricerca per trovare file in base alle relative autorizzazioni.
7. Trova file con 777 permessi
Trova tutti i file le cui autorizzazioni sono 777.
find . -type f -perm 0777 -print
8. Trova file senza permessi 777
Trova tutti i file senza autorizzazione 777.
find / -type f ! -perm 777
9. Trova file SGID con 644 autorizzazioni
Trova tutti i file SGID bit le cui autorizzazioni sono impostate su 644.
find / -perm 2644
10. Trova file Sticky Bit con 551 autorizzazioni
Trova tutti i file di set Sticky Bit il cui permesso è 551.
find / -perm 1551
11. Trova i file SUID
Trova tutti i file impostati SUID.
find / -perm /u=s
12. Trova i file SGID
Trova tutti i file impostati SGID.
find / -perm /g=s
13. Trova file di sola lettura
Trova tutti i file di sola lettura.
find / -perm /u=r
14. Trova file eseguibili
Trova tutti i file eseguibili.
find / -perm /a=x
15. Trova i file con 777 permessi e chmod a 644
Trova tutti i file di autorizzazione 777 e utilizza il comando chmod per impostare le autorizzazioni su 644.
find / -type f -perm 0777 -print -exec chmod 644 {} \;
16. Trova directory con permessi 777 e modifica a 755
Trova tutte le directory dei permessi 777 e utilizza il comando chmod per impostare i permessi su 755.
find / -type d -perm 777 -print -exec chmod 755 {} \;
17. Trova e rimuovi file singolo
Per trovare un singolo file chiamato tecmint.txt e rimuoverlo.
find . -type f -name "tecmint.txt" -exec rm -f {} \;
18. Trova e rimuovi più file
Per trovare e rimuovere più file come .mp3 o .txt, utilizzare.
find . -type f -name "*.txt" -exec rm -f {} \;
OR
# find . -type f -name "*.mp3" -exec rm -f {} \;
19. Trova tutti i file vuoti
Per trovare tutti i file vuoti in un determinato percorso.
find /tmp -type f -empty
20. Trova tutte le directory vuote
Per archiviare tutte le directory vuote sotto un determinato percorso.
find /tmp -type d -empty
21. Archivia tutti i file nascosti
Per trovare tutti i file nascosti, utilizzare il comando seguente.
find /tmp -type f -name ".*"
Parte III – Ricerca di file in base a proprietari e gruppi
Ecco alcuni esempi di comandi di ricerca per trovare file in base a proprietari e gruppi:
22. Trova file singolo in base all'utente
Per trovare tutti o singoli file chiamati tecmint.txt nella directory root / del proprietario root.
find / -user root -name tecmint.txt
23. Trova tutti i file in base all'utente
Per trovare tutti i file che appartengono all'utente Tecmint nella directory /home.
find /home -user tecmint
24. Trova tutti i file in base al gruppo
Per trovare tutti i file che appartengono al gruppo Developer nella directory /home.
find /home -group developer
25. Trova file particolari dell'utente
Per trovare tutti i file .txt dell'utente Tecmint nella directory /home.
find /home -user tecmint -iname "*.txt"
Parte IV – Trova file e directory in base a data e ora
Ecco alcuni esempi di comandi di ricerca per individuare file e directory in base a data e ora.
26. Trova i file modificati negli ultimi 50 giorni
Per trovare tutti i file modificati 50 giorni indietro.
find / -mtime 50
27. Trova i file a cui si è avuto accesso negli ultimi 50 giorni
Per trovare tutti i file a cui è stato effettuato l'accesso 50 giorni fa.
find / -atime 50
28. Trova i file modificati degli ultimi 50-100 giorni
Per trovare tutti i file modificati più di 50 giorni fa e meno di 100 giorni.
find / -mtime +50 –mtime -100
29. Trova i file modificati nell'ultima ora
Per trovare tutti i file che sono stati modificati nell'ultima 1 ora.
find / -cmin -60
30. Trova file modificati nell'ultima ora
Per trovare tutti i file modificati nell'ultima 1 ora.
find / -mmin -60
31. Trova i file a cui si è avuto accesso nell'ultima ora
Per trovare tutti i file a cui è stato effettuato l'accesso nell'ultima 1 ora.
find / -amin -60
Parte V – Trova file e directory in base alle dimensioni
Ecco alcuni esempi di comandi di ricerca per individuare file e directory in base alle dimensioni.
32. Trova file da 50 MB
Per trovare tutti i file da 50 MB, utilizza.
find / -size 50M
33. Trova dimensioni comprese tra 50 MB e 100 MB
Per trovare tutti i file superiori a 50 MB e inferiori a 100 MB.
find / -size +50M -size -100M
34. Trova ed elimina file da 100 MB
Per trovare tutti i file da 100 MB ed eliminarli utilizzando un unico comando.
find / -type f -size +100M -exec rm -f {} \;
35. Trova file specifici ed elimina
Trova tutti i file .mp3 con più di 10 MB ed eliminali utilizzando un unico comando.
find / -type f -name *.mp3 -size +10M -exec rm {} \;
Questo è tutto, terminiamo questo post qui, nel nostro prossimo articolo discuteremo in modo approfondito altri comandi Linux con esempi pratici. Fateci sapere le vostre opinioni su questo articolo utilizzando la nostra sezione commenti.