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.