GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come trovare file sulla riga di comando di Ubuntu

Un problema tipico quando si lavora con i computer è che non riesci a trovare i file che hai salvato da qualche parte. Molti programmi GUI ti consentono di cercare file mentre lavori sotto Linux, indipendentemente dalla distribuzione. Tuttavia, in alcune situazioni, avrai accesso solo al terminale della riga di comando, in particolare se gestisci server o utilizzi SSH per accedere al sistema. Se non riesci a trovare i tuoi file, devi utilizzare i programmi della riga di comando su Linux per cercarli.

Questo tutorial ti mostrerà come utilizzare il Terminale, che è il programma da riga di comando nel sistema operativo Ubuntu, per trovare i file. Sulla shell, ci sono tre modi ben noti per cercare i file:

  1. Trova i file utilizzando Trova comando
  2. Utilizzo di Trova comando per trovare i file
  3. Utilizzo di Grep comando per cercare nei file

I comandi Trova e Trova vengono utilizzati per cercare i file nel sistema mentre grep viene utilizzato per cercare i file in base al testo che contiene. Trova è un metodo più lento ma contiene diverse condizioni di ricerca mentre Trova non include tante condizioni ma è molto più veloce di Trova.

Iniziamo con la procedura. Utilizzeremo Ubuntu 20.04 LTS per descrivere la procedura menzionata in questo articolo.

Metodo 1:utilizzo del comando Trova

Trova è un comando altamente flessibile utilizzato per cercare i file in base a una varietà di condizioni. È uno strumento molto utile durante la ricerca di un file di cui non si ricorda il nome. Utilizzando il comando Trova è possibile effettuare ricerche in base al nome di file e cartelle, alla data di creazione, alla data di modifica e alle autorizzazioni. Puoi combinare queste condizioni multiple in un unico comando Trova. È uno strumento di ricerca molto potente ma più lento.

La sintassi generale del comando è:

$ find /path/to/file/ -iname filename

Cerca i file in una directory specifica

È possibile utilizzare il comando Trova per cercare tutti i file in una directory specifica. La sintassi generale sarebbe:

$ find /path/to/file/

Ad esempio, per trovare tutti i file in /home/tin/Downloads/ directory, avvia il Terminale premendo Ctrl+Alt+T e quindi esegui il seguente comando in Terminale:

$ find /home/tin/Downloads/

Cerca i file nella directory corrente

Per cercare i file in una directory corrente, usa

$ find .

Per cercare un file chiamato ad esempio "software" nella directory corrente, utilizzare il seguente comando in Terminale:

$ find . -iname Softwares

Cerca utilizzando un carattere jolly

Puoi anche utilizzare i caratteri jolly per trovare i file che corrispondono alla query. La sintassi generale sarebbe:

$ find /path/to/file/ -iname filename*

Ad esempio, per cercare file che iniziano con la parola "cent", eseguire il seguente comando in Terminale:

$ find /home/tin/ -iname cent*

Cerca file vuoti

Puoi anche cercare file vuoti usando il comando Trova. La sintassi generale sarebbe:

$ find /path/to/file/ -iname -empty

Ad esempio per trovare file vuoti in /home/tin directory, esegui il seguente comando in Terminale:

$ find /home/tin/ -empty

Cerca in base a data e ora

Usando il comando Trova, puoi anche cercare i file a seconda di quando sono stati consultati o modificati. Ci sono tipi di tempo che puoi usare per cercare i file:

  • mtime (Tempo di modifica) :quando il contenuto del file è stato modificato l'ultima volta.
  • atime (ora di accesso) :quando è stato effettuato l'ultimo accesso al file.
  • ctime (Cambia ora) :quando gli attributi del file sono stati modificati l'ultima volta.

Ad esempio, per cercare i file in una directory corrente che sono stati modificati meno di 2 giorni fa, eseguire il seguente comando in Terminale:

$ find . -mtime -2

Per cercare file a cui è stato effettuato l'accesso meno di 2 giorni fa, esegui il seguente comando in Terminale:

$ find . –atime -2

Per cercare i file che sono stati modificati meno di 2 giorni fa, esegui il seguente comando in Terminale:

$ find . –ctime -2

Cerca in base alla dimensione del file

Ad esempio, per cercare file la cui dimensione è maggiore di 5 MB, possiamo utilizzare il seguente comando in Terminale:

$ find . –size +5M\

Ricerca in base alle autorizzazioni dei file

Viene utilizzato per trovare file con permessi specifici. La sintassi generale sarebbe:

$ find /path/to/file/ -type -perm mode

Dove:

Digita il parametro include d o f valore utilizzato per specificare il tipo di file. d per le directory e f solo per i file.
modalità può essere sia con autorizzazione numerica (es. 777, 655.. ecc.) che simbolica (es. u=x, a=r+x).

Ad esempio, per cercare un file con il permesso di 644, possiamo usare il seguente comando in Terminale:

$ find . –type f –perm 644

Metodo 2:utilizzo del comando Localizza

C'è un altro comando Localizza che può essere usato per cercare file in Linux. Non ha tutte le condizioni di ricerca offerte dall'utilità Trova, ma è molto migliore e più veloce dell'utilità Trova. Il motivo è il processo in background che viene effettivamente eseguito nel sistema e ricerca e archivia nuovi file nel proprio database. A differenza del comando Trova, non ricerca file e directory nel disco rigido locale, ma li ricerca nel proprio database. Il suo database dovrebbe essere aggiornato regolarmente affinché l'utilità di ricerca funzioni.

Installazione di Localizza

Locate non è installato per impostazione predefinita nel sistema operativo Linux. Dovrai installarlo manualmente. Premi Ctrl+Alt+T per avviare il Terminale e quindi digitare il seguente comando come sudo per installare l'utilità di localizzazione:

$ sudo apt-get install locate

Una volta completata l'installazione, puoi utilizzare subito l'utilità di localizzazione.

La sintassi generale del comando è:

$ locate –i filename

Dove -i è usato per ignorare le distinzioni tra maiuscole e minuscole.

Ricerca di un file

Ad esempio, per cercare un nome file "centos", utilizzare il seguente comando in Terminale:

$ locate –i centos

Cercherà tutti i file che includono la stringa "centos" nei loro nomi di file.

Cerca più file

Puoi anche cercare più nomi di file contemporaneamente. Ad esempio, utilizza il seguente comando in Terminale per cercare due file "sdn.txt" e "centos" :

$ locate –i sdn.txt centos

Cerca utilizzando caratteri jolly

Puoi anche utilizzare il carattere jolly per trovare i file che corrispondono alla query. Ad esempio, per cercare tutti i file che terminano con ".iso", utilizzare il seguente comando in Terminale:

$ locate –i *.iso

Aggiorna database di localizzazione

Il comando Locate si basa sul suo database per funzionare, quindi deve essere aggiornato regolarmente. Eseguire il comando seguente in Terminale per aggiornare il database dell'utilità di localizzazione:

$ sudo updatedb

Metodo 3:utilizzo del comando Grep

Sebbene Grep non sia per cercare direttamente i file nel tuo sistema, viene invece utilizzato per cercare testo. Tuttavia, puoi usarlo per visualizzare i nomi dei file che contengono la particolare stringa di caratteri che corrisponde alla tua query di ricerca. Per cercare una stringa, devi racchiuderla tra virgolette.

La sintassi generale del comando è:

$ grep [opzioni] [modello] [/percorso/del/file]
dove [opzioni] contiene opzioni generiche per controllare la ricerca e [pattern] contiene la stringa che vogliamo cercare.

Se stai cercando un file che contenga una parola, che sospetti possa trovarsi in una directory specifica, puoi cercarla utilizzando la sintassi dei comandi sopra in Terminale.

Ad esempio, per cercare un file che contiene la parola "tintin" e pensiamo che quel file potrebbe essere nei nostri Download cartella, possiamo usare il seguente comando per individuare quel file.

$ grep -r –i “tintin” /home/tin/Downloads

Dove

-i è usato per ignorare le distinzioni tra maiuscole e minuscole

–r viene utilizzato per cercare ricorsivamente la directory specificata

Cerca più parole

Puoi anche cercare più stringhe contemporaneamente. Devi usare la barra rovesciata "\" e il segno di pipe "|" caratteri tra le tue stringhe.

Ad esempio per cercare due stringhe “tintin” e “ping”, possiamo usare il seguente comando in Terminale:

$ grep –r –I “tintin\|ping” /home/tin/Downloads

Quindi, questa è stata la breve panoramica di come cercare file utilizzando la riga di comando in Ubuntu. In questo articolo, abbiamo visto tre utili metodi da riga di comando per cercare i file. Puoi scegliere uno qualsiasi di questi metodi a seconda della velocità e delle condizioni di ricerca.


Ubuntu
  1. Come eseguire il backup del telefono Ubuntu?

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

  3. Come trovo l'ID del processo in Ubuntu?

  4. Come trovare il numero di core in Ubuntu

  5. Come rimuovo i file dal cestino su Ubuntu?

Un cestino per la riga di comando di Ubuntu

Come convertire documenti in formato PDF sulla riga di comando di Ubuntu

Come ridimensionare le immagini sulla riga di comando di Ubuntu

Come scaricare un file su Ubuntu Linux usando la riga di comando

Come trovare file con il comando fd in Linux

Trova la riga di comando?