GNU/Linux >> Linux Esercitazione >  >> Linux

50 esempi semplici e utili di comando Trova in Linux

Uno dei motivi principali alla base della popolarità globale di cui godono oggi i sistemi Linux e BSD sono i loro strumenti e utilità predefiniti. Linux offre alcuni dei migliori metodi per cercare e accedere ai file direttamente dalla riga di comando. Il comando find in Linux è una di queste utility che consente agli utenti Linux di cercare nel proprio sistema particolari tipi di file in modo efficace. È un'utilità della riga di comando che consente potenti funzionalità di ricerca e può essere uno strumento avvincente nelle mani di utenti esperti. Se vuoi padroneggiare il comando find in dettaglio e accelerare le tue competenze su Linux, sei nel posto giusto.

Esempi quotidiani di comando Trova in Linux

Crediamo che il modo migliore per imparare i comandi di Linux sia provarli tu stesso. I comandi mostrati di seguito dovrebbero funzionare perfettamente su tutte le distribuzioni Linux, nonostante il tuo ambiente desktop. Quindi, puoi provare rapidamente alcuni comandi di ricerca in Linux aprendo un terminale usando Ctrl + T e copiando e incollando i comandi da qui. Cerca di utilizzare il più possibile questi comandi nel tuo lavoro quotidiano per padroneggiarli in breve tempo.

Struttura del comando Trova

Il comando find in Linux ha la struttura seguente.

trova [percorsi] [espressione] [azioni]

Qui i percorsi indicano la directory in cui non "troverai" per cercare i file specificati. L'espressione ti consentirà di filtrare i tuoi file in base ad alcuni criteri mentre le azioni ti permetteranno di eseguire comandi di shell sui file. L'azione predefinita è print, che stampa semplicemente i file corrispondenti all'espressione in qualsiasi percorso. Trova mostra i file in modo ricorsivo, il che significa che prima attraverserà ogni directory e poi stamperà i risultati di conseguenza.

Comandi Trova di base di Linux

Puoi utilizzare alcuni comandi di ricerca di base per avere un'idea di cosa può fare la ricerca. Questi comandi sono piuttosto semplici e non richiedono alcuna esperienza precedente con altre utilità della riga di comando.

1. Elenca tutti i file presenti nella directory corrente

$ trova

- -

Questo stamperà tutti i file presenti nella directory corrente. Se la directory corrente contiene directory aggiuntive, le mostrerà anche. Questo comando è equivalente al comando

$ trova -stampa.

2. Elenca tutti i file presenti in una directory specifica

$ trova /cartella

Questo comando stamperà tutti i file presenti all'interno della directory /cartella . Puoi usare questo comando per elencare tutti i file di un percorso specifico nel tuo sistema Linux.

3. Cerca un file specifico

$ trova -nome test.txt

Questo comando cerca un file chiamato test.txt all'interno della directory corrente e in ogni altra sottodirectory. Usa questo comando quando cerchi file specifici.

4. Cerca un file specifico in una directory

$ trova /Docs -nome test.txt

Questo comando cercherà il file denominato test.txt nella cartella denominata /Docs . Puoi usare sia percorsi assoluti che percorsi relativi quando usi questo comando.

5. Cerca un file in più directory

$ trova /opt /usr /var -name foo.scala -type f

È possibile utilizzare il comando di ricerca di Linux durante la ricerca di un file in più directory contemporaneamente. Inserisci semplicemente i nomi delle directory uno dopo l'altro seguiti da uno spazio durante la ricerca.

6. Cerca un caso di file ignorato

$ trova -iname test.txt

Questo comando cercherà il file test.txt senza corrispondere al caso. Quindi, se hai due file chiamati test.txt e Test.txt , visualizzerà entrambi i file. L'opzione -iname consente al comando trova di farlo.

7. Cerca le cartelle all'interno della directory corrente

$ trova -tipo d

Questo comando elencherà tutte le directory che hai nella directory di lavoro corrente. Puoi aggiungere l'opzione del nome per elencare directory specifiche.

8. Cerca una cartella specifica in una directory

$ trova /home -tipo d -nome utenti

Questo comando cercherà una cartella chiamata utenti all'interno di /home directory. Puoi aggiungere l'opzione -iname invece di -name per cercare indipendentemente dal caso.

9. Cerca file PHP utilizzando il nome

$ trova -tipo f -nome test.php

Questo comando elencherà il file PHP chiamato test.php presente all'interno della directory di lavoro corrente.

10. Cerca tutti i file PHP

$ trova -tipo f -nome “*.php”

Questo comando trova in Linux stamperà tutti i file PHP che hai all'interno della tua attuale directory di lavoro. Puoi aggiungere l'opzione del percorso prima del tipo per elencare i file PHP presenti solo in una directory specifica.

11. Trova tutti i collegamenti simbolici

$ trova /usr -digita l

Il comando precedente cercherà tutti i collegamenti simbolici che hai all'interno della tua directory corrente e li stamperà di conseguenza.

12. Cerca file con estensioni diverse

$ trova. -type f \( -name “*cache” -o -name “*xml” -o -name “*html” \)

Il comando trova sopra cerca i file denominati cache con estensioni diverse. Puoi effettuare la ricerca di ulteriori estensioni aggiungendo l'opzione del nome seguita dal flag -o.

Trova file in base all'autorizzazione

Il comando find consente agli utenti Linux di cercare i file in base al loro stato di autorizzazione. Questo sarà utile quando il tuo sistema ha più utenti e devi assicurarti che nessuno ottenga un accesso non autorizzato ai tuoi dati.

13. Trova file con set di autorizzazioni 777

$ trova -tipo f -perm 0777 -stampa

Questo comando elencherà tutti i file nella directory di lavoro corrente che hanno il permesso impostato su 777. Questi sono i file che qualsiasi utente può leggere, scrivere ed eseguire.

14. Trova file senza autorizzazioni 777

$ trova / -digita f ! -perm 777

Questo comando trova in Linux cercherà solo quei file con permessi impostati diversi da 777. Puoi sostituire / con qualsiasi altra posizione per restringere i risultati della ricerca.

15. Trova file SGID con 644 autorizzazioni

$ trova / -perm 2644

Questo comando trova cercherà solo i file SGID il cui stato di autorizzazione è impostato su 644. I file SGID consentono l'accesso temporaneo a file che non possiedi o a cui non hai accesso.

16. Trova tutti i file Sticky Bit con 551 autorizzazioni

$ trova / -perm 1551

I file Sticky Bit sono set di file o cartelle che possono essere rinominati o eliminati solo dall'utente che li ha creati o dall'utente root. Questo comando mostrerà tutti i file Sticky Bit nel tuo sistema con 551 autorizzazioni.

17. Trova tutti i file SUID

$ trova / -perm /u=s

I file SUID consentono la proprietà temporanea di un filegroup a utenti diversi dal proprietario del filegroup o dall'utente root. Questo comando trova elencherà tutti i file SUID che hai nella tua macchina Linux corrente.

18. Trova tutti i file SGID

$ trova / -perm /g=s

I file SGID sono simili ai file SUID in molti modi, tranne per il fatto che quando vengono eseguiti file con autorizzazioni SGID, l'esecuzione avviene come se il proprietario originale stesse eseguendo il processo. Questo comando trova elenca ogni singolo file SGID indipendentemente dal loro stato di autorizzazione.

19. Trova file di sola lettura

$ trova / -perm /u=r

I file di sola lettura vietano agli utenti Linux di scriverci o eseguirli. Possono essere scritti o eseguiti solo dal proprietario dei file o dall'utente root. Questo comando trova mostrerà tutti i file di sola lettura che la tua macchina ha attualmente.

20. Trova tutti i file eseguibili

$ trova / -perm /a=x

I file eseguibili sono semplicemente file che possono essere eseguiti come file binari. Il "comando trova" di Linux sopra cercherà nel sistema ogni file di questo tipo e li elencherà di conseguenza.

21. Trova tutti i file con 777 autorizzazioni e chmod a 644

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

Il comando find di cui sopra cerca tutti i file a cui è associata l'autorizzazione 777 e cambierà il loro stato di autorizzazione in 644 usando il comando chmod. Solo tu ora puoi leggere o scrivere sui file con l'autorizzazione 644.

22. Trova tutte le directory con 777 autorizzazioni e chmod a 755

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

Questo comando trova di Linux cercherà ogni directory che ha l'autorizzazione 777 e cambierà il loro stato di autorizzazione in 755. Ciò che fa, in sostanza, è consentire autorizzazioni complete solo per il proprietario e autorizzazioni di lettura ed esecuzione per altri utenti.

Cerca file specifici utilizzando Trova

Trova può essere utilizzato per cercare file specifici in modo abbastanza efficace. Puoi utilizzare trova per selezionare i file in base ad alcuni criteri ed eseguire operazioni di shell come l'eliminazione di file su di essi.

23. Trova un file e rimuovilo

$ trova -type f -name “test.txt” -exec rm -f {} \;

Questo comando "trova" di Linux viene utilizzato quando è necessario eliminare un file da un elenco di molti file. In questo caso, trova prima il file chiamato test.txt nella directory corrente e la rimuove usando rm-f.

24. Trova più file e rimuovili contemporaneamente

$ trova -type f -name “*.mp3” -exec rm -f {} \;

Il comando Trova è utile per cercare grandi matrici di tipi di file specifici e rimuoverli contemporaneamente. Il comando precedente cerca nel tuo sistema .mp3 file e li elimina senza alcun messaggio. Puoi aggiungere il flag interattivo -i con la parte rm per ricevere un prompt ogni volta che si verifica un'eliminazione.

25. Trova tutti i file vuoti nel sistema

$ trova /tmp -digita f -vuoto

I file vuoti possono monopolizzare le risorse di sistema in un tempo molto breve. Usa il comando sopra per elencare tutti i file vuoti usando il comando trova. Puoi eliminare questi file aggiungendo -exec rm -f {} \; proprio come il comando precedente.

26. Trova tutte le cartelle vuote nel sistema

$ trova /tmp -digita d -vuoto

Questo comando elencherà tutte le cartelle vuote che risiedono all'interno di /tmp directory. Puoi usarlo per trovare cartelle vuote in qualsiasi altra directory e puoi anche eliminarle se lo desideri come hai fatto in precedenza.

27. Trova tutte le cartelle nascoste nel sistema

$ trova /home -digita f -name “.*”

Le cartelle nascoste sono generalmente precedute da un singolo punto (.) nei sistemi Linux. Usa il comando sopra per elencare tutte le cartelle nascoste che hai all'interno della tua directory /home.

Trova file in base all'utente

Il comando Trova è utile anche per la ricerca di file in base ai gruppi di utenti. Puoi cercare file specifici per determinati gruppi di utenti e modificare i permessi dei file molto rapidamente utilizzando i comandi di ricerca di Linux.

28. Trova un file che appartiene all'utente

$ trova / -user root -name test.txt

È possibile utilizzare il comando find in Linux per cercare un singolo file di proprietà di un utente specifico. Il comando precedente cerca un file chiamato test.txt nella / directory che appartiene all'utente root.

29. Trova tutti i file che appartengono all'utente

$ trova /home -nome utente utente

Il comando Linux precedente cerca tutti i file nella directory /home che appartiene all'utente "nome utente". Dovrai sostituire "nome utente" con il tuo nome utente Linux per trovare tutti i file che ti appartengono.

30. Trova tutti i file che appartengono a un gruppo

$ trova /programmatore gruppo home

I file Linux di solito appartengono ad alcuni gruppi. Il comando Linux di cui sopra ti consente di cercare tutti i file che appartengono a un particolare gruppo chiamato "programmatore" e li stampa nel terminale. Sostituisci "programmatore" con il nome del gruppo che desideri cercare.

31. Trova file specifici per un utente

$ trova /home -utente bob -iname “*.txt”

È possibile utilizzare il comando trova per cercare file specifici che appartengono a un utente. Il comando precedente fa questo ed elenca tutti i file .txt che appartengono all'utente bob. Sostituisci bob con il tuo nome utente e .txt con qualsiasi altro tipo di file per trovare file di un certo tipo che ti appartengono.

Trova i file in base al tempo

Find consente inoltre agli amministratori di sistema di monitorare efficacemente il proprio sistema. Consente la ricerca di file in base all'ora di modifica, all'ora di accesso e così via.

32. Trova tutti i file che sono stati modificati negli ultimi 50 giorni

$ trova / -mtempo 50

Il comando trova consente agli utenti di cercare i file che sono stati modificati entro un determinato tempo. Il comando precedente stamperà tutti i file nel tuo sistema, che sono stati modificati 50 giorni fa.

33. Trova tutti i file a cui è stato effettuato l'accesso negli ultimi 50 giorni

$ trova / -atime 50

L'opzione -atime mostra i file a cui è stato effettuato l'accesso entro un periodo di tempo definito. Il comando precedente elenca tutti i file del tuo sistema a cui è stato effettuato l'accesso 50 giorni fa.

34. Trova tutti i file modificati negli ultimi 50-100 giorni

$ trova / -mtempo +50 –mtempo -100

Il comando find in Linux consente agli utenti di cercare tutti i file modificati in un determinato intervallo di tempo. L'operatore + e – viene utilizzato insieme a -mtime per eseguire questa operazione. Il comando precedente trova tutti i file modificati da te negli ultimi 50-100 giorni.

35. Trova tutti i file modificati nell'ultima ora

$ trova / -cmin -60

Questo comando troverà ed elencherà tutti i file che sono stati modificati nell'ultima ora. Puoi sostituire / con una directory specifica per restringere le ricerche. Cambia 60 in qualsiasi altro numero come 120 per trovare i file che sono stati modificati in quel periodo (2 ore per 120).

36. Trova tutti i file modificati nell'ultima ora

$ trova / -min -60

Il comando precedente mostrerà tutti i file che sono stati modificati nell'ultima ora. Passa da 60 a qualsiasi altro numero per modificare l'intervallo di tempo richiesto dal tuo scopo.

37. Trova tutti i file consultati nell'ultima ora

$ trova / -amin -60

Questo comando mostra tutti i file a cui hai avuto accesso nell'ultima ora. Come con i due comandi precedenti, sentiti libero di cambiare 60 per ottenere il risultato desiderato.

Trova i file in base alle dimensioni

A volte dovrai cercare i file in base alle loro dimensioni. Trova è utile anche in questo senso. Puoi aggiungere diverse opzioni per cercare i file in base alle dimensioni in modo più accurato.

38. Trova file di dimensioni 50 MB

$ trova / -taglia 50M

Questo "comando trova" in Linux stampa tutti i file di dimensioni superiori a 50 MB. Sostituisci / con la directory desiderata e 50 milioni con qualsiasi altra dimensione per restringere i risultati della ricerca in modo più efficace.

39. Trova tutti i file superiori a 100 MB

$ trova / -dimensione +100M

Il comando precedente elencherà tutti i file che hai oltre il segno di 100 MB all'interno del tuo / directory. Puoi modificare 100 M con file di altre dimensioni per ottenere il risultato desiderato.

40. Trova file compresi tra 50 MB e 100 MB

$ trova / -taglia +50M -taglia -100M

A volte dovrai trovare file all'interno di un intervallo di dimensioni specificato. Il comando precedente visualizzerà tutti i file che hai tra le dimensioni da 50 MB a 100 MB. Modifica i parametri facoltativi per soddisfare qualsiasi criterio di ricerca specifico.

41. Elimina tutti i file superiori a 500 MB

$ trova /Film -dimensione +500M -exec rm -rf {} \;

Il comando trova è utile per cercare file oltre un limite specifico ed eliminarli istantaneamente dal terminale. Supponiamo che tu abbia alcuni vecchi film in giro in una cartella e desideri eliminarli in una volta sola. Il comando sopra ti consentirà di fare esattamente questo. Assicurati di sostituire /Film con il nome della cartella in cui risiedono i tuoi file.

42. Trova i file più grandi

$ trova. -tipo f -exec ls -s {} \; | ordina -n -r | testa -5

Il comando trova di cui sopra stamperà i 5 file più grandi che hai nella tua directory di lavoro corrente e nelle sue sottodirectory.

43. Trova i file più piccoli

$ trova. -tipo f -exec ls -s {} \; | ordina -n | testa -5

Puoi anche usare il comando trova in Linux per visualizzare i file più piccoli. Questo comando stampa i 5 file più piccoli che hai nella directory corrente.

Comandi di ricerca vari

Il comando find in Linux offre molte funzionalità aggiuntive come la ricerca di file in base al testo che contengono, la ricerca e l'eliminazione di file, la ricerca di file in base a schemi e così via. I comandi seguenti dimostrano in breve alcune di queste abilità.

44. Trova ed elimina file specifici

$ trova / -tipo f -nome *.mp3 -dimensione +10M -exec rm {} \;

Questo "comando trova" di Linux consente agli utenti di trovare tutti i file .mp3 nel loro sistema che occupano più di 10 MB di spazio ed eliminarli. Puoi sostituire .mp3 con qualsiasi altro tipo di file e il parametro size per tipi specifici di file.

45. Trova i file che non corrispondono a un modello

$ trova /home -digita f -non -nome “*.html”

Il comando trova sopra in Linux cercherà tutti i file nella /home directory che non termina in .html. L'opzione -not consente a "trova" di farlo.

46. Trova i file in base al testo all'interno del file

$ trova. -type f -name “*.java” -exec grep -l StringBuffer {} \;

Puoi usare grep per trovare i file in base al testo che contengono. Il precedente "comando trova" di Linux cerca .java file che contengono StringBuffer al loro interno. L'aggiunta del flag -i a grep farà sì che questa ricerca ignori maiuscole e minuscole.

47. Trova e copia file

$ trova. -type f -name “*.mp3” -exec cp {} /home/MusicFiles \;

Trova può essere utilizzato per trovare determinati file e copiarli in una nuova posizione. Il comando precedente trova tutti i file .mp3 nella directory corrente e li copia nella cartella /home/MusicFiles .

48. Trova e sposta file

$ trova. -type f -name “*.jpg” -exec cp {} /home/Pictures \;

Trova può essere utilizzato anche per spostare i file in modo efficace. Il comando precedente cerca tutti i file .jpg che hai nella directory corrente e li sposta nella directory /home/Pictures .

49. Trova e tar file

$ trova. -tipo f -nome “*.java” | xargs tar cvf miofile.tar

Puoi usare trova per cercare alcuni file specifici e archiviarli in tarball. Il comando precedente trova tutti i file .java nella directory corrente e li comprime in un file tar chiamato myfile.tar .

50. Filtraggio dei messaggi di errore

$ trova [percorsi] [espressione] [azioni] 2>/dev/null

A volte potresti riscontrare errori come "Autorizzazione negata" o qualcos'altro mentre provi alcuni comandi di ricerca. Puoi reindirizzare questi errori a /dev/null , come mostrato sopra.

Pensieri finali

Il comando find in Linux è uno degli strumenti da riga di comando più utili che puoi utilizzare per un monitoraggio efficace del tuo sistema o per l'elaborazione frequente dei file. Implementazioni intelligenti di vari "comandi trova" ti renderanno un utente esperto di Linux in pochissimo tempo. I nostri redattori hanno fatto del loro meglio per delineare i comandi di ricerca più utili per il tuo uso quotidiano. Utilizza questi comandi nel tuo computer quotidiano per ottenere il massimo dal tuo sistema Linux.


Linux
  1. 12 utili esempi di comandi Wget in Linux

  2. Comandi Linux - Panoramica ed esempi

  3. ls Command in Linux:17 esempi utili spiegati

  4. 25 semplici esempi di comando trova Linux

  5. trova Esempi di comandi in Linux

11 Esempi utili di comandi data di Linux

Opzioni di comando ed esempi di Tee Command in Linux

50 Comando Linux Cut semplice e utile in Unix con esempi

16 Esempi pratici e utili di Echo Command in Linux

15 esempi super utili del comando Trova in Linux

12 Esempi utili di comandi data di Linux