Efektyvesnio paieškos komandų paieškos būdai


Šioje pamokoje rasite įvairių būdų, kaip rasti katalogą „Linux“. Kaip jau žinote, ieškodami failo ar katalogo.

Failų paieškai komandinėje eilutėje naudojamos kelios skirtingos priemonės ir priemonės, tokios kaip rasti, rasti ir kuri Tačiau paskutinis įrankis (kuris) naudojamas tik komandai surasti.

Šios pamokos srityje daugiausia dėmesio skirsime paieškos įrankiui, kuris ieško failų tiesioginėje „Linux“ failų sistemoje ir yra efektyvesnis ir patikimesnis, palyginti su vietos nustatymu.

„Locate“ trūkumas yra tas, kad jis skaito vieną ar kelias „updateb“ sukurtas duomenų bazes, neieško per tiesioginę failų sistemą. Be to, jis taip pat nesuteikia lankstumo ieškant (pradinis taškas).

Žemiau yra komandos „locate“ paleidimo sintaksė:

# locate [option] [search-pattern]

Jei norite parodyti lokalizavimo trūkumą, tarkime, kad dabartiniame darbo kataloge ieškome katalogo pavadinimu pkg .

Pastaba: Žemiau esančioje komandoje parinktis - pagrindo vardas arba -b nurodo locate tik atitikti failo (katalogo) bazinį pavadinimą (kuris yra tiksliai pkg), bet ne kelią (/ kelias/į/pkg). Jei \ yra globbing simbolis, jis neleidžia numanomo pkg pakeitimo * pkg *.

$ locate --basename '\pkg'

Kaip matote iš aukščiau esančios komandos išvesties, „locate“ ieškos pradedant nuo šakninio (/) katalogo, todėl kiti katalogai tuo pačiu pavadinimu yra suderinti.

Todėl, norėdami išspręsti šią problemą, naudokite „Find“ vadovaudamiesi toliau pateikta supaprastinta sintakse:

$ find starting-point options [expression]

Pažvelkime į keletą pavyzdžių.

Norėdami ieškoti to paties katalogo (pkg) aukščiau, dabartiniame darbiniame kataloge, vykdykite šią komandą, kur vėliava -name nuskaito išraišką, kuri šiuo atveju yra katalogo bazinis vardas.

$ find . -name "pkg"

Jei susiduriate su klaidomis „Uždraustas leidimas“, naudokite „sudo“ komandą taip:

$ sudo find . -name "pkg"

Galite užkirsti kelią paieškai ieškoti kitų failų tipų, išskyrus katalogus, naudodami vėliavą -type , nurodydami failo tipą (žemiau esančioje komandoje d reiškia katalogą) taip:

$ sudo find . -type d -name "pkg"

Be to, jei norite katalogą pateikti ilgo sąrašo formatu, naudokite veiksmo jungiklį -ls :

$ sudo find . -type d -name "pkg" -ls

Tada parinktis -iname įgalins didžiųjų ir mažųjų raidžių paiešką:

$ sudo find . -type d -iname "pkg" 
$ sudo find . -type d -iname "PKG" 

Norėdami rasti daugiau įdomios ir pažangesnės informacijos apie naudojimą, perskaitykite ieškos ir vietos ieškojimo puslapius.

$ man find
$ man locate

Paskutinė pastaba: „find“ komanda yra patikimesnė ir efektyvesnė ieškant failų (ar katalogų) „Linux“ sistemoje, kai ji palyginama su komanda locate.

Panašiai kaip ir anksčiau, nepamirškite atsiųsti savo atsiliepimų ar klausimų per toliau pateiktą komentarų skyrių. Galiausiai, visada likite prisijungę prie „Tecmint“.