Isang pag-refresh sa paghahanap: maghanap ng mga file sa iyong distro sa Linux

Pagpapalakas ng baso

Ang paghahanap para sa mga file at direktoryo ay medyo madali sa kasalukuyang mga search engine na isinama sa mga tagapamahala ng file, ngunit kung minsan mas gusto naming gamitin ang terminal nang higit pa, o maaaring wala kaming pagpipilian kundi gamitin ang terminal dahil wala kaming isang grapikong kapaligiran. Kaya, Akala ko kagiliw-giliw na suriin ang hanapin, isang kilalang utos, ngunit isang bagay na nakalimutan ng napakalaking paggamit ng mga grapikong kapaligiran.

Kaya, hanapin, tulad ng ipinahihiwatig ng pangalan nito, ay walang silbi para sa anupaman kaysa sa upang hanapin ang mga file, bagaman mayroon itong iba pang mga kahalili tulad ng hanapin, atbp., magtutuon kami sa paghahanap, dahil napakalakas nito at pinapayagan kaming maraming mga kagiliw-giliw na pagpipilian upang matagumpay na maisagawa ang aming paghahanap. Kung gagamitin namin ito bilang, nang walang anumang pagpipilian, kung ano ang gagawin nito ay ilunsad ang isang listahan na katulad sa isang makukuha namin sa isang ls, ng mga nilalaman ng isang buong direktoryo (at mga subdirectory).

Ngunit hindi ito ang nakakainteres sa atin, ang nais namin ay upang ipasadya at pinuhin nang kaunti pa ang paghahanap upang maging mas tumpak at matulungan kaming hanapin kung ano talaga ang hinahanap namin. Upang maunawaan kung paano ito gumagana, sa palagay ko walang mas mahusay na paraan kaysa sa magpakita ng mga praktikal na halimbawa ng paghahanap:

  • Upang maghanap ayon sa pangalan, maaari naming gamitin ang pagpipilian o pamantayan sa paghahanap na «-pangalan». Halimbawa, ang unang halimbawa ay naghahanap ng mga file / direktoryo na may pangalan na nagsisimula sa "musi", ang pangalawa na nagtatapos sa "eon", at ang huling naglalaman ng salitang "natagpuan" sa loob ng ugat / direktoryo:
find / -name "musi*"

find / -name "*eon"

find / -name "fundar"

  • Mayroong isang pagpipilian na tinatawag na -type, na maaaring magsilbing isang filter at maaaring magamit kasama ng -name. Sa kasong ito nagsisilbi ito sa tukuyin ang uri ng file na hahanapin. Sa B naghahanap kami ng mga espesyal na file sa block mode, na may C para sa mga espesyal na file sa character mode, D para sa mga direktoryo, F para sa ordinaryong mga file, L para sa mga simbolikong link, P para sa pinangalanang tubo at S para sa Socket o koneksyon sa network. Halimbawa, ipagpalagay na nais mong maghanap para sa isang direktoryo na may "hello" sa dulo ng pangalan nito at sa direktoryo ng Home / user:
find /Home/usuario -name "*hola" -type D

  • Pwede rin tayo paghahanap sa pamamagitan ng gumagamit o pangkat kung saan ito kabilang isang direktoryo o mga file sa system. Para doon, maaari naming gamitin ang pamantayan ng -user at -group. Ngayon isipin na nais mong makahanap ng isang file na naglalaman ng «.mp3» ng gumagamit na «Rosa» at ang pangkat na «Mga Pusa» sa direktoryo ng Mga Pag-download:
find /Descargas -name ".mp3" -user Rosa -group Gatos

  • Ang laki ay maaaring makatulong sa amin na maghanap ayon sa laki. Sa kasong ito mayroon kaming iba't ibang mga pagpipilian upang mag-apply. Ipapahiwatig ng A B ang bloke, kung ang laki ay hindi ipinahiwatig, sa pamamagitan ng default ito ay 512 bytes. C para sa 1-byte ASCII character, W para sa 2-byte (old) na mga salita, at K para sa KiloBytes o 1024 bytes. Halimbawa, kung nais naming maghanap sa / para sa isang file na 2560 bytes (5 bloke · 512), isa pa sa 10 mga character na ASCII, isa pang 100KBs, isa sa mas mababa sa 5MB at isa pa na higit sa 30KB:
find / -size 5

find / -size 10c

find / -size 100K

find / -size -5000K

find / -size +30K

Siyempre, -ang laki ay magiging maaaring isama sa lahat ng pamantayan sa paghahanap nauuna at likuran, sa gayon makakakuha tayo ng mas tumpak na mga resulta ...

  • Maaari mong kahit maghanap ayon sa temporal na pamantayan. Sa -atime maaari kang maghanap sa pamamagitan ng petsa ng huling pag-access. -panahon ayon sa petsa ng pagbabago ng nilalaman at -ctime ayon sa petsa ng huling pagbabago ng inode. Halimbawa, nais naming maghanap / Home para sa isang direktoryo na tinatawag na "hello", na kabilang sa gumagamit na "Zaca" at nabago ito nang mas mababa sa 3 araw na ang nakakaraan:
find /Home -name "hola" -user Zaca -mtime -3

  • Mayroong higit pang mga pamantayan maghanap bilang -perm upang maghanap para sa mga pahintulot sa pag-access o mga pahintulot, -link upang maghanap para sa matitigas na mga link, -inum para sa numero ng inode. Pumunta tayo sa aming huling halimbawa, sa kasong ito, maghanap kami ng isang direktoryo sa kasalukuyang direktoryo na ang mga pahintulot ay kabuuan para sa may-ari ng gumagamit at pangkat, at pagpapatupad para sa iba pa:
find -type d -perm 771

Minsan hindi namin alam ang potensyal ng terminal at gumagamit ng iba pang mga tool na maaaring hindi payagan ang kakayahang umangkop ng kung ano ay likas na. Kaya't inaasahan kong may natulungan ako sa mababang artikulong ito. Magsaya at iwanan ang iyong mga komento...


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   mga pangalan dijo

    Hindi ako nalibang, ngunit nakatulong ito sa akin ng kaunti