Come trovare file e cartelle in Linux utilizzando la riga di comando

Sommario:

Come trovare file e cartelle in Linux utilizzando la riga di comando
Come trovare file e cartelle in Linux utilizzando la riga di comando

Video: Come trovare file e cartelle in Linux utilizzando la riga di comando

Video: Come trovare file e cartelle in Linux utilizzando la riga di comando
Video: come stampare in Wi Fi con una stampante Epson - YouTube 2024, Aprile
Anonim
La maggior parte delle persone usa un gestore di file grafico per trovare file in Linux, come Nautilus in Gnome, Dolphin in KDE e Thunar in Xfce. Tuttavia, esistono diversi modi per utilizzare la riga di comando per trovare i file in Linux, indipendentemente dal gestore desktop che si utilizza.
La maggior parte delle persone usa un gestore di file grafico per trovare file in Linux, come Nautilus in Gnome, Dolphin in KDE e Thunar in Xfce. Tuttavia, esistono diversi modi per utilizzare la riga di comando per trovare i file in Linux, indipendentemente dal gestore desktop che si utilizza.
Image
Image

Utilizzando il comando Trova

Il comando "trova" ti permette di cercare file per i quali conosci i nomi dei file approssimativi. La forma più semplice del comando cerca i file nella directory corrente e in modo ricorsivo attraverso le sue sottodirectory che corrispondono ai criteri di ricerca forniti. È possibile cercare i file per nome, proprietario, gruppo, tipo, autorizzazioni, data e altri criteri.

Digitando il seguente comando al prompt vengono elencati tutti i file trovati nella directory corrente.

find.

Il punto dopo "trova" indica la directory corrente.

Per trovare i file che corrispondono a un modello specifico, utilizzare il
Per trovare i file che corrispondono a un modello specifico, utilizzare il

-name

discussione. È possibile utilizzare i metacaratteri del nome file (come ad esempio

*

), ma dovresti inserire un carattere di escape (

) di fronte a ciascuno di essi o li racchiudono tra virgolette.

Ad esempio, se vogliamo trovare tutti i file che iniziano con "pro" nella directory Documenti, useremo il

cd Documents/

comando per passare alla directory Documenti, quindi digitare il seguente comando:

find. -name pro*

Tutti i file nella directory corrente che iniziano con "pro" sono elencati.

NOTA: il comando find è impostato su Maiuscole / minuscole. Se si desidera che la ricerca di una parola o di una frase non abbia distinzione tra maiuscole e minuscole, utilizzare

-iname

opzione con il comando find. È la versione non sensibile al caso del

-name

comando.

Se
Se

find

non trova alcun file che corrisponda ai tuoi criteri, non produce output.

Il comando find ha molte opzioni disponibili per perfezionare la ricerca. Per ulteriori informazioni sul comando find, eseguire

man find

in una finestra di Terminale e premere Invio.

Utilizzando il comando Locate

Il comando locate è più veloce del comando find perché utilizza un database costruito in precedenza, mentre il comando find cerca nel sistema reale, attraverso tutte le directory e i file effettivi. Il comando locate restituisce un elenco di tutti i nomi di percorso contenenti il gruppo di caratteri specificato.

Il database viene aggiornato periodicamente da cron, ma puoi anche aggiornarlo da solo in qualsiasi momento, in modo da ottenere risultati aggiornati al minuto. Per fare ciò, digitare il seguente comando al prompt:

sudo updatedb

Inserisci la password quando richiesto.

locate mydata

Ad esempio, il comando precedente ha trovato due file contenenti "mydata" e un file contenente "dati".

Se si desidera trovare tutti i file o le directory che contengono esattamente e solo i criteri di ricerca, utilizzare il
Se si desidera trovare tutti i file o le directory che contengono esattamente e solo i criteri di ricerca, utilizzare il

-b

opzione con il comando locate, come segue.

locate -b ‘mydata’

Il backslash nel comando precedente è un carattere globbing, che fornisce un modo per espandere i caratteri jolly in un nome file non specifico in un set di nomi file specifici. Un carattere jolly è un simbolo che può essere sostituito da uno o più caratteri quando viene valutata l'espressione. I simboli jolly più comuni sono il punto interrogativo (

), che sta per un singolo carattere e l'asterisco (

*

), che rappresenta una stringa contigua di caratteri. Nell'esempio precedente, la barra rovesciata disabilita la sostituzione implicita di "mydata" con "* mydata *" in modo da ottenere solo risultati contenenti "mydata".

Il comando mlocate è una nuova implementazione di locate. Indica l'intero file system, ma i risultati della ricerca includono solo i file a cui l'utente corrente ha accesso. Quando si aggiorna il database di mlocate, mantiene le informazioni di data e ora nel database. Ciò consente a mlocate di sapere se il contenuto di una directory è cambiato senza leggere nuovamente il contenuto e rende gli aggiornamenti al database più rapidi e meno impegnativi sul disco rigido.
Il comando mlocate è una nuova implementazione di locate. Indica l'intero file system, ma i risultati della ricerca includono solo i file a cui l'utente corrente ha accesso. Quando si aggiorna il database di mlocate, mantiene le informazioni di data e ora nel database. Ciò consente a mlocate di sapere se il contenuto di una directory è cambiato senza leggere nuovamente il contenuto e rende gli aggiornamenti al database più rapidi e meno impegnativi sul disco rigido.

Quando si installa mlocate, il file binario / usr / bin / locate cambia in modo da puntare a mlocate. Per installare mlocate, se non è già incluso nella distribuzione Linux, digitare il seguente comando al prompt.

sudo apt-get install mlocate

NOTA: ti mostreremo un comando più avanti in questo articolo che ti consente di determinare dove si trova l'eseguibile per un comando, se esiste.

Il comando mlocate non utilizza lo stesso file di database del comando di individuazione standard. Pertanto, è possibile creare manualmente il database digitando il seguente comando al prompt:
Il comando mlocate non utilizza lo stesso file di database del comando di individuazione standard. Pertanto, è possibile creare manualmente il database digitando il seguente comando al prompt:

sudo /etc/cron.daily/mlocate

Il comando mlocate non funzionerà finché il database non viene creato manualmente o quando lo script viene eseguito da cron.

Per ulteriori informazioni sul comando locate o sul comando mlocate, digitare
Per ulteriori informazioni sul comando locate o sul comando mlocate, digitare

man locate

o

man mlocate

in una finestra di Terminale e premere Invio. La stessa schermata di aiuto viene visualizzata per entrambi i comandi.

Usando il comando che

Il comando "which" restituisce il percorso assoluto dell'eseguibile che viene chiamato quando viene emesso un comando. Questo è utile per trovare la posizione di un eseguibile per creare un collegamento al programma sul desktop, su un pannello o in un altro posto nel desktop manager. Ad esempio, digitando il comando

which firefox

visualizza i risultati mostrati nell'immagine qui sotto.

Per impostazione predefinita, il comando which visualizza solo il primo eseguibile corrispondente. Per visualizzare tutti i file eseguibili corrispondenti, utilizzare
Per impostazione predefinita, il comando which visualizza solo il primo eseguibile corrispondente. Per visualizzare tutti i file eseguibili corrispondenti, utilizzare

-a

opzione con il comando:

which -a firefox

Puoi cercare più eseguibili contemporaneamente, come mostrato nell'immagine seguente. Vengono visualizzati solo i percorsi dei file eseguibili trovati.Nell'esempio seguente, è stato trovato solo l'eseguibile.

NOTA: il comando which cerca solo la variabile PATH dell'utente corrente. Se si cerca un eseguibile che è disponibile solo per l'utente root come utente normale, non verrà visualizzato alcun risultato.
NOTA: il comando which cerca solo la variabile PATH dell'utente corrente. Se si cerca un eseguibile che è disponibile solo per l'utente root come utente normale, non verrà visualizzato alcun risultato.

Per ulteriori informazioni sul comando, digitare "uomo" che (senza virgolette) al prompt dei comandi in una finestra di Terminale e premere Invio.

Utilizzando il comando Whereis

Il comando whereis viene utilizzato per scoprire dove si trovano i file binario, di origine e man page per un comando. Ad esempio, digitando

whereis firefox

al prompt visualizza i risultati come mostrato nell'immagine seguente.

Se si desidera visualizzare solo il percorso dell'eseguibile, e non i percorsi verso la fonte e le pagine man (ual), utilizzare il
Se si desidera visualizzare solo il percorso dell'eseguibile, e non i percorsi verso la fonte e le pagine man (ual), utilizzare il

-b

opzione. Ad esempio, il comando

whereis -b firefox

verrà visualizzato solo

/usr/bin/firefox

come risultato. Questo è utile perché molto probabilmente si cerca il file eseguibile di un programma più spesso di quanto si farebbe per cercare le pagine di origine e man per quel programma. Puoi anche cercare solo i file sorgente (

-s

) o solo per le pagine man (

-m

).

Per ulteriori informazioni sul comando whereis, digitare

man whereis

in una finestra di Terminale e premere Invio.

Capire la differenza tra il comando Whereis e il comando

Il comando whereis mostra la posizione per le pagine binary, source e man per un comando, mentre il comando which mostra solo la posizione del binario per il comando.

Il comando whereis cerca attraverso un elenco di directory specifiche per i file binario, source e man mentre il comando who cerca le directory elencate nella variabile d'ambiente PATH dell'utente corrente. Per il comando whereis, l'elenco di directory specifiche può essere trovato nella sezione FILES delle pagine man per il comando.

Quando si tratta di risultati visualizzati per impostazione predefinita, il comando whereis mostra tutto ciò che trova, mentre il comando mostra solo il primo eseguibile che trova. Puoi cambiarlo usando il

-a

opzione, discussa in precedenza, per quale comando.

Poiché il comando whereis utilizza solo percorsi codificati nel comando, potrebbe non essere sempre possibile trovare ciò che si sta cercando. Se stai cercando un programma che pensi possa essere installato in una directory non elencata nelle pagine man per il comando whereis, potresti voler usare il comando which con

-a

opzione per trovare tutte le occorrenze del comando in tutto il sistema.

Consigliato: