androide

Trova il comando in linux

Important Linux Commands for Beginners: Linux Tutorial

Important Linux Commands for Beginners: Linux Tutorial

Sommario:

Anonim

Una delle operazioni più comuni quando si lavora su Linux è la ricerca di file e directory. Sui sistemi Linux, ci sono diversi comandi che ti consentono di cercare i file con find e locate i più utilizzati.

Il comando locate è il modo più rapido e semplice per cercare file e directory con i loro nomi.

In questo tutorial, spiegheremo come usare il comando locate .

Installazione di locate (comando di individuazione non trovato)

A seconda della distribuzione e del modo in cui è stato eseguito il provisioning del sistema, il pacchetto di localizzazione può o meno essere preinstallato sul proprio sistema Linux.

Per verificare se l'utilità di locate è installata sul tuo sistema, apri il tuo terminale, digita locate e premi Enter . Se il pacchetto è installato, il sistema mostrerà locate: no pattern to search for specified , altrimenti vedrai qualcosa come il locate command not found .

Se locate non è installato, puoi installarlo facilmente usando il gestore pacchetti della tua distribuzione.

Installa locate su Ubuntu e Debian

sudo apt update sudo apt install mlocate

Installa locate su CentOS e Fedora

sudo yum install mlocate

Come funziona?

Il comando locate cerca un determinato modello attraverso un file di database generato dal comando updatedb . I risultati trovati vengono visualizzati sullo schermo, uno per riga.

Durante l'installazione del pacchetto mlocate, viene creato un processo cron che esegue il comando updatedb ogni 24 ore. Questo assicura che il database sia aggiornato regolarmente. Per ulteriori informazioni sul processo cron, consultare il file /etc/cron.daily/mlocate .

Il database può essere aggiornato manualmente eseguendo il comando updatedb come root o utente con privilegi sudo:

sudo updatedb

Il processo di aggiornamento richiederà del tempo, a seconda del numero di file e directory e della velocità del sistema.

I file creati dopo l'aggiornamento del database non verranno visualizzati nei risultati di individuazione.

Rispetto al più potente comando di ricerca che cerca nel file system, locate funziona molto più velocemente ma manca di molte funzionalità e può cercare solo con il nome del file.

Come utilizzare il comando locate

La sintassi per il comando locate è la seguente:

locate PATTERN…

Nella sua forma più semplice, se usato senza alcuna opzione il comando locate stamperà il percorso assoluto di tutti i file e le directory che corrispondono al modello di ricerca e per i quali l'utente ha il permesso di lettura.

Ad esempio, per cercare un file chiamato .bashrc , digitare:

locate.bashrc

L'output includerà i nomi di tutti i file contenenti la stringa .bashrc nei loro nomi:

/etc/bash.bashrc /etc/skel/.bashrc /home/linuxize/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc

Il file /root/.bashrc non verrà mostrato perché abbiamo eseguito il comando come utente normale che non dispone delle autorizzazioni di accesso alla directory /root .

Se l'elenco dei risultati è lungo, per una migliore leggibilità è possibile reindirizzare l'output al comando less :

locate.bashrc | less

Il comando locate accetta anche pattern contenenti caratteri globbing come il carattere jolly * . Quando il modello non contiene caratteri di globbing, il comando cerca *PATTERN* , ecco perché nell'esempio precedente sono stati visualizzati tutti i file che contengono il modello di ricerca nei loro nomi.

Il carattere jolly è un simbolo utilizzato per rappresentare zero, uno o più caratteri. Ad esempio, per cercare tutti i file .md sul sistema dovresti usare:

locate *.md

Per limitare i risultati della ricerca, utilizzare l'opzione -n seguita dal numero di risultati che si desidera visualizzare. Ad esempio, il comando seguente cercherà tutti i file .py e mostrerà solo 10 risultati:

locate -n 10 *.py

Per impostazione predefinita, locate esegue ricerche con distinzione tra maiuscole e minuscole. L'opzione -i ( --ignore-case ) consente di locate per ignorare il caso ed eseguire la ricerca senza distinzione tra maiuscole e minuscole.

locate -i readme.md

/home/linuxize/p1/readme.md /home/linuxize/p2/README.md /home/linuxize/p3/ReadMe.md

Per visualizzare il conteggio di tutte le voci corrispondenti, utilizzare l'opzione -c ( --count ). Il seguente comando restituirebbe il numero di tutti i file contenenti .bashrc nei loro nomi:

locate -c.bashrc

6

Per impostazione predefinita, locate non controlla se i file trovati esistono ancora nel file system. Se un file è stato eliminato dopo l'ultimo aggiornamento del database se il file corrisponde al modello di ricerca, verrà incluso nei risultati della ricerca.

Per visualizzare solo i nomi dei file esistenti al momento dell'esecuzione di locate utilizzare l'opzione -e ( --existing ). Ad esempio, quanto segue restituirebbe solo i file .json esistenti:

locate -e *.json

locate --regex -i "(.mp4|\.avi)"

Conclusione

Il comando locate cerca nel file system i file e le directory il cui nome corrisponde a un determinato modello. La sintassi del comando è facile da ricordare e i risultati sono mostrati quasi istantaneamente.

Per ulteriori informazioni su tutte le opzioni disponibili del tipo di comando man locate nel terminale.

individuare il terminale