
Märkus: leidmise kasutamiseks alustage käsurea avamiseks terminali seansi avamisega.
Lehe põhifunktsioonid
Otsingu leidmine ilma suvanditeta loob loendi kõigist failidest ja kataloogidest töökausta all ja selle all. Näiteks kui teie töökaustadeks on / home / hope / dokumendid, kuvatakse jooksvate otsingute puhul järgmised andmed:
- Iga fail / home / hope / Documents .
- Iga alamkataloog / home / hope / Documents .
- Iga fail nendes alamkataloogides.
Vaatame seda tegevuses. Esmalt kontrollime oma töö kataloogi, kasutades käsku pwd:
pwd
/ home / hope / Dokumendid
Nüüd käivitame otsingu ilma võimalusteta:
leida
. ./images ./images/hp ./images/hp/snape.jpg ./images/hp/harry.jpg ./images/memes ./images/memes/winteriscoming.jpg ./images/memes/goodguygary.JPG. /images/memes/picard.jpg ./gimp-2.8.16.tar.bz2 ./hp-fanfic ./hp-fanfic/malfoys-revenge.doc ./hp-fanfic/weekend-at-hagreds.doc ./ hp-fanfic / dumbledores-lament.doc ./archlinux-2016.02.01-dual.iso
Selles näites näeme meie Dokumendi kaustas ja selle all kokku kümme faili ja neli alamkataloogi.
Pange tähele, et väljund algab ühe punktiga, mis esindab töö kataloogi. Otsingu tegemine ilma suvanditeta on sama, mis täpsustab, et otsing peaks algama töö kataloogi, nagu see:
leida.
Ülaltoodud näide on "õige" viis leida . Kui üritate seda kasutada mõnes teises UNIX-tüüpi operatsioonisüsteemis, näiteks FreeBSD-s, leiate, et kataloogi täpsustamine on vajalik, seega on hea kasutada seda käsku.
Täpsustage, kust otsida
Ainult kataloogi / home / hope / Documents / images sisaldavate failide ja alamkataloogide loendi määramiseks määrake see käsu esimeseks argumendiks:
leida / home / hope / Dokumendid / pildid
/ home / hope / Dokumendid / pildid / home / hope / Dokumendid / pildid / hp /home/hope/Documents/images/hp/snape.jpg /home/hope/Documents/images/hp/harry.jpg / home / hope / Documents / images / memes /home/hope/Documents/images/memes/winteriscoming.jpg /home/hope/Documents/images/memes/goodguygary.JPG /home/hope/Documents/images/memes/picard.jpg
Pange tähele, et tulemustes on näidatud ka kogu tee.
Kui meie töö kataloog on / home / hope / Documents, saame kasutada järgmist käsku, mis leiab samad failid:
leidke ./images
Aga seekord peegeldab väljund otsingu algset asukohta ja näeb välja selline:
./images ./images/hp ./images/hp/snape.jpg ./images/hp/harry.jpg ./images/memes ./images/memes/winteriscoming.jpg ./images/memes/goodguygary.JPG. /images/memes/picard.jpg
Vaikimisi otsib otsing teie lähtepunkti igas alamkataloogis. Kui soovite piirata, kui palju alamkataloogi otsida, saate kasutada -maxdepth valikut numbriga.
Näiteks otsitakse -maxdepth 1 otsitakse ainult selles kataloogis, kus otsing algab. Kui leitakse mõni alamkataloog, kuvatakse need, kuid neid ei otsita.
leida. -maxdepth 1
. ./images ./bigfiles.txt ./gimp-2.8.16.tar.bz2 ./hp-fanfic ./archlinux-2016.02.01-dual.iso
-Maxdepth 2 määramine otsib kataloogi ja ühte alamkataloogi sügavalt:
leida. -maxdepth 2
. ./images ./images/hp ./images/memes ./gimp-2.8.16.tar.bz2 ./hp-fanfic ./hp-fanfic/malfoys-revenge.doc ./hp-fanfic/weekend-at- hagreds.doc ./hp-fanfic/dumbledores-lament.doc ./archlinux-2016.02.01-dual.iso
-Maxdepth 3 määramine otsib üht taset sügavamalt kui:
leida. -maxdepth 3
. ./images ./images/hp ./images/hp/snape.jpg ./images/hp/harry.jpg ./images/memes ./images/memes/winteriscoming.jpg ./images/memes/goodguygary.JPG. /images/memes/picard.jpg ./gimp-2.8.16.tar.bz2 ./hp-fanfic ./hp-fanfic/malfoys-revenge.doc ./hp-fanfic/weekend-at-hagreds.doc ./ hp-fanfic / dumbledores-lament.doc ./archlinux-2016.02.01-dual.iso
Leidmine nime järgi
Oma otsingutulemuste piiramiseks ainult failide ja kataloogidega, millel on teatud nimi, kasutage -name valikut ja sisestage nimi jutumärkidesse:
leida. -nimi "picard.jpg"
./images/memes/picard.jpg
Faili nime osana saate kasutada ka metamärke. Näiteks selleks, et leida kõik failid, mille nimi lõpeb .jpg-ga, saate kasutada tärniga ülejäänud faili nime. Käsu käivitamisel kobestab kate failinime kõike, mis sobib musteriga:
leida. -nimi "* .jpg"
./images/hp/snape.jpg ./images/hp/harry.jpg ./images/memes/winteriscoming.jpg ./images/memes/picard.jpg
Pange tähele, et meie käsk ei loendanud faili, mille laiend ( JPG ) on suurtähtedega. Seda sellepärast, et erinevalt teistest operatsioonisüsteemidest, nagu Microsoft Windows, on Linuxi failinimed tõstutundlikud.
Juhtumitundliku otsingu tegemiseks kasutage -iname valikut:
leida. -iname "* .jpg"
./images/hp/snape.jpg ./images/hp/harry.jpg ./images/memes/winteriscoming.jpg ./images/memes/goodguygary.JPG ./images/memes/picard.jpg
Ainult failide või ainult kataloogide leidmine
Ainult failide loendamiseks ja kataloogide nimede jätmiseks oma tulemustest määrake -type f :
leida. - tüüp f
./images/hp/snape.jpg ./images/hp/harry.jpg ./images/memes/winteriscoming.jpg ./images/memes/goodguygary.JPG ./images/memes/picard.jpg ./gimp-2.8 .16.tar.bz2 ./hp-fanfic/malfoys-revenge.doc ./hp-fanfic/weekend-at-hagreds.doc ./hp-fanfic/dumbledores-lament.doc ./archlinux-2016.02.01-dual .iso
Ainult kataloogide loendamiseks ja failinimede väljajätmiseks määrake -type d :
leida. - d tüüp
. ./images ./images/hp ./images/memes ./hp-fanfic
Suuruse järgi failide leidmine
Ainult teatud suurusega failide kuvamiseks saate kasutada -size valikut. Suuruse määramiseks kasutage pluss- või miinusmärki ("rohkem kui" või "vähem kui"), numbrit ja kvantitatiivset sufiksit nagu k, M või G.
Näiteks selleks, et leida faile, mis on "suuremad kui 50 kilobaiti", kasutage -size + 50k :
leida. -suur + 50k
./images/memes/winteriscoming.jpg ./gimp-2.8.16.tar.bz2 ./archlinux-2016.02.01-dual.iso
Failide puhul, mis on suuremad kui 10 megabaiti, kasutage -size + 10M :
leida. -suur + 10M
./gimp-2.8.16.tar.bz2 ./archlinux-2016.02.01-dual.iso
"Suurema kui 1 gigabaiti" puhul kasutage -size + 1G :
leida. -suur + 1G
./archlinux-2016.02.01-dual.iso
Teatud suurusega failide puhul kasutage kahte suurust. Näiteks, kui soovite leida faile "suurem kui 10 megabaiti, kuid väiksem kui 1 gigabait", määrake -size + 10M -size -1G :
leida. -mõõdus + 10M-suurus -1G
./gimp-2.8.16.tar.bz2
Failide leidmine muutmise, juurdepääsu või oleku muutmise põhjal
-Mtime valik piirab otsingu, kui mitu päeva on faili sisu muudetud. Mineviku päevade määramiseks kasutage negatiivset arvu. Näiteks selleks, et leida ainult need failid, mida on viimase kahe päeva jooksul muudetud (48 tundi tagasi), kasutage -mtime -2 :
leida. -mtime -2
-Mmin valik teeb sama, aga minutite, mitte päevade järgi. Näiteks näitab see käsk ainult viimase poole tunni jooksul muudetud faile:
leida. -mmin -30
Sarnane valik on -ctime, mis kontrollib faili oleku viimast muutmist, mõõdetuna päevadel. Oleku muutus on faili metaandmete muutus. Näiteks faili muutmise muutmine on oleku muutus.
Valik -cmin otsib staatuse muutust minutites mõõdetuna.
Samuti saate otsida, millal faili viimati kasutati - teisisõnu, kui selle sisu on viimati vaadatud. Valiku -atime abil otsitakse faile, mis põhinevad nende viimastel juurdepääsuaegadel, mõõdetuna päevadel.
-Amin- valik teeb sama otsingupiirangu, kuid mõõdetakse minutites.
Väljundi suunamine tekstifaili
Kui teete väga suurt otsingut, võite soovida salvestada otsingutulemused faili, et saaksite tulemusi hiljem vaadata. Seda saate teha, suunates oma otsingutulemused failile:
leida. -iname "* .jpg"> images.txt
Seejärel saate oma tulemused tekstiredaktoris avada või printida kassi käsuga.
kass images.txt
./images/hp/snape.jpg ./images/hp/harry.jpg ./images/memes/winteriscoming.jpg ./images/memes/goodguygary.JPG ./images/memes/picard.jpg
Teise võimalusena saate oma väljundi tee- käsule tuua, mis prindib väljundi ekraanile ja kirjutab selle faili:
leida. -mõõdus + 500M | tee bigfiles.txt
./archlinux-2016.02.01-dual.iso
kass bigfiles.txt
./archlinux-2016.02.01-dual.iso
Veateadete kustutamine
Otsingu tegemisel võidakse saada veateade "Luba keelatud". Näiteks kui otsite juurkataloogist tavalise kasutajana:
leidke /
leida: `/ var / lib / sudo / ts ': luba keelatud leida:` / var / lib / sudo / lectured': luba keelatud leida: `/ var / lib / polkit-1 ': luba keelatud leida:` / var / lib / container ': luba keelatud: `/var/lib/gdm3/.dbus': luba on keelatud:` /var/lib/gdm3/.config/ibus ': luba keelatud ...
Saate selle tõrketeate, kui otsing üritab pääseda failile, mida teie kasutajakonto ei luba lugeda. Võimalik, et saate sooritada otsingu superuserina ( root ), millel on täielik juurdepääs igale süsteemi failile. Kuid pole soovitatav asju juureks teha, kui muid võimalusi pole.
Kui kõik, mida pead tegema, on peita "Luba keelatud" sõnumeid, saate lisada 2 &> 1 | grep -v "Luba keelatud" teie käsu lõpuni, nagu see:
leida / 2> & 1 | grep -v "Luba keelatud"
Ülaltoodud näide filtreerib otsingust välja "Luba keelatud" sõnumid. Kuidas?
2> & 1 on spetsiaalne ümbersuunamine, mis saadab veateateid standardväljundile, et ühendada väljundi liini grep- käsu. grep -v täidab seejärel pöördvõrdel "luba keelatud", kuvades ainult neid ridu, mis ei sisalda seda stringi.
Grepi ümbersuunamine ja kasutamine veateadete filtreerimiseks on kasulik meetod, kui "Luba keelatud" on otsingutulemuste segadust tekitav ja te ei saa otsingut juurina teha.
Näited
leidke ~ /. -nimi "* .txt" -amiin -120
Leia kõik oma kataloogi kõik failid ja allapoole, mis lõpeb laiendiga " .txt ". Näita ainult neid faile, millele on juurdepääs viimase kahe tunni jooksul.
leida. -nimi "* .zip" -suure + 10M -mtime -3
Leia kõik töö kataloogi failid, mille nimele on laiend " .zip " ja mille suurus on suurem kui 10 megabaiti. Näita ainult faile, mille sisu on viimase 72 tunni jooksul muudetud.
leida. -iname "* report *" - tüüp f -maxdepth 2
Tehke juhtumikindel otsing failidele, mis sisaldavad nende nimel sõna " aruanne ". Kui otsing leiab nime, mille nimi on "aruanne", ärge seda kuvage. Otsige ainult töökausta ja selle all olevat kataloogi.
leidke / -nimi "* init *" 2> & 1 | grep -v "Luba keelatud" tee ~ / initfiles.txt
Leia kõik failid süsteemis, mille nimi sisaldab " init ", tõkestades veateated. Näita tulemusi ekraanil ja väljastab need oma kataloogi nimega " initfiles.txt ".