GNU/Linux >> Linux Esercitazione >  >> Linux

Individua il comando in Linux

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

Il locate command è il modo più rapido e semplice per cercare file e directory in base ai loro nomi.

In questo articolo spiegheremo come utilizzare locate comando.

Installazione di locate (localizza comando non trovato) #

A seconda della distribuzione e del modo in cui è stato eseguito il provisioning del sistema, il pacchetto locate potrebbe essere preinstallato o meno sul tuo sistema Linux.

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

Se locate non è installato, puoi installarlo facilmente usando il gestore di 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 locate Lavoro #

Il locate Il comando ricerca un dato modello attraverso un file di database generato da updatedb comando. I risultati trovati vengono visualizzati sullo schermo, uno per riga.

Durante l'installazione del pacchetto mlocate, viene creato un cron job che esegue updatedb comando ogni 24 ore. Ciò garantisce che il database sia aggiornato regolarmente. Per ulteriori informazioni sul lavoro cron, controlla /etc/cron.daily/mlocate file.

Il database può essere aggiornato manualmente eseguendo 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 tuo sistema.

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

Rispetto al più potente locate comando che cerca nel file system, locate funziona molto più velocemente ma manca di molte funzioni e può cercare solo in base al nome del file.

Come utilizzare locate Comando #

La sintassi per locate il comando è il seguente:

locate [OPTION] PATTERN...

Nella sua forma più semplice, se usato senza alcuna opzione, il locate il comando 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 dovresti digitare:

locate .bashrc

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

/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 /root/.bashrc il file non verrà mostrato perché abbiamo eseguito il comando come un utente normale che non ha i permessi di accesso a /root directory.

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

locate .bashrc | less

Il locate il comando accetta anche modelli contenenti caratteri glob come il carattere jolly * . Quando il pattern non contiene caratteri globbing, il comando cerca *PATTERN* . Ecco perché nell'esempio precedente sono stati visualizzati tutti i file contenenti 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 .md file sul sistema, digitare:

locate *.md

Per limitare i risultati della ricerca, usa il -n opzione seguita dal numero di risultati che si desidera visualizzare. Il comando seguente cercherà tutti i .py file e visualizzare solo 10 risultati:

locate -n 10 *.py

Per impostazione predefinita, locate esegue ricerche con distinzione tra maiuscole e minuscole. Il -i (--ignore-case ) l'opzione dice a locate per ignorare il caso ed eseguire una 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 il -c (--count ) opzione. Il comando seguente restituirà il numero di tutti i file contenenti .bashrc a loro nome:

locate -c .bashrc
6

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

Per visualizzare solo i nomi dei file esistenti al momento locate è eseguito, utilizzare -e (--existing ) opzione. Ad esempio, quanto segue restituirebbe solo il .json esistente file:

locate -e *.json

Se hai bisogno di eseguire una ricerca più complessa, usa il -r (--regexp ) opzione, che consente di eseguire la ricerca utilizzando un'espressione regolare di base anziché i modelli. Questa opzione può essere specificata più volte.
Ad esempio, per cercare tutti i .mp4 e .avi file sul tuo sistema e ignora le maiuscole, eseguiresti:

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

Conclusione #

Il locate Il comando ricerca 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 vengono mostrati quasi istantaneamente.

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

Se hai domande, sentiti libero di lasciare un commento.


Linux
  1. Comando Linux mv

  2. Linux du comando

  3. comando IP Linux

  4. comando cd di Linux

  5. individuare Esempi di comandi in Linux

Linux quale comando

Comando Data in Linux

Comando W in Linux

Al comando in Linux

Comando Df in Linux

15 Esempi pratici di Localizza comando in Linux