Kako najti datoteko po imenu v Linuxu

Brez težav poiščite svoje datoteke v ukazni vrstici v Linuxu

Uporabniki običajno poskušajo najti datoteko z uporabo GUI. Vendar včasih postane zelo dolgočasno iskanje posamezne datoteke v ogromnem kupu datotek v vašem sistemu. Konvencionalno iskanje je lahko dolgotrajna naloga. Da bi olajšali to nalogo, Linux ponuja določene ukaze, s katerimi lahko opravite to delo namesto vas.

najti je priljubljen ukaz, ki se uporablja v sistemih Linux in vam lahko pomaga pri iskanju različnih datotek glede na njihova imena, vrsto, razširitev, dovoljenja, lastnika itd.

V tej vadnici se bomo osredotočili na iskanje datotek po imenu. Pogledali bomo različne argumente, ki jih je mogoče uporabiti z najti ukaz. Izvedeli bomo tudi o poiščite ukaz, ki je tudi hitrejši način za iskanje datotek po imenu.

Sintaksa za najti ukaz

Uporabljati najti ukaz na ustrezen način lahko olajša vašo nalogo. Iskanje datotek določene vrste ali končnice ali iskanje po imenu bo mogoče, če dobro razumete splošno sintakso tega ukaza.

Splošna sintaksa za najti ukaz je naslednji.

najdi [iskanje_pot] [izraz] [možnosti] [najdi_kaj]

Poskušal sem poenostaviti sintakso najti ukaz za boljše razumevanje ukaza.

Oglejmo si vsak atribut sintakse, da dobimo predstavo o pomenu vsakega od njih.

Search_Path: Tukaj je pot, kjer določimo pot, od koder želimo, da sistem začne iskati datoteko. Skratka, podan je začetni imenik za začetek iskanja.

Izraz: Določite lahko vzorce iskanja za določeno datoteko, ki jo iščete.

Opcije: Uporabite lahko razpoložljive možnosti, ki jih uporabljate z najti ukaz v tem prostoru.

Najdi kaj: V ta atribut vnesite ime ali del imena datoteke, ki jo želite iskati.

Ponazorimo ta ukaz s primerom.

najdi /home/gaurav/workspace -name "source.c"

V tem ukazu uporabljam najti ukaz za iskanje datoteke "source.c". Izrecno sem prosil za iskanje na poti '/home/gaurav/workspace'. Uporabljati -ime možnost mi omogoča iskanje po datoteki, določeni z 'source.c'.

To je najpreprostejši prikaz uporabe najti ukaz.

Iskanje datotek v trenutnem imeniku

Uporabljati najti ukaz v svoji najpreprostejši obliki je iskanje vaših datotek v trenutnem delovnem imeniku.

najti .

Ta ukaz bo prikazal vse datoteke v vašem trenutnem delovnem imeniku. Tukaj "." pomeni "trenutni delovni imenik". Sledi izhod iz mojega trenutnega delovnega imenika. Vse datoteke v tem imeniku so navedene brez filtrov

Izhod:

. ./context_log.policy ./snap ./snap/couchdb ./snap/couchdb/current ./snap/eclipse ./snap/eclipse/current ./snap/vim-editor ./snap/vim-editor/current ./ snap/vim-editor/common ./snap/vim-editor/1 ./snap/htop ./snap/htop/current ./snap/htop/common ./snap/htop/common/.local ./snap/htop /common/.local/lib ./snap/htop/common/.local/lib/locale ./snap/htop/common/.local/lib/locale/en_IN.UTF-8 ./snap/htop/common/. local/lib/locale/en_IN.UTF-8/LC_CTYPE

Za iskanje datoteke, katere približno ime je znano, uporabite najti ukaz, kot je prikazano spodaj.

najti . -name [string_from_filename\*]

Primer:

najti . -ime kontekst\*

Ta ukaz išče datoteke, ki vsebujejo niz 'kontekst'.

Izhod:

./context_log.policy ./context.xml ./context_preview.c

Navedene so vse datoteke v trenutnem imeniku, ki vsebuje niz 'kontekst'.

Zdaj se težava pojavi s tem ukazom, ko si poskušate vzeti svobodo glede občutljivosti velikih in malih črk, medtem ko vnašate ime datoteke ali približen niz.

Linux je precej previden glede občutljivosti na velike in male črke in zato obstaja velika verjetnost, da vaše iskanje ne bo uspelo. Ne bom dobil izhoda za ukaz find, če uporabim niz kot »CONTEXT« namesto »context«. Tudi če je ena črka v imenu datoteke drugačna od črke izvirnega imena datoteke, iskanje ne bo uspelo.

Ampak ni treba skrbeti za to. Lahko preprosto zamenjate -ime možnost z -ime. To vam omogoča iskanje datotek ne glede na primere, v katerih je njihovo ime. Samo naredite to preprosto spremembo svojega ukaza in vse bo v redu.

najti . -iname NADALJE\*

Izhod bo enak, tudi če sem uporabil niz v velikih črkah.

./context_log.policy ./context.xml ./context_preview.c

Iskanje datotek v različnih imenikih

Datoteke lahko preprosto iščete v katerem koli imeniku v sistemu Linux, ne glede na imenik, v katerem trenutno delate.

najdi [pot_imenika] -iname [specifično_ime_datoteke]

Primer:

poiščite /home/gaurav/tomcat -iname ath.html

Tukaj sem iskal določeno datoteko 'ath.html' in ne datoteke, podobne temu nizu. Torej bo izhod samo določena datoteka, kot je omenjeno zgoraj.

/home/gaurav/tomcat/ath.html

Zdaj pa recimo, da ne poznamo celotnega imena datoteke, ampak le niz tega imena datoteke. Nato lahko datoteke iščemo na naslednji način.

najdi /home/gaurav/tomcat -iname ath\*

Ta ukaz bo poiskal vse datoteke, ki na začetku vključujejo niz 'ath'. Uporabil sem -ime možnost tukaj, tako da mi ni treba skrbeti za občutljivost velikih in malih črk.

Izhod:

/home/gaurav/tomcat/ATHENIAN_ART.html /home/gaurav/tomcat/ath_things.html /home/gaurav/tomcat/ath.html /home/gaurav/tomcat/ATHENIAN_ART.pdf /home/gaurav/tomcat/ATHHHHhow.html

Ukaz lahko uporabite tudi za iskanje po več datotekah, ki se v svojem imenu končajo s podobno pripono.

Primer:

najdi /home/gaurav/tomcat -iname "*.c"

Ukaz bo poiskal vse datoteke v določenem imeniku, ki vsebuje .c kot pripono v njihovem imenu datoteke.

Izhod:

/home/gaurav/tomcat/stiil.c /home/gaurav/tomcat/project/temp.c /home/gaurav/tomcat/copy.c /home/gaurav/tomcat/gy.c

Izvedeli smo o najti ukaz za iskanje datotek, določenih z imenom datoteke. Zdaj pa raziščimo še en ukaz, ki je hitrejši od običajnega najti ukaz.

poiščite pregled ukazov

Obstaja še en ukaz za iskanje datotek v vašem sistemu, ki je hitrejši od ukaza najti ukaz. To je poiščite ukaz. Ta ukaz ni vnaprej nameščen v distribucijah Linuxa. Za prenos in namestitev lahko uporabite naslednje korake poiščite ukazni paket na vaš sistem.

Za sisteme Ubuntu in Debian, uporaba:

sudo apt posodobitev sudo apt install mlocate

Za sisteme Cent Os in Fedora, uporaba:

sudo yum namestite mlocate

Ukaz locate išče datoteko v skladu z danim vzorcem v vhodu. poiščite uporablja datoteko baze podatkov za iskanje datotek, to datoteko baze podatkov ustvari updatedb ukaz.

sudo updatedb

Čas, potreben za posodobitev te datoteke zbirke podatkov, se lahko razlikuje od uporabnika do uporabnika, odvisno od datotek v vašem sistemu.

Uporabljati poiščite ukaz

Lahko uporabite poiščite ukaz na naslednji način. Ne pozabite posodobiti datoteke baze podatkov z ukazom sudo updatedb.

sintaksa:

poišči [ime_datoteke_ali_del_ime_datoteke]

Ta ukaz bo začel iskanje iz korenskega imenika. Vrnil bo seznam vseh datotek v sistemu, ki vsebuje ime datoteke ali del imena datoteke, kot je navedeno v ukazu.

Primer:

poiščite copy.c

Izhod:

/home/gaurav/Downloads/git-2.23.0/copy.c /snap/core/9804/usr/lib/python3.5/__pycache__/copy.cpython-35.pyc /snap/core/9993/usr/lib /python3.5/__pycache__/copy.cpython-35.pyc /snap/core18/1880/usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /snap/core18/1885/usr3/lib/python .6/__pycache__/copy.cpython-36.pyc /snap/core20/634/usr/lib/python3.8/__pycache__/copy.cpython-38.pyc /usr/lib/python3.5/__pycache__/copy.c -35.pyc /usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /usr/share/icons/MacBuntu-OS/apps/128/copy.com.png

Označena vrstica kaže, da je najdena natančna datoteka 'copy.c'. Skupaj s tem rezultatom so prikazane tudi nekatere druge datoteke, ki vsebujejo 'copy.c' kot del njihovega imena datoteke.

Da bi se izognili neredu drugih neželenih datotek in našli le želeno datoteko, lahko uporabite ukaz locate na naslednji način.

poišči -b '\ime datoteke'

Primer:

poiščite -b '\copy.c'

Izhod:

/home/gaurav/Downloads/git-2.23.0/copy.c

Določena datoteka, omenjena v iskalnih kriterijih, je navedena skupaj s potjo imenika, kjer se nahaja.

Uporabljati poiščite ukaz se morda zdi nekoliko zapleten, vendar je hitrejši način za iskanje datotek, če ne veste natančne lokacije te datoteke. Pridobivanje datotek postane zelo hitro, ko posodobite datoteko baze podatkov, ki jo uporablja ukaz locate.

Zaključek

V tej kratki vadnici smo spoznali dva pomembna ukaza, najti in poiščite. Zdaj lahko preprosto iščete datoteke v vašem sistemu, ne da bi se izgubili v nizu datotek. Uporaba teh ukazov se bo zagotovo izkazala za prihranek časa in učinkovita za vašo nalogo iskanja datotek.