Kako najti datoteke in mape v Linuxu z ukazno vrstico
Večina ljudi uporablja grafični upravljalnik datotek za iskanje datotek v Linuxu, kot so Nautilus v Gnome, Dolphin v KDE in Thunar v Xfce. Vendar pa obstaja več načinov za uporabo ukazne vrstice za iskanje datotek v Linuxu, ne glede na to, kateri upravljalnik namizja uporabljate.
Uporaba ukaza Najdi
Ukaz »find« omogoča iskanje datotek, za katere poznate približna imena datotek. Najenostavnejša oblika ukaza išče datoteke v trenutnem imeniku in rekurzivno prek svojih podimenikov, ki ustrezajo podanim iskalnim kriterijem. Poiščete lahko datoteke po imenu, lastniku, skupini, vrsti, dovoljenjih, datumu in drugih merilih.
Če v ukazni vrstici vnesete naslednji ukaz, so vse datoteke, ki jih najdete v trenutnem imeniku.
najti .
Pika po »najdi« označuje trenutni imenik.
Če želite poiskati datoteke, ki ustrezajo določenemu vzorcu, uporabite -ime
prepir. Uporabite lahko meta-znake imena datotek (npr *
), vendar pa morate bodisi postaviti znak za izhod v sili ( \
) pred vsakim od njih ali jih priložite v narekovajih.
Na primer, če želimo poiskati vse datoteke, ki se začnejo z »pro« v imeniku »Dokumenti«, bi uporabili cd Dokumenti /
Če želite spremeniti ukaz v mapo Dokumenti, vnesite ta ukaz:
najti . -name pro \ t
Navedene so vse datoteke v trenutnem imeniku, ki se začnejo s »pro«.
OPOMBA: Ukaz za iskanje privzeto velja za velikost črk. Če želite, da iskanje besede ali besedne zveze ni občutljiva na velikost črk, uporabite -iname
z ukazom find. To je različica -ime
ukaz.
Če najti
ne najde datotek, ki ustrezajo vašim kriterijem, ne ustvarja nobenega izhoda.
Ukaz find ima na voljo veliko možnosti za izboljšanje iskanja. Če želite več informacij o ukazu find, zaženite človek najti
v oknu Terminal in pritisnite Enter.
Uporaba ukaza Locate
Ukaz find je hitrejši od ukaza find, ker uporablja predhodno vgrajeno bazo podatkov, medtem ko ukaz find najde v realnem sistemu prek vseh dejanskih imenikov in datotek. Ukaz poišče vrne seznam vseh imen poti, ki vsebujejo podano skupino znakov.
Baza podatkov se občasno posodablja iz cron, vendar jo lahko kadarkoli tudi sami posodobite, tako da lahko dobite najnovejše rezultate. To naredite tako, da v poziv vnesete naslednji ukaz:
sudo updatedb
Ko ste pozvani, vnesite svoje geslo.
Osnovna oblika ukaza poišči najde vse datoteke v datotečnem sistemu, ki se začnejo od korena in vsebujejo vse ali kateri koli del iskalnih kriterijev..
poiščite moje podatke
Zgornji ukaz je na primer našel dve datoteki, ki vsebujejo »mydata« in eno datoteko, ki vsebuje »podatke«.
Če želite poiskati vse datoteke ali imenike, ki vsebujejo natančno in samo vaše iskalne kriterije, uporabite -b
z ukazom poišče, kot sledi.
find -b '\ t
Poševnica nazaj v zgornjem ukazu je globusni znak, ki omogoča širjenje nadomestnih znakov v nespecifičnem imenu datoteke v niz določenih imen datotek. Nadomestni znak je simbol, ki ga lahko zamenjamo z enim ali več znaki. Najpogostejši znaki za nadomestne znake so vprašaj ( ?
), ki pomeni en znak in zvezdico ( *
), ki predstavlja skrajni niz znakov. V zgornjem primeru poševnica nazaj onemogoči implicitno zamenjavo »mydata« z »* mydata *«, tako da dobite le rezultate, ki vsebujejo »mydata«.
Ukaz mlocate je nova izvedba lociranja. Indeksira celoten datotečni sistem, vendar rezultati iskanja vključujejo samo datoteke, do katerih ima trenutni uporabnik dostop. Ko posodobite bazo podatkov mlocate, ohrani informacije o časovnem žigu v bazi podatkov. To omogoča, da Mlocate pozna, če je vsebina mape spremenjena brez ponovnega branja vsebine in omogoča hitrejše in manj zahtevne posodobitve baze podatkov na vašem trdem disku..
Ko namestite mlocate, se spremeni binarna datoteka / usr / bin / find, da kaže na mlocate. Če želite namestiti mlocate, če še ni vključen v distribucijo Linuxa, v pozivu vnesite naslednji ukaz.
sudo apt-get install mlocate
OPOMBA: V tem članku vam bomo pozneje pokazali ukaz, ki vam omogoča, da ugotovite, kje je izvršljiv ukaz za ukaz, če obstaja.
Ukaz mlocate ne uporablja iste datoteke baze podatkov kot standardni ukaz poišče. Zato lahko zbirko podatkov ročno ustvarite tako, da v pozivu vnesete naslednji ukaz:
sudo /etc/cron.daily/mlocate
Ukaz mlocate ne bo deloval, dokler se podatkovna zbirka ne ustvari ročno ali ko se skript izvaja iz cron.
Za več informacij o ukazu poišči ali mlocate vnesite človek poiščite
ali človek mlocate
v oknu Terminal in pritisnite Enter. Pri obeh ukazih se prikaže isti zaslon pomoči.
Uporaba ukazov Command
Ukaz “which” vrne absolutno pot izvršljive datoteke, ki se pokliče ob izdaji ukaza. To je koristno pri iskanju lokacije izvršljive datoteke za ustvarjanje bližnjice do programa na namizju, plošči ali drugem mestu v upravitelju namizja. Na primer, vnesite ukaz ki Firefox
prikaže rezultate, prikazane na spodnji sliki.
Privzeto je, kateri ukaz prikaže samo prvo ujemljivo izvedljivo datoteko. Za prikaz vseh ustreznih izvedljivih datotek uporabite -a
možnost z ukazom:
ki je kresnica
Iščete lahko več izvršnih datotek, ki jih uporabljate naenkrat, kot je prikazano na naslednji sliki. Prikažejo se samo poti do izvedljivih datotek. V spodnjem primeru je bila najdena samo izvedljiva datoteka »ps«.
OPOMBA: Ukaz, ki išče samo spremenljivko PATH trenutnega uporabnika. Če iščete izvedljivo datoteko, ki je na voljo le za uporabnika root kot običajen uporabnik, se rezultati ne bodo prikazali.
Za več informacij o tem, kateri ukaz, v ukazni poziv v oknu terminala vnesite »man which« (brez narekovajev) in pritisnite Enter.
Uporaba ukaza Whereis
Ukaz whereis se uporablja za ugotavljanje, kje se nahajajo datoteke binarne, izvorne in strani strani za ukaz. Na primer, tipkanje kje je kresnica
ob pozivu prikaže rezultate, kot je prikazano na naslednji sliki.
Če želite prikazati samo pot do izvedljive datoteke, ne pa poti do izvorne in človeške strani, uporabite -b
možnost. Na primer, ukaz kje -b firefox
bo prikazan samo / usr / bin / firefox
rezultat. To je priročno, ker boste najverjetneje pogosteje iskali izvršljivo datoteko programa, kot bi jo iskali za izvorne in priročne strani za ta program. Iščete lahko tudi samo izvorne datoteke ( -s
) ali samo za strani man ( -m
).
Za več informacij o ukazu whereis vnesite človek, kje
v oknu Terminal in pritisnite Enter.
Razumevanje razlike med poveljstvom in komando
Ukaz whereis vam pokaže lokacijo za binarne, izvorne in man strani za ukaz, medtem ko ukaz, ki prikazuje samo lokacijo binarnega za ukaz \ t.
Ukaz whereis išče po seznamu določenih imenikov za binarne, izvorne in človeške datoteke, medtem ko ukaz, ki išče direktorije, navedene v spremenljivki okolja PATH trenutnega uporabnika. Za ukaz whereis lahko najdete seznam specifičnih imenikov v razdelku FILES na straneh man za ukaz.
Ko so rezultati prikazani privzeto, ukaz whereis prikaže vse, kar najde, medtem ko ukaz, ki prikaže samo prvo izvedljivo datoteko, ki jo najde. To lahko spremenite z uporabo -a
možnost, o kateri je prej govoril.
Ker ukaz whereis v ukazu uporablja samo poti, ki so trdo kodirane, morda ne boste vedno našli tistega, kar iščete. Če iščete program, za katerega menite, da bi lahko bil nameščen v imeniku, ki ni naveden na straneh man za ukaz whereis, boste morda želeli uporabiti kateri ukaz z -a
možnost poiskati vse pojavitve ukaza v celotnem sistemu.