Otsige oma failid hõlpsalt üles Linuxi käsurealt
Tavaliselt püüavad kasutajad leida faili GUI abil. Mõnikord muutub aga süsteemi tohutust failihunnikust üksiku faili leidmine väga tüütuks tööks. Selle tavapärane leidmine võib olla aeganõudev ülesanne. Selle ülesande hõlbustamiseks pakub Linux teatud käske selle töö tegemiseks.
leida
on Linuxi süsteemides kasutatav populaarne käsk, mis aitab teil otsida erinevaid faile nende nimede, tüübi, laienduse, lubade, omaniku jne alusel.
Selles õpetuses keskendume failide otsimisele nime järgi. Vaatleme erinevaid argumente, mida saab koos kasutada leida
käsk. Samuti õpime tundma asukoha määramine
käsk, mis on ka kiirem viis failide otsimiseks nime järgi.
Süntaks jaoks leida
käsk
Kasutades leida
õigel viisil antud käsk võib teie ülesande lihtsamaks muuta. Teatud tüüpi või laiendiga failide leidmine või nime järgi otsimine on võimalik, kui mõistate hästi selle käsu üldist süntaksit.
Üldine süntaks jaoks leida
käsk on järgmine.
leia [otsingutee] [avaldis] [valikud] [leida_mida]
Olen püüdnud süntaksit lihtsustada leida
käsku, et käsku paremini mõista.
Vaatame süntaksi iga atribuuti, et saada aimu igaühe tähendusest.
Search_Path: Siit tuleb tee, kus me määrame tee, kust soovime, et süsteem alustaks faili otsimist. Lühidalt öeldes on määratud otsingu alustamise alguskataloog.
Väljendus: Saate määrata konkreetse otsitava faili otsingumustrid.
Valikud: saate kasutada koos kasutatavaid saadaolevaid valikuid leida
käsk selles ruumis.
leia_mida: sisestage sellesse atribuuti otsitava faili nimi või osa nimest.
Illustreerime seda käsku näitega.
leidke /home/gaurav/workspace -nimi "source.c"
Selles käsus kasutan leida
käsk faili "source.c" otsimiseks. Olen palunud konkreetselt otsida teel „/home/gaurav/workspace”. Kasutades -nimi
suvand võimaldab mul otsida lähtekoodiga „source.c” määratud failist.
See on lihtsaim esitlus selle kasutamiseks leida
käsk.
Failide otsimine praegusest kataloogist
Kasutades leida
käsk lihtsaimal kujul on failide otsimine praegusest töökataloogist.
leida .
See käsk kuvab kõik teie praeguses töökataloogis olevad failid. Siin on ".
" tähendab "praegust töökataloogi". Järgmine on minu praeguse töökataloogi väljund. Kõik selles kataloogis olevad failid on loetletud ilma filtriteta
Väljund:
. ./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
Faili otsimiseks, mille ligikaudne nimi on teada, kasutage nuppu leida
käsk, nagu allpool näidatud.
leida . -nimi [string_faili_nimest\*]
Näide:
leida . -nime kontekst\*
See käsk otsib faile, mis sisaldavad stringi "kontekst".
Väljund:
./context_log.policy ./context.xml ./context_preview.c
Kõik praeguses kataloogis olevad failid on loetletud, mis sisaldab stringi "kontekst".
Nüüd tekib probleem selle käsuga, kui proovite failinime või ligikaudse stringi tippimisel võtta vabadust tõstutundlikkuse osas.
Linux on tõstutundlikkuse suhtes üsna ettevaatlik ja seetõttu on suur tõenäosus, et teie otsing võib ebaõnnestuda. Ma ei saa otsingukäsu jaoks väljundit, kui kasutan stringi konteksti asemel KONTEKST. Isegi kui üks täht failinimes on algsest failinimest erinevas tähes, siis otsing nurjub.
Kuid selle pärast pole vaja muretseda. Saate lihtsalt asendada -nimi
valik koos -nimi
. See võimaldab teil faile otsida olenemata nende nimede juhtudest. Lihtsalt tehke oma käsus see lihtne muudatus ja kõik läheb hästi.
leida . -nimi CONT\*
Väljund on sama, isegi kui olen kasutanud stringi suurtähtedega.
./context_log.policy ./context.xml ./context_preview.c
Failide otsimine erinevatest kataloogidest
Saate hõlpsasti otsida faile Linuxi süsteemi mis tahes kataloogist, olenemata sellest, millises kataloogis parajasti töötate.
leia [kataloogi_tee] -nimi [konkreetne_failinimi]
Näide:
leidke /home/gaurav/tomcat -iname ath.html
Siin olen otsinud konkreetset faili „ath.html”, mitte selle stringiga sarnaseid faile. Nii et väljundiks on ainult konkreetne fail, nagu eespool mainitud.
/home/gaurav/tomcat/ath.html
Oletame nüüd, et me ei tea täielikku failinime, vaid ainult selle failinime stringi. Seejärel saame faile otsida järgmisel viisil.
leia /home/gaurav/tomcat -nimi ath\*
See käsk otsib kõiki faile, mille alguses on string "ath". Olen kasutanud -nimi
siin, nii et ma ei pea tõstutundlikkuse pärast muretsema.
Väljund:
/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
Samuti saate käsu abil otsida mitut faili, mille nimes on sarnane laiend.
Näide:
leidke /home/gaurav/tomcat -nimi "*.c"
Käsk otsib kõik failid määratud kataloogist, mille failinimes on laiendus .c.
Väljund:
/home/gaurav/tomcat/stiil.c /home/gaurav/tomcat/project/temp.c /home/gaurav/tomcat/copy.c /home/gaurav/tomcat/gy.c
Saime teada leida
käsk failinimega määratud failide otsimiseks. Nüüd uurime veel üht käsku, mis on tavalisest kiirem leida
käsk.
asukoha määramine
käsu ülevaade
Teie süsteemis failide otsimiseks on veel üks käsk, mis on kiirem kui leida
käsk. See on asukoha määramine
käsk. See käsk ei ole Linuxi distributsioonidele eelinstallitud. Selle allalaadimiseks ja installimiseks võite kasutada järgmisi samme asukoha määramine
käsupakett oma süsteemi.
Ubuntu ja Debiani süsteemide jaoks, kasutage:
sudo apt värskendus sudo apt install mlocate
Cent Os ja Fedora süsteemidele, kasutage:
sudo yum install mlocate
Käsk locate otsib faili vastavalt sisendis antud mustrile. asukoha määramine
kasutab failide otsimiseks andmebaasifaili, selle andmebaasifaili genereerib uuendatudb
käsk.
sudo updatedb
Selle andmebaasifaili värskendamiseks kuluv aeg võib olenevalt teie süsteemis olevatest failidest kasutajati erineda.
Kasutades asukoha määramine
käsk
Saate kasutada asukoha määramine
käsu järgmisel viisil. Värskendage kindlasti oma andmebaasi faili käsuga sudo updatedb
.
Süntaks:
leidke [failinimi_või_failinime_osa]
See käsk alustab otsingut juurkataloogist. See tagastab kõigi süsteemis olevate failide loendi, mis sisaldab failinime või osa failinimest, nagu on määratud käsus.
Näide:
leidke koopia.c
Väljund:
/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/usr/lib/python3 .6/__pycache__/copy.cpython-36.pyc /snap/core20/634/usr/lib/python3.8/__pycache__/copy.cpython-38.pyc /usr/lib/python3.5/__pycache__hon/copy.cpyt -35.pyc /usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /usr/share/icons/MacBuntu-OS/apps/128/copy.com.png
Esiletõstetud rida näitab, et leitud on täpne fail "copy.c". Koos selle tulemusega kuvatakse ka teatud muud failid, mille failinime osana on "copy.c".
Teiste soovimatute failide segaduse vältimiseks ja ainult soovitud faili leidmiseks võite kasutada käsku locate järgmisel viisil.
leidke -b '\failinimi'
Näide:
leidke -b '\copy.c'
Väljund:
/home/gaurav/Downloads/git-2.23.0/copy.c
Otsingukriteeriumides mainitud konkreetne fail on loetletud koos selle kataloogi teega, kus see asub.
Kasutades asukoha määramine
käsk võib tunduda pisut keeruline, kuid see on kiirem meetod failide otsimiseks, kui te ei tea selle faili täpset asukohta. Failide otsimine muutub ülikiireks, kui olete värskendanud andmebaasifaili, mida locate kasutab.
Järeldus
Selles lühikeses õpetuses õppisime tundma kahte olulist käsku, leida
ja asukoha määramine
. Nüüd saate hõlpsasti oma süsteemis faile otsida, ilma et peaksite failide virna eksima. Nende käskude kasutamine on teie failide otsimise ülesande jaoks kindlasti aegasäästlik ja tõhus.