Bip bip... calcoli... calcoli... inizio sequenza 42...
Ci risiamo con quei pazzi robot! Hanno tradotto questa pagina nella tua lingua. I robot hanno le migliori intenzioni. Vogliono aiutarti. Premi i pulsanti al fondo della pagina per farci sapere che cosa pensi del risultato. Vai alla versione inglese

Come trovare i file su Linux

Può essere piuttosto difficile ricordare dove un particolare si trova nella tua installazione di Linux e manualmente ricerca attraverso una struttura di directory su larga scala è un processo molto laborioso. Quindi, come fare per eseguire ricerche su Linux? Fortunatamente, Linux offre alcuni strumenti molto facile da usare per trovare i file in tutto il tuo intero distribuzione.

DIFFICOLTÀ Basic - 1 | Media - 2 | Avanzate – 3
TEMPO RICHIESTI 15 minuti
PRODOTTI CORRELATI Server dedicato o VPS basati su Linux
Basati su Linux di hosting condiviso con SSH abilitato

Come trovare i file in Linux

Il comando di ricerca è lo strumento principale utilizzato per individuare il file ovunque ti trovi sul tuo computer. Base, trova viene eseguito con la sintassi seguente:

find [path] [flags]

path e flags sono sia facoltativa, per impostazione predefinita Trova verrà restituito ricorsivo il percorso di tutti i file all'interno della directory corrente e sottocartelle:

./.bashrc
./.ssh
./.ssh/authorized_keys
./.monit.state
./.aptitude
./.aptitude/cache
./.aptitude/config
./.profile
./.psql_history
./.gem
...

Ricerca per nome

Per cercare i file con un nome specifico di utilizzare il -name bandiera seguito dal testo di ricerca. Per esempio:

find -name foo
./misc/foo

Che individua tutti i file nella directory corrente con foo il nome esatto. In questo caso è trovato un solo file nella directory varie. Utilizzando il -iname bandiera invece utilizza una distinzione tra maiuscole e ricerca:

find -iname FoO
./misc/foo

Utilizzando un asterisco (*) ti permette di ricerca con caratteri jolly:

find -name foo*
./misc/foobar.txt
./misc/foobar.sh
./misc/foo
./misc/foobar

Ricerca in base alla posizione

La ricerca di fuori della directory corrente spesso è obbligatoria e può essere facilmente eseguita utilizzando l'opzione percorso immediatamente dopo il comando di ricerca.

Per cercare i file nell'intero sistema, ad esempio, utilizza un / path opzione:

find / -name foo*
/root/misc/foobar.txt
/root/misc/foobar.sh
/root/misc/foo
/root/misc/foobar
/usr/lib/node_modules/npm/node_modules/semver/foot.js
/usr/share/automake-1.14/am/footer.am
/usr/share/doc/xml-core/examples/foo.postrm
...

Puoi limitare il percorso di ricerca in basso in base alle esigenze, in questo caso la ricerca nei file stesso all'interno della directory radice/varie:

find ~/misc -name foo*
/root/misc/foobar.txt
/root/misc/foobar.sh
/root/misc/foo
/root/misc/foobar

Puoi anche utilizzare più paths entro il comando per la ricerca in due o più percorsi specifici. Qui ci stiamo ricerca sia nella radice/varie sia le directory /usr/share/doc:

find ~/misc /usr/share/doc -name foo*
/root/misc/foobar.txt
/root/misc/foobar.sh
/root/misc/foo
/root/misc/foobar
/usr/share/doc/xml-core/examples/foo.postrm
/usr/share/doc/xml-core/examples/foo.xmlcatalogs
/usr/share/doc/xml-core/examples/foo.postinst
/usr/share/doc/xml-core/examples/foo.prerm
/usr/share/doc/m4/examples/foo

Ricerca in base al tipo di

È un altro bandiera comune per restringere la ricerca -type, che ti permette di trovare il file in base al basata su Unix gli identificatori di associato con tutti i file.

Ad esempio, è possibile utilizzare il -type d flag per cercare solo le directory che corrispondono ai tuoi criteri:

find / -type d -name foo*
/root/misc/foobar

L'elenco completo di identificativi seguire il -type bandiera è reperibile su la pagina di man, ma alcuni dei più comuni sono:

  • -type d per le directory
  • -type f per i file
  • -type l per i collegamenti simbolici

Ricerca in base al momento

La ricerca di file in base all'ora sono stati creati o modificati può essere uno strumento molto utile per l'analisi dei registri o modifiche in una directory specifica.

Sono disponibili tre categorie di comandi ricerca basata sul tempo: l'accesso, modifica e la modifica. Tutto il tempo tre categorie anch'essi due sottocategorie per determinare il periodo di tempo si sta cercando: min per la ricerca di minuti e l'ora di ricerca per giorni.

L'argomento numerico (n) contrassegni basato sul tempo di può essere negativa, positivo o neutrale:

  • n ricerche per un periodo di tempo che corrisponde esattamente al n.
  • +n ricerche per periodi di maggiore di n.
  • -n ricerca per periodi di meno di n.

Ad esempio, utilizzando il -atime bandiera ti permette di cercare i file in base all'ora ultimo leggere o scritto il file. Per trovare tutti i file denominato foo che ha avuto accesso meno di 1 giorno fa Inserisci:

find / -atime -1 -name foo*
/root/misc/foobar.txt
/root/misc/foobar.sh
/root/misc/foo
/root/misc/foobar

Per trovare tutto denominata foo file accesso entro l'ultimo utilizzo di 45 minuti il -amin Contrassegna invece:

find / -amin -45 -name foo*
/root/misc/foo

È inoltre possibile utilizzare il -cmin e -ctime contrassegni allo stesso modo per trovare i file in base all'ultima modifica i dati dei file inode (in genere quando il file è stato spostato in una nuova ubicazione all'interno del sistema).

Dopo il trasferimento di file foobar.txt è ora tra i risultati di ricerca per tutti i file denominato foo che sono stati modificati in pochi minuti il last10:

mv /root/misc/foobar.txt /root/other/foobar.txt
find / -cmin -10 -name foo*
/root/other/foobar.txt

Contrassegni la fase finale di -mmin e -mtime è possibile trovare i file in base al ultima modifica il contenuto del file.

Dopo l'utilizzo di gatti > comando per aggiungere di nuovo testo al file foobar.txt, è ora disponibile per la ricerca di file che sono stati modificati negli ultimi 5 minuti:

cat > ~/other/foobar.txt
This is a new line.
ctrl+c
find / -mmin -5 -name foo*
/root/other/foobar.txt

Ricerca in base al contenuto del File

Se desideri effettuare la ricerca di file in base al contenuto del testo effettivo all'interno del file è possibile combinare il comando di ricerca con altri comandi unix utilizzando il -exec bandiera.

Ad esempio, unendo -exec con la potente strumento GREP, è possibile trovare tutti i nomi foo file come prima che contengono anche particolare testo:

find / -type f -name foo* -exec grep -i "My favorite foods are" /dev/null {} +
/root/misc/foobar.sh:My favorite foods are:
/root/misc/foo:My favorite foods are:
/root/other/foobar.txt:My favorite foods are:

Il comando intero sembra che si può essere molto complicato ma veramente costituito solo da due blocchi di base:

find / -type f -name foo*

Ecco la funzionalità di base del comando Trova protetti in modo molto in che questo tutorial, quindi qui viene eseguita la ricerca per tutti i file del typefile con i nomi di a partire da foo.

-exec grep -i "My favorite foods are" /dev/null {} +

Seconda metà del comando utilizza il nuovo -exec bandiera, immediatamente seguito dal comando unix che vuoi mettere in pratica su Trova risultati. In questo caso è il componente chiave:

grep -i "My favorite foods are"

Questo cercherà i contenuti del tuo file (ignorando caso a causa di -i bandiera) per il testo "mio piatti preferiti sono."

In corso il comando stesso ma invece la ricerca di "apple" vediamo sono disponibili solo due file che hanno indicato come uno dei Preferiti alimenti apple:

find / -type f -name foo* -exec grep -i "apple" /dev/null {} +
/root/misc/foobar.sh:apple
/root/other/foobar.txt:apple

Anche se questo è solo una breve panoramica di utilizzo -exec ricerche flag GREP nella tua ricerca, offre un livello elevatissimo di una versatilità e potenza entro le tue ricerche.

Adesso Vai stabilito e trovare i file.


Questo articolo è stato di aiuto?
Grazie per il tuo feedback. Per parlare con un addetto dell’assistenza clienti, usa il numero di telefono o l’opzione chat qui sopra.
Felici di esserti stati di aiuto! C'è altro che possiamo fare per te?
Ci dispiace. Dicci che cosa hai trovato di poco chiaro o perché la soluzione non ha risolto il problema.