GNU/Linux >> Linux Esercitazione >  >> Linux

Come cercare file dal Terminale su Linux

Mentre ci sono molti modi con cui possiamo cercare e individuare file e directory su Linux, il più semplice e veloce è probabilmente attraverso il terminale. Tuttavia, non molti utenti Linux lo sanno, il che porta a frustrazioni non necessarie. Ecco una guida rapida che, si spera, ti aiuterà a individuare ciò che stai cercando nel tuo sistema.

Usa il comando Localizza

Il "individuare Il comando ” è il primo ricorso che un utente Linux dovrebbe utilizzare perché è molto più veloce di qualsiasi altra cosa là fuori. Il motivo di questa velocità impareggiabile è che il comando locate non sta effettivamente cercando i tuoi dischi rigidi locali per i file o le directory che devi trovare, ma è più simile a leggere il file di database mlocate.db che contiene tutti i percorsi di file nel tuo sistema .

Se non hai ancora installato locate, usa questi comandi:

Debian e Ubuntu

sudo apt-get install locate

CentOS

yum install locate

Prepara il comando locate per il primo utilizzo

Per aggiornare il database mlocate.db prima del primo utilizzo, eseguire:

sudo updatedb

Per usare locate, apri un terminale e digita locate seguito dal nome del file che stai cercando. In questo esempio, sto cercando file che contengono la parola "soleggiato" nel loro nome.

locate sunny

Localizza può anche dirti quante volte una parola chiave di ricerca viene trovata nel database. Ciò si ottiene includendo un parametro "-c" nel comando, che sta per "count".

locate -c sunny

Ciò che gli utenti devono tenere a mente qui è che "localizza" richiede il nome specifico ed esatto del file che stai cercando, contrariamente ad altri strumenti più flessibili. Ciò significa che locate è ottimo per trovare qualcosa di cui sei sicuro sul nome, ma non così eccezionale per quando non ricordi esattamente il nome del file.

locate howtoforge

contro

locate Howtoforge

Inoltre, e poiché "localizza ” legge un file di database, i risultati potrebbero essere obsoleti e non del tutto veritieri. Per mitigare questo problema, puoi aggiornare il database dei percorsi dei file digitando "sudo updateb ” su una sessione terminale.

Dai un'occhiata qui per altri esempi di come utilizzare il comando di localizzazione.

Se dopo non stai ancora ottenendo quello che stavi cercando, o sei semplicemente sopraffatto dal numero dei risultati, procedi al passaggio successivo che è il comando "trova".

Usa il comando Trova

Il "trova Il comando ” è un'utilità di ricerca molto più potente ma anche più lenta. Questo perché contrariamente al comando "trova", "trova" in realtà cerca i tuoi dischi per i file e le directory che l'utente sta cercando. Trova è perfetto per quando stai cercando di individuare un file o una directory ma non ricordi il suo nome, perché "trova" può cercare file che appartengono a un determinato utente o gruppo di utenti, file che sono stati modificati o a cui è stato effettuato l'accesso recentemente, file di dimensioni specifiche, file nascosti, eseguibili, file di sola lettura e file con determinate autorizzazioni. La parte migliore è che un utente è libero di combinare più dei criteri di cui sopra in un comando "trova", essenzialmente restringendo i risultati.

A proposito di restringere il campo, la prima cosa che vuoi fare quando esegui "find" è dirgli di cercare in una directory specifica. Ciò accelererà notevolmente il processo di ricerca, ma sempre in base alle dimensioni della directory. Se sai dove potrebbe essere il file, apri il terminale, vai alla directory ed esegui "find . [nome file] ”. Quel punto indica a find di cercare nella directory corrente. Se invece vuoi cercare nella tua directory Home, sostituisci il punto con "~/", e se vuoi cercare nell'intero filesystem, usa invece "/".

Ad esempio, voglio cercare un file che contenga un poster nella mia directory di download. So che il nome del file contiene la parola "poster", ma non ricordo esattamente il nome. Per questo motivo, navigherei nella mia cartella di download tramite il terminale con "cd Downloads", quindi inserirò il comando:

sudo find . -name "*poster*"

Ecco il risultato:

Questo mi dice che c'è un file pdf chiamato "billy_poster copy" nella cartella Download. Se non sapevo dove fosse, "trova" mi farebbe comunque sapere che si trova nella cartella Download se ho cercato in una directory principale.

Ora, se sostituisco il parametro "-name" con "-iname", potrei ottenere risultati senza riguardo alle maiuscole e minuscole. Questo è qualcosa che non è presente in "localizza", quindi un altro elemento utile per quando non sei sicuro del nome del file.

sudo find . -iname "*poster*"

Ora, supponiamo che io stia ancora cercando lo stesso file poster e l'unica cosa che ricordo è che ha una dimensione inferiore a 5 MB. Il comando che userei in quel caso è:

find ~/ -size -5M

Se sapessi che è superiore a 2 MB, il comando sarebbe "trova ~/ -size +2M". La parte migliore è che find supporta gli operatori booleani per rendere la ricerca ancora più forte. Per questo esempio, userò un comando che combina la mia conoscenza che il file ha una dimensione inferiore a 5 megabyte e anche più di 2. Il comando per questo sarebbe:

find / -size -5M -and -size +2M

Infine, suggeriamo di non ricordare nulla del file, ma ricordiamo che vi abbiamo effettuato l'accesso entro tre minuti. Per trovarlo, usa il comando trova come:

find / -amin -3

Sarebbe "trova / -amin -30" per mezz'ora e "-amin -120" per due ore, ecc. Se hai effettuato l'accesso al file due giorni fa, usa invece questo:

find / -time -2

Verranno visualizzati tutti i file a cui è stato eseguito l'accesso negli ultimi due giorni nella posizione della ricerca.

Penso che quanto sopra copra la maggior parte dei soliti scenari di casi d'uso. Per maggiori informazioni sul potente comando "trova", apri un terminale e digita "trova uomo". Buona fortuna a trovare quello che stai cercando.

Altri esempi di comando trova Linux possono essere trovati qui.


Linux
  1. Come installare il software dalla riga di comando di Linux

  2. Come rinominare i file in Linux

  3. Come usare il comando Rsync in Linux?

  4. Come utilizzare il comando trova di Linux per trovare i file

  5. Il comando locate in Linux

Come cercare file dalla riga di comando di Linux

Gestione file Linux dal terminale

Come gestire i file dal terminale Linux

Come trovare file con il comando fd in Linux

Come aprire un URL nel browser Web dal terminale Linux

Come connettersi al WiFi dal terminale in Ubuntu Linux