28Jun

Kako najti datoteke in mape v Linuxu z ukazno vrstico

Večina ljudi uporablja grafični upravitelj datotek, da najde datoteke v Linuxu, kot so Nautilus v Gnomeu, Dolphin v KDE in Thunar v Xfce. Vendar pa lahko v ukazni vrstici uporabite več načinov za iskanje datotek v Linuxu, ne glede na to, kateri upravljalnik namizja uporabljate.

Uporaba ukaza Find

Ukaz "find" vam omogoča iskanje datotek, za katere poznate približna imena datotek. Najpreprostejša oblika ukaza išče datoteke v trenutnem imeniku in rekurzivno prek svojih podimenikov, ki se ujemajo s priloženimi kriteriji iskanja. Datoteke lahko iščete po imenu, lastniku, skupini, vrsti, dovoljenjih, datumu in drugih merilih.

Vnesite naslednji ukaz v pozivu z vsemi datotekami, ki jih najdemo v trenutnem imeniku.

najde.

Pika po "najde" označuje trenutni imenik.

Če želite poiskati datoteke, ki ustrezajo določenemu vzorcu, uporabite argument -name. Metacharacters filename lahko uporabite( npr. *), Vendar morate pred vsakim od njih postaviti znak za pobeg( \) ali jih priložiti v narekovaje.

Če na primer želimo poiskati vse datoteke, ki se začnejo z "pro" v imeniku Dokumenti, bomo z ukazom cd Documents / ukaz spremenili v imenik Dokumenti in vnesli naslednji ukaz:

find.-name pro \ *

V seznamu so vse datoteke v trenutnem imeniku, ki se začnejo z "pro".

OPOMBA: ukaz za iskanje naj bi privzeto upošteval velike in male črke.Če želite, da je iskanje besede ali fraze neustrezno, uporabite možnost -iname z ukazom find. To je neobčutljiva različica ukaza -name.

Če iskanje ne najde nobene datoteke, ki ustreza vašim merilom, ne proizvaja nobenega izhoda.

Ukaz za iskanje ima na voljo veliko možnosti za izboljšanje iskanja.Če želite več informacij o ukazu find, zaženite človeka v oknu Terminal in pritisnite Enter.

Uporaba ukaza Locate

Ukaz locate je hitrejši od ukaza find, ker uporablja predhodno zgrajeno bazo podatkov, medtem ko se ukaz find najde v pravem sistemu z vsemi dejanskimi imeniki in datotekami. Ukaz locate vrne seznam vseh imen poti, ki vsebujejo določeno skupino znakov.

Baza podatkov se redno posodablja iz cron-a, vendar jo lahko kadarkoli posodobite tudi sami, tako da lahko pridobite najnovejše rezultate.Če želite to narediti, vnesite naslednji ukaz na poziv:

sudo updatedb

Vnesite svoje geslo, ko ste pozvani.

Osnovna oblika ukaza locate najde vse datoteke v datotečnem sistemu, ki se začnejo v korenu in vsebujejo vse ali kateri koli del iskalnih kriterijev.

poišči mydata

Na primer, zgoraj ukaz je 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 kriterije iskanja, uporabite opcijo -bukaz locate, kot sledi.

poišči -b '\ mydata'

Backslash v zgornjem ukazu je globalni znak, ki omogoča način razširjanja nadomestnih znakov v nespecifično ime datoteke v niz določenih imen datotek. Majhna ikona je simbol, ki ga lahko zamenjate z enim ali več znaki, ko se izraz izračuna. Najpogostejši simboli za nadomestne znake so vprašljiva znamka( ?), Ki označuje samo en znak in zvezdico( *), ki pomeni sosednji niz znakov. V zgornjem primeru backslash onemogoči implicitno zamenjavo "mydata" z "* mydata *", tako da boste na koncu dobili le rezultate, ki vsebujejo "mydata."

Ukaz mlacate je nova izvedba locate. Indeksira celoten datotečni sistem, rezultati iskanja pa vsebujejo le datoteke, do katerih ima trenutni uporabnik dostop. Ko posodabljate podatkovno bazo podatkov, ohranja podatke o časovni žigi v bazi podatkov. To omogoća, da bi vedel, ali se je vsebina imenika spremenila, ne da bi ponovno prebrala vsebino, in da posodobitve baze podatkov hitreje in manj zahtevne na trdem disku.

Ko namestite mlocat, /usr/bin/ poišče spremembe v binarni datoteki, da kažejo, da žarki.Če želite namestiti mlocate, če to še ni vključeno v vašo distribucijo Linuxa, v pozivu vnesite naslednji ukaz.

sudo apt-get namestite mlocate

OPOMBA: Pokazali vam bomo ukaz kasneje v tem članku, ki vam omogoča, da določite, kje se nahaja izvršljiva datoteka za ukaz, če obstaja.

Ukaz mlocate ne uporablja isto datoteko zbirke podatkov kot standardni ukaz za lociranje. Zato lahko ročno ustvarite bazo podatkov tako, da na poziv vnesete naslednji ukaz:

sudo /etc/cron.daily/ mlocate

Ukaz mlocate ne bo deloval, dokler baze podatkov ne ustvarite ročno ali kadar se skript izvaja iz cron-a.

Če želite več informacij o ukazu locate ali ukazu mlocate, vnesite človeka, ki ga želite najti, ali človeka v okence Terminal in pritisnite Enter. Na obeh ukazih se prikaže isti zaslon pomoči.

Uporaba katerega ukaza

Ukaz "ki" vrne absolutno pot izvedene datoteke, ki se kliče, ko je ukaz izdan. To je uporabno pri iskanju lokacije izvedljivke za ustvarjanje bližnjice do programa na namizju, na plošči ali drugem mestu v upravitelju namizja. Na primer, vnesite ukaz, kateri firefox prikaže rezultate, prikazane na spodnji sliki.

Privzeto je ukaz, ki prikaže samo prvo ujemajočo se izvršljiv.Če želite prikazati vse ujemajoče izvedljive datoteke, uporabite opcijo -a z ukazom:

, ki -a firefox

Večkratne datoteke lahko poiščete z uporabo hkrati, kot je prikazano na naslednji sliki. Prikazane so le poti do najdenih datotek. V spodnjem primeru je bila najdena samo "ps" izvršljiva.

OPOMBA: ukaz, ki išče samo spremenljivko PATH trenutnega uporabnika.Če iščete izvedljivo datoteko, ki je uporabniku root na voljo le kot navaden uporabnik, se ne bodo prikazali nobeni rezultati.

Za več informacij o tem ukazu vnesite »človeka, ki«( brez navodil) v ukaznem pozivu v oknu Terminal in pritisnite Enter.

Uporaba ukaza Whereis

Ukaz whereis se uporablja za ugotavljanje, kje se nahajajo datoteke binarne, izvorne in manjše strani za ukaz. Na primer, tipkanje whereis firefox v pozivu prikaže rezultate, kot je prikazano na naslednji sliki.

Če želite prikazati samo pot do izvedljive datoteke, ne pa poti do strani vira in man( ual), uporabite možnost -b. Na primer, ukaz, pri katerem -b firefox, prikaže samo /usr/bin/ firefox kot rezultat. To je priročno, saj boste najverjetneje bolj iskali programsko izvedljivo datoteko, kot bi iskali izvorne in manjše strani za ta program. Prav tako lahko iščete le izvorne datoteke( -s) ali samo za strani z mani( -m).

Za več informacij o ukazu whereis vnesite man whereis v okno Terminal in pritisnite Enter.

Razumevanje razlike med ukazom Whereis in katerim ukazom

Ukaz whereis prikazuje lokacijo binarnih, izvornih in človeških strani za ukaz, pri čemer vam ukaz samo prikazuje lokacijo binarnega ukaza.

Ukaz whereis išče po seznamu posebnih imenikov za binarne, izvorne in človeške datoteke, pri čemer ukaz išče imenike, navedene v spremenljivi okoljski spremenljivki PATH v trenutnem uporabniku. Za ukaz whereis je seznam posebnih imenikov na voljo v razdelku FILES na straneh čarovnika za ukaz.

Ko gre za privzeto prikazane rezultate, ukaz whereis prikaže vse, kar najde, pri čemer ukaz, ki prikaže samo prvo izvedljivo napravo. To lahko spremenite z možnostjo -a, o kateri je bil predhodno obravnavan.

Ker ukaz whereis uporablja le poti, ki so trdno kodirani v ukaz, morda ne boste vedno našli tistega, kar iščete.Če iščete program, za katerega menite, da je lahko nameščen v imeniku, ki ni naveden na straneh čarovnika za ukaz whereis, boste morda želeli uporabiti ta ukaz z možnostjo -a, da poiščete vse pojavitve ukaza v celotnem sistemu.