logo

Come trovare un file in Linux | Trova comando

Linux, rinomato per la sua robusta interfaccia a riga di comando, fornisce una suite di potenti strumenti per una gestione efficiente di file e directory. Tra questi, il comando trova si distingue come una risorsa indispensabile, offrendo una versatilità senza pari nella ricerca di file in base a criteri diversi. Questo articolo esplora l'abilità del comando find, facendo luce sulle sue capacità e su come funge da strumento di riferimento per gli utenti Linux che desiderano individuare i file in modo rapido ed efficace.

Tabella dei contenuti



Cos'è il comando Trova in Linux?

Il comando trova in Linux è un'utilità dinamica progettata per ricerche complete di file e directory all'interno di una struttura gerarchica. La sua adattabilità consente agli utenti di effettuare ricerche per nome, dimensione, ora di modifica o contenuto, fornendo una soluzione flessibile e potente. Come componente fondamentale del Riga di comando di Linux toolkit, il comando find soddisfa le molteplici esigenze degli utenti, garantendo precisione nell'esplorazione e nel recupero dei file. Scopri le diverse funzionalità del comando Trova e migliora il tuo gestione dei file efficienza sulla piattaforma Linux.

Sintassi del comando Trova in Linux :

Ecco la sintassi per ilfind>comando in Linux:

find [path] [options] [expression]>

Qui,



  • sentiero: Directory di partenza per la ricerca.
    • Esempio :find /path/to/search>
  • opzioni: Impostazioni o condizioni aggiuntive per la ricerca.
    • Esempio :find /path/to/search -type f -name '*.txt'>
  • espressione: Criteri per filtrare e individuare i file.
    • Esempio :find /path/to/search -type d -name 'docs'>

Questa sintassi consente di personalizzare la ricerca dei file specificando il percorso, aggiungendo opzioni e definendo criteri di ricerca utilizzando le espressioni.

Opzioni disponibili nel comando Trova in Linux

Ecco i ` find`> opzioni di comando insieme a brevi descrizioni dei loro scopi.

Comando



Descrizione

-modello di nome

Cerca file con un nome o un modello specifico.

-tipo tipo

Specifica il tipo di file da cercare (ad esempio, f per file normali, d per directory).

-taglia [+/-]n

Cerca i file in base alle dimensioni. ` +n> `>trova file più grandi, ` -n> `>trova file più piccoli. ‘ N ‘ misura la dimensione in caratteri.

-mtempo n

Trova i file in base all'ora della modifica. ` n> `>rappresenta il numero di giorni fa.

-exec comando {} ;

Esegue un comando su ogni file trovato.

-stampa

Visualizza i nomi dei percorsi dei file che corrispondono ai criteri specificati.

-livelli di profondità massima

Limita la ricerca a una profondità di directory specificata.

-livelli di profondità

Specifica la profondità minima della directory per la ricerca.

-vuoto

Trova file e directory vuoti.

-eliminare

Elimina i file che corrispondono ai criteri specificati.

-execdir comando {} ;

Esegue un comando su ogni file trovato, dalla directory contenente il file corrispondente.

-modello di nome

Versione senza distinzione tra maiuscole e minuscole di ` -name`> . Cerca file con un nome o un modello specifico, indipendentemente dal caso.

Come trovare un file in Linux dalla riga di comando

Usando ilfind>il comando è semplice. Per trovare un file in Linux, apri un terminale e usa quanto segue sintassi di base:

find /path/to/search -options criteria>

Sostituire /path/to/search> '>con la directory da cui vuoi iniziare la ricerca e personalizza le opzioni e i criteri in base alle tue esigenze.

Per esempio :

Per trovare un file denominato example.txt nella directory home, dovresti utilizzare:

find ~ -name 'example.txt'>

Questo comando individuerà e visualizzerà il percorso del file se esiste nella directory specificata o nelle sue sottodirectory.

Esempi di comando Trova in Linux

1. Come trovare un file specifico utilizzando il comando 'find' in Linux

Questa query è progettata per individuare un file all'interno di una directory designata. Nell'esempio fornito, cerca un file denominato sample.txt all'interno della directory GFG.

find ./GFG -name sample.txt>

ILfind>il comando attraversa la directory specificata (./GFG>) e cerca un file denominato sample.txt. Se trovato, visualizza il percorso del file.

Produzione:

jpa vs ibernazione
Cerca un file con un nome specifico

Cerca un file con un nome specifico

2. Come cercare file con un pattern utilizzando il comando 'find' in Linux

Questo comando è pensato per individuare file all'interno di una directory che aderiscono a uno specifico modello di denominazione. In questo caso, identifica i file che terminano con '.txt' all'interno della directory GFG.

find ./GFG -name *.txt>

Il comando cerca file con nomi che terminano con '.txt' all'interno della directory GFG, presentando un elenco di file corrispondenti.

Produzione:

Cerca un file con pattern

Cerca un file con pattern

3. Come trovare e confermare l'eliminazione dei file utilizzando il comando 'find' in Linux

Questo comando non solo individua un file specificato, ma richiede anche conferma all'utente prima di avviarne la rimozione. L'esempio cerca di eliminare un file denominato sample.txt all'interno della directory GFG.

find ./GFG -name sample.txt -exec rm -i {} ;>

IL-exec>l'opzione esegue il filerm>comando sul file individuato e il file-i>flag richiede all'utente una conferma prima dell'eliminazione. Quando si immette questo comando, verrà richiesto di confermare se si desidera eliminare sample.txt o meno. se inserisci 'Y/y' il file verrà eliminato.

Produzione :

trovare ed eliminare un file con conferma

trovare ed eliminare un file con conferma

4. Cerca file e directory vuoti utilizzando il comando 'find' in Linux

Questa query è personalizzata per scoprire ed elencare file e directory vuoti all'interno di una directory specificata.

find ./GFG -empty>

Il ` find`> Il comando identifica ed elenca tutte le cartelle e i file vuoti all'interno della directory GFG o delle sue sottodirectory.

Produzione:

Cerca file e directory vuoti

Cerca file e directory vuoti

5. Cerca file con autorizzazioni specifiche utilizzando il comando 'find' in Linux

Questo comando viene utilizzato per individuare i file all'interno di una directory che hanno specifici autorizzazioni . Nell'esempio fornito, identifica i file con i permessi impostati su 664 all'interno della directory GFG.

find ./GFG -perm 664>

Il comando cerca i file all'interno della directory GFG con le autorizzazioni specificate (664) e visualizza i risultati.

Produzione:

Cerca il file con le autorizzazioni immesse

Cerca il file con le autorizzazioni immesse

6. Visualizza la gerarchia dei repository utilizzando il comando 'find' in Linux

Questo comando viene utilizzato per visualizzare la struttura gerarchica di repository e sottorepository all'interno di una determinata directory.

find . -type d>

Questo comando visualizza tutti i repository e i sottorepository presenti nel repository corrente. Nell'esempio seguente, ci troviamo attualmente in un repository denominato techcodeview.com che contiene un repository Linux, che contiene il sub-repo LinuxCmds che contiene inoltre un repository FindCmd. L'output di seguito cmd mostra semplicemente queste informazioni. Tieni presente che in questo caso se utilizzerai ls cmd verrà visualizzato solo /Linux.

Produzione:

Schermata-(548)

7. Cerca testo all'interno di più file utilizzando il comando 'trova' in Linux

Questo comando è pensato per trovare righe contenenti testo specifico all'interno di più file. L'esempio cerca le righe contenenti la parola 'Geek' all'interno di tutti i file '.txt' nel file corrente directory e le sue sottodirectory.

find ./ -type f -name '*.txt' -exec grep 'Geek' {} ;>

Il comando cerca i file '.txt' (-type f>E-name '*.txt'>) e usigrep>per stampare righe contenenti il ​​testo specificato ('Geek').

Produzione:

Cerca testo all'interno di più file

Cerca testo all'interno di più file

8. Trova i file in base a quando sono stati modificati Utilizzo del comando 'trova' in Linux

IL-mtime>l'opzione è utile per trovare i file in base all'ora di modifica. Per trovare i file modificati negli ultimi 7 giorni, puoi utilizzare:

find /path/to/search -mtime -7>

Questo comando elencherà i file modificati nell'ultima settimana.

Trovare le ultime modifiche

Trovare le ultime modifiche

In questo esempio stiamo cercando le modifiche nella directory /home/administrator/Download eseguite negli ultimi 7 giorni.

9. Usa Grep per trovare file in base al contenuto Utilizzo del comando 'trova' in Linux

Combinando ilfind>comandare con grep> ti consente di cercare file in base al loro contenuto. Ad esempio, per trovare file contenenti la parola pattern nella directory corrente e nelle sue sottodirectory, puoi utilizzare:

find . -type f -exec grep -l 'pattern' {} ;>

Questo comando visualizzerà i nomi dei file contenenti il ​​contenuto specificato.

Ripartizione del comando:

  • find .> : avvia la ricerca dalla directory corrente (.>).
  • -type f> : specifica che la ricerca riguarda solo i file, escluse le directory.
  • -exec grep -l 'pattern' {} ;> : Esegue ilgrep>comando su ogni file trovato ({}>) per cercare il contenuto specificato (modello). IL-l>opzione dentrogrep>garantisce che vengano visualizzati solo i nomi dei file contenenti il ​​modello.

Esecuzione del comando:

  1. ILfind>Il comando avvia la ricerca dalla directory corrente, incluse tutte le sue sottodirectory.
  2. Per ogni file (-type f>) trovato nella ricerca, il-exec>l'opzione esegue il filegrep>comando.
  3. ILgrep>Il comando cerca il contenuto specificato (modello) in ogni file.
  4. Se un file contiene il contenuto specificato, il suo nome viene visualizzato a causa del file-l>opzione dentrogrep>.

Domande frequenti nel comando Trova in Linux

Posso utilizzare il comando find per cercare file in base al loro contenuto in Linux?

Sì, il comando find può essere combinato con grep per cercare file in base al loro contenuto. L'articolo fornisce un esempio dell'utilizzo di questa combinazione per individuare file contenenti testo specifico.

Come posso cercare tutte le directory in Linux usando il comando find?

Usa il-type d>opzione per specificare che stai cercando directory. Per esempio:

find /path/to/search -type d>

IL-type d>flag indica al comando find di cercare le directory. Questo comando visualizzerà un elenco di tutte le directory all'interno del percorso specificato.

Come posso cercare file con un nome specifico utilizzando il comando trova in Linux?

Per cercare file con un nome specifico, puoi utilizzare il file-name>opzione con il comando trova. L'articolo include una sintassi di esempio per trovare un file denominato example.txt nella directory home.

Posso utilizzare il comando trova per cercare file contenenti una stringa di testo specifica all'interno del loro contenuto?

Sì, puoi combinare il comando find con grep per cercare file in base al loro contenuto. Per esempio:

find /path/to/search -type f -exec grep -l 'specific_text' {} ;>

Questo comando esegue grep su ogni file trovato ({}>) nella ricerca, cercando il testo specificato (specific_text). IL-l>L'opzione in grep garantisce che vengano visualizzati solo i nomi dei file contenenti il ​​testo specificato.

Il comando find fa distinzione tra maiuscole e minuscole durante la ricerca di file in Linux?

Per impostazione predefinita, il comando find fa distinzione tra maiuscole e minuscole. Tuttavia, l'articolo introduce il-iname>opzione come versione senza distinzione tra maiuscole e minuscole di-name>, consentendo agli utenti di cercare file con un nome o un modello specifico indipendentemente dal caso.

Conclusione

In questo articolo abbiamo discusso del comando find che è come una guida affidabile per trovare e gestire i file. Questo articolo ha esplorato il modo in cui il comando find può individuare i file in base a diversi criteri, dai nomi al contenuto. È come avere un superpotere per organizzare e cercare tra i tuoi file in modo rapido e flessibile. Che tu sia un utente Linux esperto o che tu abbia appena iniziato, padroneggiare il comando find è un punto di svolta per gestire in modo efficiente i tuoi file sulla riga di comando. È uno strumento indispensabile che rende la navigazione tra i file del tuo computer un gioco da ragazzi!