Android

Localizați comanda în linux

Видео урок 1 Терминал Linux команды : ls, rm, mkdir, pwd, cd, echo

Видео урок 1 Терминал Linux команды : ls, rm, mkdir, pwd, cd, echo

Cuprins:

Anonim

Una dintre cele mai comune operații atunci când lucrați pe Linux este căutarea de fișiere și directoare. Pe sistemele Linux, există mai multe comenzi care vă permit să căutați fișiere cu find și locate fiind cele mai utilizate.

Comanda locate este cea mai rapidă și simplă modalitate de a căuta fișiere și directoare după numele lor.

În acest tutorial, vă vom explica cum să folosiți comanda de locate .

Instalarea locate (comanda localizare nu a fost găsită)

În funcție de distribuție și de modul în care sistemul a fost aprovizionat, pachetul de localizare poate fi sau nu preinstalat pe sistemul dvs. Linux.

Pentru a verifica dacă utilitarul de locate este instalat pe sistemul dvs., deschideți terminalul, tastați locate și apăsați Enter . Dacă pachetul este instalat, sistemul va afișa locate: no pattern to search for specified , în caz contrar, veți vedea ceva precum locate command not found .

Dacă locate nu este instalată, o puteți instala cu ușurință folosind managerul de pachete al distro.

Instalați locate pe Ubuntu și Debian

sudo apt update sudo apt install mlocate

Instalați locate pe CentOS și Fedora

sudo yum install mlocate

Cum locate funcționarea

Comanda de locate caută un model dat printr-un fișier de bază de date care este generat de comanda updatedb . Rezultatele găsite sunt afișate pe ecran, câte o linie.

În timpul instalării pachetului mlocate, se creează o lucrare cron care rulează comanda updatedb fiecare 24 de ore. Acest lucru asigură actualizarea regulată a bazei de date. Pentru mai multe informații despre job cron, verificați fișierul /etc/cron.daily/mlocate .

Baza de date poate fi actualizată manual folosind comanda updatedb ca root sau utilizator cu privilegii sudo:

sudo updatedb

Procesul de actualizare va dura ceva timp, în funcție de numărul de fișiere și directoare și de viteza sistemului.

Fișierele create după actualizarea bazei de date nu vor fi afișate în rezultatele de localizare.

În comparație cu cea mai puternică comandă find care caută în sistemul de fișiere, locate funcționează mult mai rapid, dar îi lipsește multe funcții și poate căuta doar după numele fișierului.

Cum se utilizează comanda de locate

Sintaxa pentru comanda de locate este următoarea:

locate PATTERN…

În forma sa cea mai de bază, atunci când este folosită fără nicio opțiune, comanda locate va imprima calea absolută a tuturor fișierelor și directoarelor care se potrivesc cu modelul de căutare și pentru care utilizatorul a permis citirea.

De exemplu, pentru a căuta un fișier numit .bashrc ar trebui să tastați:

locate.bashrc

Rezultatul va include numele tuturor fișierelor care conțin șirul .bashrc în numele lor:

/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

Fișierul /root/.bashrc nu va fi afișat deoarece am executat comanda ca un utilizator normal care nu are permisiuni de acces la directorul /root .

Dacă lista de rezultate este lungă, pentru o mai bună lizibilitate, puteți conecta ieșirea la comanda less :

locate.bashrc | less

Comanda locate acceptă, de asemenea, modele care conțin caractere globale, cum ar fi caracterul wildcard * . Când modelul nu conține caractere globale, comanda caută *PATTERN* , de aceea în exemplul anterior au fost afișate toate fișierele care conțin modelul de căutare în numele lor.

Cardul comod este un simbol folosit pentru a reprezenta zero, unul sau mai multe caractere. De exemplu, pentru a căuta toate fișierele .md din sistem pe care le-ați folosi:

locate *.md

Pentru a limita rezultatele căutării, utilizați opțiunea -n urmată de numărul de rezultate pe care doriți să le afișați. De exemplu, următoarea comandă va căuta toate fișierele .py și va afișa doar 10 rezultate:

locate -n 10 *.py

În mod implicit, locate efectuează căutări sensibile la majuscule și minuscule. Opțiunea -i ( --ignore-case ) se locate pentru a ignora majuscule și majuscule între litere mari și majuscule.

locate -i readme.md

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

Pentru a afișa numărul tuturor intrărilor potrivite, utilizați opțiunea -c ( --count ). Următoarea comandă va returna numărul de fișiere care conțin .bashrc în numele lor:

locate -c.bashrc

6

În mod implicit, locate nu verifică dacă fișierele găsite mai există în sistemul de fișiere. Dacă ați șters un fișier după ultima actualizare a bazei de date, dacă fișierul corespunde modelului de căutare, acesta va fi inclus în rezultatele căutării.

Pentru a afișa doar numele fișierelor care există la momentul locate este rulat, utilizați opțiunea -e ( --existing ). De exemplu, următoarele vor returna doar fișierele .json existente:

locate -e *.json

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

Concluzie

Comanda locate caută în sistemul de fișiere fișiere și directoare al căror nume se potrivește cu un model dat. Sintaxa comenzii este ușor de reținut și rezultatele sunt afișate aproape instantaneu.

Pentru mai multe informații despre toate opțiunile disponibile ale tipului de comandă de man locate în terminalul dvs.

localizarea terminalului