Soek vir `n lêer in Linux

Om `n lêer in `n Linux-stelsel te vind, kan moeilik wees as jy nie weet hoe om dit te doen nie. Die beste manier om lêers te soek, is die gebruik van verskeie verskillende terminaal opdragte. Om hierdie opdragte te bemeester, kan u volle beheer oor u lêers gee, en hulle is baie kragtiger as die eenvoudige soekfunksies van ander bedryfstelsels.

stappe

Metode 1
Met behulp van "find"

Prent getiteld 690519 1
1
Soek vir `n lêer volgens lêernaam. Dit is die eenvoudigste soektog wat jy daarmee kan uitvoer find-opdrag. Die opdrag hieronder soek volgens die navraag in die huidige gids en alle onderliggende directories.
vind -in "filename"
  • gebruik -Iname in plaas van -name om hoofletters te ignoreer. die -name-Opdrag is hooflettergevoelig.
  • Prent getiteld 690519 2
    2
    Stel `n soektog op om in die hoofmap te soek. As u die hele stelsel wil deursoek, kan u die parameter verander / voeg by die soektog. Hiermee vra jy find Om alle gidse te soek, begin in die wortel.
    vind / -in "filename"
  • U kan die soektog in `n spesifieke gids begin deur / om te vervang met `n gids pad, soos / huis / pat.
  • JY kan . gebruik, in plaas van /, om te dwing dat die soektog slegs in die huidige gids en subdirectories uitgevoer word.
  • Prent getiteld 690519 3
    3
    Gebruik die wildcard karakter.* om te soek na enigiets wat ooreenstem met `n deel van die navraag. Die joker * kan nuttig wees om iets te vind, as jy nie die volle naam onthou nie, of as jy alles met `n sekere uitbreiding wil kry.
    vind / huis / peter -iname "* .conf"
  • Dit gee alle .conf-lêers in Peter se gebruikersmap (en onderliggende dopgehou) terug.
  • U kan dit ook gebruik om alles te vind wat ooreenstem met `n deel van die lêernaam. Byvoorbeeld, as jy baie dokumente met betrekking tot wikiHow het, kan jy hulle almal vind deur te tik "* wiki *".
  • Prent getiteld 690519 4
    4
    Maak seker dat jou soekresultate makliker is om te bestuur. As jy baie soekresultate kry, kan dit moeilik wees om deur hulle te waai. Gebruik die teken | en stuur die resultate na dit "uit"filter program. Dit kan baie makliker maak om die resultate te blaai en te filter.
    vind / huis / pat -iname "* .conf" | less
  • Prent getiteld 690519 5
    5
    Soek spesifieke soorte resultate. U kan parameters gebruik om slegs sekere resultate te wys. Jy kan soek vir gereelde lêers (f), gids `(d), simboliese skakels (l), karakter toestelle (c) en bloktoestelle (b), deur die korrekte parameter te gebruik.
    vind / -type f -iname "filename"
  • Getiteld titel 690519 6
    6
    Filter die soekresultate volgens grootte. As jy baie lêers met soortgelyke name het, maar jy weet die geskatte grootte van die lêer, kan jy die resultate verminder deur op grootte te filter.
    vind / grootte + 50M -iname "filename"
  • Dit gee resultate oor lêers groter as 50 megabytes. Jy kan + of - om meer of minder groot lêers te soek. Jy vertrek + of - manier, sal dit begin soek na lêers van exact die gespesifiseerde grootte.
  • U kan deur grepe filter (c), kilobytes (k), megabyte (M), gigabyte (G) of 512-byte blokke (b). Let daarop dat die grootte vlag hooflettergevoelig is.
  • Prent getiteld 690519 7
    7
    Gebruik logiese operateurs om verskillende soekfiltre te kombineer. Jy kan die -and, -or en -not operateurs, vir die kombinering van verskillende soorte soektogte gelyktydig.
    vind / reis foto`s-tipe f-grootte + 200k -nie -iname "* 2015 *"
  • Die opdrag sal lêers in die gids vind "reisfoto`s" wat groter is as 200 kilobytes, maar sonder "2015" in die lêernaam.
  • Prent getiteld 690519 8
    8
    Soek vir lêers deur eienaar of regte. As u `n spesifieke lêer soek wat deur `n gebruiker of lêers met sekere regte besit word, kan u die soektog verder fokus.


    vind / -gebruiker pat-iname "filename"vind / -group gebruikers -in "filename"vind / -perm 777 -iname "filename"
  • Die voorbeelde hierbo soek vir spesifieke gebruikers, groepe of regte. U kan ook die lêernaam uitlaat om alle lêers wat ooreenstem met die tipe, terug te stuur. Byvoorbeeld, vind / -perm 777 gee alle lêers terug met die 777 regte (geen beperkings).
  • Prent getiteld 690519 9
    9
    Kombineer opdragte om aksies uit te voer wanneer lêers gevind word. Jy kan dit beveel find kombineer met ander opdragte sodat jy dit kan uitvoer op die lêers wat die resultaat van die navraag is. Skei die opdrag find en die tweede bevel met die -exec-vlag, en sluit die lyn met {} -
    find. -type f -perm 777 -exec chmod 755 {} -
  • Dit sal die huidige gids (en alle subdirectories) soek vir lêers met 777 toestemmings. Dan word dit chmod-Opdrag gebruik om die permissies te verander na 755.
  • Metode 2
    Met behulp van "locate"

    Prent getiteld 690519 10
    1
    Installeer die.locate -funksie. Die opdrag locate werk gewoonlik baie vinniger as find, omdat dit `n databasis van jou lêerstruktuur gebruik. Nie alle Linux-verspreidings het hierdie kenmerk as standaard nie, so voer die volgende opdragte in om dit as moontlik te installeer:
    • Tik sudo apt-update en druk ⌅ Tik.
    • U kan dit in Debian en Ubuntu installeer op die volgende manier: Tik sudo apt-installeer mlocate en druk ⌅ Tik. as locate Alreeds geïnstalleer, sal u die boodskap ontvang mlocate is reeds die nuutste weergawe om te sien.
    • In Arch Linux gebruik jy die pacman pakket bestuurder: pacman -Syu mlocate
    • Vir Gentoo, gebruik jou opkoms: kom uit
  • Prent getiteld 690519 11
    2
    Dateer jou op.locate databasis. die locate- Opdrag sal niks kan vind tot op die oomblik dat `n databasis opgebou en opgedateer word nie. Dit word daagliks gedoen, maar jy kan dit ook handmatig uitvoer. Jy sal dit eers moet doen as jy reg is locate wil gebruik.
  • Tik sudo updatedb en druk ⌅ Tik.
  • Prent getiteld 690519 12
    3
    Gebruik.locate vir die uitvoer van eenvoudige soektogte. locate is vinnig, maar dit het nie soveel opsies as find. Jy kan dieselfde manier doen as met find Doen `n eenvoudige soektog.
    vind -i "*. Jpg"
  • Hierdie opdrag soek die hele stelsel vir lêers met die uitbreiding .jpg. Die joker * funksioneer op dieselfde manier as met find.
  • Net soos die opdrag find, sal -i ignoreer die hoofletters van die navraag.
  • Prent getiteld 690519 13
    4
    Beperk die resultate van jou soektog. As jou soektog tot gevolg het dat daar te veel resultate is om te kan gebruik, kan jy dit met die opsie dun -n, gevolg deur die aantal resultate wat jy wil vertoon.
    vind -n 20 -i "*. Jpg"
  • Slegs die eerste 20 resultate wat ooreenstem met die navraag sal vertoon word.
  • U kan ook die teken gebruik | Gebruik die resultate om die resultate deur die slotte te slaag less vir maklike blaai.
  • Metode 3
    Soek vir teks in lêers

    Prent getiteld 690519 14
    1
    Gebruik die opdrag.grep om na strings in lêers te soek. As u `n lêer soek wat `n spesifieke teks of string bevat, kan u die opdrag gebruik grep gebruik. `N Eenvoudige een grep- opdrag is opgebou op die volgende manier:
    grep -r -i "soektog" / pad / na / gids /
    • -r Stel die soektog op "rekursief"sodat dit die dopgehou in die huidige gids en al die subkeutels vir `n lêer met die string van die soektog soek.
    • -i beteken dat die navraag nie hooflettergevoelig is nie. As jy die soektog wil dwing om hooflettergevoelig te wees, moet jy die parameter verlaat -i weg.
  • Prent getiteld 690519 15
    2
    Los ekstra teks. Wanneer jy grep wat vir `n soektog gebruik word, soos hierbo aangedui, sal jy die lêernaam saam met die teks en die ooreenstemmende soektog sien, albei beklemtoon. Jy kan die ooreenstemmende teks versteek en die lêername net saam met die paaie vertoon deur die volgende by te voeg:
    grep -r -i "soektog" / pad / na / gids / | sny -d: -f1
  • Prent getiteld 690519 16
    3
    Versteek foutboodskappe. Die opdrag grep sal `n foutboodskap terugbring as dit probeer om dopgehou te kry sonder die nodige toestemming, of as dit leë dopgehou raak. U kan die foutboodskappe stuur na / dev / roll, sodat hulle nie meer in die soekresultate sal verskyn nie.
    grep -r -i "soektog" / pad / na / gids / 2>/ dev / roll
  • Deel op sosiale netwerke:

    Verwante