GNU/Linux >> Linux Esercitazione >  >> Linux

Trova comando in Linux/UNIX

Il comando trova di Linux è utile quando si cercano file direttamente dalla riga di comando. Al comando trova vengono forniti criteri di ricerca come autorizzazioni, proprietà, modifica, dimensione, ora e data, tra gli altri, per individuare il file o la directory in questione.

Il comando find è disponibile in tutte le distribuzioni Linux per impostazione predefinita, quindi non è necessario installare pacchetti speciali per usarlo. A causa del suo significato, il comando find è un comando essenziale da imparare se vuoi saperne di più sulle navigazioni della riga di comando su qualsiasi distribuzione Linux.

Evidenzieremo alcuni degli esempi di comando trova e spiegheremo le varie opzioni che puoi utilizzare.

Sintassi

$ find location  comparison-criteria  search term

Elencare i file nella directory corrente

Per elencare tutti i file in una directory inclusi i file all'interno delle cartelle, esegui il comando seguente.

$ find .

Risultato di esempio

Ricerca di file all'interno di una directory specifica

Se vuoi cercare tutti i file in una determinata directory, usa il comando trova come segue

$ find directory_name

Ad esempio, per cercare tutti i file in /boot eseguire il comando

$ find /boot

Risultato di esempio

Ricerca di file utilizzando il nome file all'interno di una directory specificata

Se vuoi specificare i criteri di ricerca utilizzando il nome del file in una directory, la sintassi sarà la seguente

$ find directory_name -name "file_name"

Ad esempio, per cercare i file Apache2 nella directory /etc esegui

$ find /etc -name "apache2"

Risultato

Trova ricorsivamente tutti i file con un'estensione di file specificata

Se vuoi cercare file particolari con un'estensione specifica, in una determinata directory, la sintassi sarà la seguente

$ find directory_name  -name "*.extension"

Ad esempio, per cercare tutti i file di configurazione (.conf) nella directory /etc, eseguire

$ find /etc -name "*.conf"

Risultato di esempio

Limitazione della profondità di ricerca

Puoi decidere di limitare la profondità della ricerca di file nelle directory. Ad esempio, se vuoi limitare la ricerca dei file al primo livello della directory, la sintassi sarà

$ find directory_name -maxdepth 1 -name "*.conf"

Quindi, se vuoi limitare la ricerca dei file alla directory di primo livello in /etc per i file con .conf estensione esegui:

$ find /etc -maxdepth 1 -name "*.conf"

Risultato di esempio

Come visto nell'output sopra, la ricerca dei file è limitata a /etc livello di directory. Se desideri eseguire una ricerca più intensa e approfondire le altre directory all'interno di /etc directory, aumenta la profondità massima valore.

Ad esempio, per cercare file con .conf estensione fino alla 3a directory eseguita

$ find /etc -maxdepth 3 -name "*.conf"

Risultato di esempio

Come si vede dall'output sopra, la ricerca sale alla 2a e 3a directory.

Inverti i risultati di ricerca

Puoi anche cercare i file che non soddisfano determinati criteri con il comando trova. Questa modalità è utile quando si desidera eliminare i file conosciuti dal modello di ricerca.

Per fare ciò, usa il -not -name attributo come mostrato

$ find /etc -maxdepth 1 -not -name "*.conf"

Risultato di esempio


L'output sopra stampa tutti i file che non hanno il .conf estensione del file.

Utilizzo di trova con l'operatore OR

Puoi scegliere di combinare i risultati della ricerca con trova utilizzando l'operatore OR simboleggiato da -o flag mostrato nell'esempio seguente

$ find /etc -maxdepth 3 -name "cron" -o -name "ssh"

Risultato di esempio

Il comando precedente cerca i file con il nome ssh OPPURE cron nella

Ricerca solo di file o solo directory

Se vuoi cercare solo i file, usa il - type f attributo come mostrato nell'esempio seguente

$ find /etc -type f -name "ssh"

Risultato di esempio

Se vuoi cercare solo le directory, usa il - type d attributo come mostrato nell'esempio seguente.

$ find /etc -type d -name "ssh"

Risultato di esempio

Ricerca di file di proprietà di un particolare utente

Per cercare i file di proprietà di un particolare utente in una directory specifica, usa la sintassi:

$ find /path -user username

Ad esempio, per trovare i file di proprietà dell'utente james in /home directory esegui il comando seguente

$ find /home -user james

Risultato di esempio

Ricerca di file con determinati permessi di file

Per cercare file con autorizzazioni file specifiche, utilizza la sintassi seguente

$ find /directory_name  -type f -perm value

Ad esempio, per cercare file con autorizzazioni 755 in /etc directory, esegui:

$ find /etc -type f -perm 755

Risultato di esempio

Ricerca di file con determinate dimensioni di file o un intervallo di file

Il comando trova Linux offre anche agli utenti la possibilità di cercare i file in base alle loro dimensioni.

Cerca file di dimensione N

Ad esempio, per cercare file da 10kb esegui:

$ find /etc -type f -size 10k

Risultato di esempio

Per cercare file di dimensioni superiori a 10kb esegui

 find /etc -type f -size +10k

Risultato di esempio

Per cercare file di dimensioni inferiori a 10kb esegui

 find /etc -type f -size -10k

Risultato di esempio

Riepilogo

Questa è stata una rapida panoramica degli esempi dei comandi di ricerca di Linux. Come già mostrato, la ricerca di file e directory sulla riga di comando è molto semplice. Sapere come funziona il comando è uno strumento essenziale per tutti gli amministratori di sistema.
Sentiti libero di provare gli esempi di comando di ricerca di cui sopra e facci sapere come è andata.


Linux
  1. Come trovare un file in Linux

  2. Utilizzo del comando ripgrep (rg) in Linux

  3. Comando Linux mv

  4. Linux du comando

  5. UNIX / Linux:10 esempi di comandi Netstat

Comando AWK in Linux/Unix

comando mkdir in Linux/Unix

Linux vs Unix

Comando Grep in Linux/UNIX

comando ls in Linux/UNIX

comando cp in Linux/UNIX