Viisi tiedostohakukomentoa Linuxissa

Johdanto

Linuxissa on viisi tiedostohakukomentoa: whereis, locate, which, type, ja find. Jokaisella niistä on omat ominaisuutensa ja ne on suunniteltu tiettyihin hakuskenaarioihin. Tämä opas esittelee sinut jokaiseen komentoon ja näyttää käyttöesimerkkejä. Jos haluat lukea lisää näistä komennoista, on parasta tarkastella asianmukaista ohjesivua.

whereis

whereisKomentoa käytetään hakea binaaritiedostoja, lähdekoodi ja online manuaalisivut useilla standardin asentaa hakemistoja tahansa ohjelman nimi määritetty.

Koska whereisei etsi jokaisesta järjestelmäsi sijainnista, tiedostoja näistä tietyistä hakemistoista ei löydy. Samasta syystä saat hakutuloksen nopeasti, löytyipä tai ei.

Se ei myöskään etsi komentoja, jotka on rakennettu suoraan kuoreen.

Jos esimerkiksi haluat löytää tietoja lskomennosta, suorita seuraava komento päätteessäsi:

whereis ls

Saat palautetta, kuten:

ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

Tuloksessa /bin/lson binaari, jonka haluat etsiä, kaksi muuta ovat lsohjelman manuaalisivuja, ohjelman lähdekoodia lsei löytynyt.

Kopioi /bin/lstiedosto kotihakemistoosi ja /usr/binhakemistoon ja suorita sitten whereiskomento uudelleen:

cp /bin/ls ~
cp /bin/ls /usr/bin/ls
whereis ls

Kuten näet, vain /bin/lsja /usr/bin/lslöytyivät hakutuloksesta. lsOhjelma kotihakemistossasi ei löytynyt, koska kotihakemistosi ei ole yksi niistä standardin asentaa hakemistoja.

ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

Jos suoritat seuraavan komennon:

whereis cd

Näet tulosteen, joka on samanlainen kuin alla oleva rivi. Binaaritiedostoa ei löydetty, koska cdse on komentotulkin sisäänrakennettu komento.

cd: /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz

locate

locateKomento käytetään löytää tiedostot nimen avulla tietokannan ( /var/lib/mlocate/mlocate.db). Tämä tietokanta on pohjimmiltaan tilannekuva tiedostojärjestelmäsi asettelusta. Kaikki tämän tietokannan tietueet, jotka vastaavat kyselyäsi, näkyvät hakutuloksissa. Oletusarvoisesti locatekomento käyttää kyselyäsi vastaamaan mitä tahansa osaa kunkin tietueen koko nimestä, mukaan lukien polun nimi. Tästä syystä hakutuloksissa olevien tiedostojen määrä voi olla odotettua suurempi.

Tietokannan vanhentuessa locatekomennon hakutulos heikkenee. Saatat huomata tiedostoja, joita ei enää ole olemassa, tai et näe vastineita äskettäin luoduille tiedostoille. Oletusarvoisesti mlocate.dbtietokanta päivitetään automaattisesti kerran päivässä. Voit updatedbpäivittää sen manuaalisesti komennolla.

Koska haku suoritetaan tietokannasta tiedostojärjestelmän sijaan, hakunopeus on erittäin nopea.

Jos suoritat seuraavan komennon:

locate ls

Saat paljon tietueita odotetun tuloksen sijaan.

Jotta hakutulos olisi tarkempi, voit käyttää -blippua rajoittamaan hakualuetta käyttämällä kyselyäsi vastaamaan vain kunkin tietueen perusnimeä:

locate -b "\ls"

Tällä kertaa saat jokaisen tiedoston sijainnin tarkalleen lstiedostojärjestelmässäsi:

/bin/ls

which

whichKomento etsii komennolla määritetyn arvon ympäristömuuttujan PATHja palauttaa ensimmäinen tulos oletuksena. Jos teet kyselyä aliakselle, whichkomento määrittää aliaksen todellisen komennon ennen haun suorittamista.

whichKomento on myös erittäin nopea yksinkertaisuutensa vuoksi.

whichKomennon käyttö on yksinkertaista:

which your_command

Jos haluat näyttää kaikki vastaavat komennot ensimmäisen sijasta, käytä -alippua:

which -a your_command

Tässä on esimerkki aliasoidun komennon etsimisestä:

which ll

Hakutulos olisi:

alias ll='ls -l --color=auto'
    /bin/ls

type

Oletusarvoisesti typekomento osoittaa, kuinka komennon nimi tulkitaan. Mahdollisia tuloksia ovat alias, avainsana, funktio, sisäänrakennettu ominaisuus tai tiedosto. Aivan kuten whereiskomento, typekomento etsii vain useista tavallisista asennushakemistoista vastatakseen kyselyyn.

Esimerkkejä eri komentojen kirjoittamisesta:

Shellin sisäänrakennettu komento:

type cd

cd is a shell builtin

Binääritiedosto tiedostojärjestelmässä:

type sudo

sudo is /usr/bin/sudo

Alias:

type ls

ls is aliased to `ls --color=auto'

find

Tässä opetusohjelmassa esitellyistä viidestä tiedostohakukomennosta findkomento on tehokkain. Se on myös hitain. Toisin kuin muut neljä komentoa, findkomento itse asiassa etsii tiedostoasi koko tiedostojärjestelmästä, yksi i-solmu yksi i-solmu kerrallaan. Kun findkäsky voit käyttää kehittyneitä kyselyn kriteereitä löytää kaikki tiedostot tarvitset, jopa lisäksi toteuttaa toimia tiedostojen löytynyt.

findKomennon hakukriteerit ovat liian kehittyneitä selittämään näin lyhyessä artikkelissa, tässä on sen sijaan muutama esimerkki.

findKomennon perusmuoto :

find [path] [option] [action]

Kaikkien tiedostojen etsiminen työhakemistosta ja kaikista sen alihakemistoista:

find

Voit etsiä aaakotihakemistostasi ja sen kaikista alihakemistoista kutsutun tiedoston seuraavasti :

find ~ -name 'aaa'

Voit etsiä kaikki tiedostojärjestelmässä olevat tiedostot, joita on muokattu viimeisen 24 tunnin aikana:

find / -mtime 0

Voit etsiä kaikki tiedostot verkkohakemistosta ja kaikista sen alihakemistoista, jotka kuuluvat käyttäjälle nginx:

find /usr/share/nginx/html/ -user nginx

Voit etsiä kaikki työhakemiston tiedostot, joiden käyttöoikeudet ovat 0744:

find -perm -0744

Voit etsiä aaatyöhakemistosta tiedoston nimellä ja luetella sen yksityiskohtaiset tiedot:

find -name 'aaa' -exec ls -l {} \;

Jätä kommentti

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja