Android

Etsi komento linuxista

RIOT: The Friendly Operating System for the IoT (If Linux Won't Work, Try RIOT) - Thomas Eichinger

RIOT: The Friendly Operating System for the IoT (If Linux Won't Work, Try RIOT) - Thomas Eichinger

Sisällysluettelo:

Anonim

Yksi yleisimmistä toiminnoista Linux-työssä on tiedostojen ja hakemistojen etsiminen. Linux-järjestelmissä on useita komentoja, joiden avulla voit etsiä tiedostoja, joissa etsintä ja locate ovat eniten käytettyjä.

locate komento on nopein ja yksinkertaisin tapa etsiä tiedostoja ja hakemistoja niiden nimien perusteella.

Tässä opetusohjelmassa selitetään kuinka locate -komentoa käytetään.

Asenna locate (paikannuskomentoa ei löydy)

Levityspaketti saattaa olla asennettu Linux-järjestelmään esiasennettuna jakelusta ja järjestelmän käyttöönottotavasta riippuen.

Voit tarkistaa, onko locate asennettu järjestelmään, avaa päätelaite, kirjoita locate ja paina Enter . Jos paketti on asennettu, järjestelmä näyttää locate: no pattern to search for specified , muuten näet jotain locate command not found .

Jos locate ei ole asennettu, voit asentaa sen helposti diskon pakettihallinnalla.

Asenna locate Ubuntuun ja Debianiin

sudo apt update sudo apt install mlocate

Asenna locate CentOS: iin ja Fedoraan

sudo yum install mlocate

Kuinka locate työ?

locate komento etsii tietyn mallin tietokantatiedoston kautta, jonka generoi updatedb komento. Löydetyt tulokset näytetään näytöllä, yksi riviä kohti.

Mlocate-paketin asennuksen aikana luodaan cron-työ, joka suorittaa updatedb komennon 24 tunnin välein. Tämä varmistaa, että tietokantaa päivitetään säännöllisesti. Lisätietoja cron-työstä on /etc/cron.daily/mlocate .

Tietokantaa voidaan päivittää manuaalisesti suorittamalla updatedb komento pääkäyttäjänä tai käyttäjänä sudo-oikeuksilla:

sudo updatedb

Päivitysprosessi vie jonkin aikaa tiedostojen ja hakemistojen lukumäärästä ja järjestelmän nopeudesta riippuen.

Tietokannan päivityksen jälkeen luodut tiedostot eivät näy paikannustuloksissa.

Verrattuna tehokkaampaan etsintäkomentoon, joka etsii tiedostojärjestelmää, locate toimii paljon nopeammin, mutta siinä ei ole monia ominaisuuksia ja se voi etsiä vain tiedostonimen perusteella.

Kuinka käyttää locate

Paikannuskomennon syntaksi on seuraava:

locate PATTERN…

Perusteellisimmassa muodossaan, kun sitä käytetään ilman vaihtoehtoja, locate komento tulostaa kaikkien tiedostojen ja hakemistojen absoluuttisen polun, joka vastaa hakumallia ja jolle käyttäjä on lukenut luvan.

Esimerkiksi etsiäksesi tiedostoa, jonka nimi on .bashrc kirjoittamalla:

locate.bashrc

Tuloste sisältää nimet kaikille tiedostoille, jotka sisältävät merkkijonon .bashrc :

/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

/root/.bashrc ei näytetä, koska suoritimme komennon normaalina käyttäjänä, jolla ei ole käyttöoikeuksia hakemistoon /root .

Jos tulosluettelo on pitkä, paremman luettavuuden vuoksi voit käyttää lähdön less komentoon:

locate.bashrc | less

locate komento hyväksyy myös kuvioita, jotka sisältävät käsittäviä merkkejä, kuten yleismerkin * . Kun kuvio ei sisällä globaaleja merkkejä, komento etsii *PATTERN* , siksi edellisessä esimerkissä kaikki tiedostot, jotka sisälsivät niiden nimien hakukuvion.

Jokerimerkki on symboli, jota käytetään edustamaan nollaa, yhtä tai useampaa merkkiä. Voit esimerkiksi etsiä kaikkia käyttämiäsi .md tiedostoja:

locate *.md

Rajoita hakutuloksia käyttämällä -n vaihtoehtoa, jota seuraa näytettävien tulosten määrä. Esimerkiksi seuraava komento etsii kaikkia .py tiedostoja ja näyttää vain 10 tulosta:

locate -n 10 *.py

Oletusarvon mukaan locate suorittaa kirjainkoolla arkoja hakuja. -i ( --ignore-case ) -vaihtoehdon avulla voidaan jättää huomioimatta tapaukset ja suorittaa tapausherkkä haku.

locate -i readme.md

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

Voit näyttää kaikkien vastaavien merkintöjen määrän käyttämällä -c ( --count ) -vaihtoehtoa. Seuraava komento palauttaa kaikkien tiedostojen lukumäärän, joissa nimissä .bashrc on:

locate -c.bashrc

6

Oletuksena locate ei tarkista onko löydettyjä tiedostoja edelleen tiedostojärjestelmässä. Jos poistit tiedoston viimeisimmän tietokantapäivityksen jälkeen, jos tiedosto vastaa hakumallia, se sisällytetään hakutuloksiin.

Jos haluat näyttää vain niiden locate olemassa olevien tiedostojen nimet, käytä -e ( --existing ) -vaihtoehtoa. Esimerkiksi seuraava palauttaisi vain olemassa olevat .json tiedostot:

locate -e *.json

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

johtopäätös

locate komento etsii tiedostojärjestelmästä tiedostoja ja hakemistoja, joiden nimi vastaa annettua mallia. Komentosyntaksi on helppo muistaa ja tulokset näytetään melkein heti.

Lisätietoja kaikista käytettävissä olevista vaihtoehdoista locate komento tyyppi man locate terminaalissasi.

terminaali paikantaa