– Päivitetty: 11/30/2020 Tietokoneella Toivoa

Linux-käyttöjärjestelmissä, etsi-komentoa voidaan käyttää, jos haluat etsiä tiedostoja ja kansioita tietokoneen. Jos haluat edetä, valitse linkki seuraavasta luettelosta tai käy läpi kunkin osan järjestyksessä.

huomaa

käyttää Etsi, aloita avaamalla pääteistunto komentoriville pääsemiseksi.

Perustoiminnot löytää

Käynnissä löytää ilman mitään vaihtoehtoja, tuottaa luettelo jokainen tiedosto ja hakemisto, ja alla työhakemiston., Esimerkiksi, jos työhakemisto on /home/toivoa/Asiakirjat, käynnissä löytää lähdöt seuraavasti:

  • Jokainen tiedosto /home/toivoa/Asiakirjoja.
  • jokainen alihakemisto / home / hope / Documents.
  • jokainen tiedosto kussakin alihakemistossa.

Let ’ s see it in action., Ensimmäinen, nyt tarkistaa meidän työhakemiston käyttämällä pwd-komento:

pwd
/home/hope/Documents

– Nyt lähdetään löytää ilman mitään vaihtoehtoja:

find

tässä esimerkissä näemme yhteensä kymmenen tiedostoja, ja neljä alihakemistot ja alla meidän tiedostot-kansioon.

huomaa, että lähtö alkaa yhdellä pisteellä, joka edustaa työhakemistoa., Käynnissä löytää, jossa ei ole vaihtoehtoja on toiminnallisesti sama kuin että haku pitäisi aloittaa työkopiossa, kuten tämä:

find .

esimerkissä on ”oikea” tapa käyttää löytää. Jos yrität käyttää sitä toisessa Unixin kaltaisessa käyttöjärjestelmässä, kuten FreeBSD: ssä, hakemiston määrittely on tarpeen. On hyvä käytäntö käyttää tätä komennon muotoa.,

ilmoitetaan, mistä hakea

vain luetella tiedostot ja alihakemistot, jotka sisältyvät hakemistoon /home/toivoa/Asiakirjoja/kuvia, määritä ensimmäinen argumentti komento:

find /home/hope/Documents/images

Huomaa, että koko polku näkyy myös tuloksissa.,

Jos työhakemisto on /home/toivoa/Asiakirjat, voimme käyttää seuraavaa komentoa, joka löytää samat tiedostot:

find ./images

Mutta tällä kertaa, lähtö kuvastaa alkaen sijainti haku ja näyttää tältä:

oletuksena, haku näyttää jokaisen alihakemistoon lähtöpisteeseen. Jos haluat rajoittaa kuinka monta tasoa alihakemiston etsiä, voit käyttää-maxdepth vaihtoehto numero.

esimerkiksi täsmennetään-maxdepth 1 etsii vain hakemistosta, jossa haku alkaa., Jos alihakemistoja löytyy, ne luetellaan, mutta niitä ei tutkita.,

find . -maxdepth 1
../images./bigfiles.txt./gimp-2.8.16.tar.bz2./hp-fanfic./archlinux-2016.02.01-dual.iso

Määrittäminen -maxdepth 2 haut hakemistoon ja yksi alihakemisto syvä:

find . -maxdepth 2

Määrittäminen -maxdepth 3 haut yksi taso syvemmälle kuin, että:

find . -maxdepth 3

Löytää nimen mukaan

Voit rajoittaa haun tulokset vastaamaan vain tiedostot ja hakemistot, joilla on tietty nimi, käyttää -name vaihtoehtoa ja laita nimi lainausmerkkeihin:

find . -name "picard.jpg"
./images/memes/picard.jpg

Voit myös käyttää yleismerkkejä osana tiedoston nimeä., Esimerkiksi löytää kaikki tiedostot, joiden nimi päättyy .jpg, voit käyttää asteriski edustaa loput tiedoston nimi. Kun suoritat komennon, kuori loraus tiedoston nimi jotain, joka vastaa kaavaa:

find . -name "*.jpg"
./images/hp/snape.jpg./images/hp/harry.jpg./images/memes/winteriscoming.jpg./images/memes/picard.jpg

Huomaa, että komento ei ole luettelossa tiedosto, jonka tiedostotunniste (tässä tapauksessa, JPG) on suuraakkosin. Tämä johtuu siitä, että toisin kuin muut käyttöjärjestelmät, kuten Microsoft Windows, Linux-tiedostonimet ovat tapausherkkiä.,”>

listan hakemistoja vain ja jättää tiedostojen nimet, määritä -tyyppi d:

find . -type d
../images./images/hp./images/memes./hp-fanfic

Löytää tiedostoja perustuu koko

esimerkiksi, löytää tiedostoja, jotka ovat ”suurempi kuin 50 kilotavua”, käyttää kokoa +50k:

find . -size +50k
./images/memes/winteriscoming.jpg./gimp-2.8.16.tar.bz2./archlinux-2016.02.01-dual.iso

– tiedostoille, ”suurempi kuin 10 megatavua”, käyttää kokoa +10M:

find . -size +10M
./gimp-2.8.16.tar.bz2./archlinux-2016.02.01-dual.iso

For ”suurempi kuin 1 gigatavu”, käyttää kokoa +1G:

find . -size +1G
./archlinux-2016.02.01-dual.iso

tiedostoja tietyn koon välillä, käyttää kahden koon asetukset., Esimerkiksi, löytää tiedostot ”suurempi kuin 10 megatavua, mutta pienempi kuin 1 gigatavu”, määritä -koko +10M -size -1G:

find . -size +10M -size -1G
./gimp-2.8.16.tar.bz2

Löytää tiedostoja, joka perustuu muutos, käyttää, tai tila muuttuu

– mtime vaihtoehto rajoittaa haku kuinka monta päivää, koska tiedoston sisältö oli muutettu. Jos haluat määrittää päiviä aiemmin, käytä negatiivista numeroa., Voit esimerkiksi etsiä vain ne tiedostot, joita on muutettu viimeisen kahden päivän (48 tunnin sisällä), käyttö -mtime -2:

find . -mtime -2

– mmin vaihtoehto ei sama asia, mutta suhteen minuutteja, ei päiviä. Esimerkiksi, tämä komento näyttää vain tiedostoja, joita on muutettu viimeisen puolen tunnin:

find . -mmin -30

samanlainen vaihtoehto on -ctime, joka tarkistaa, kun tiedoston asema on viimeksi muutettu, mitataan päivissä. Tilamuutos on muutos tiedoston metatiedoissa. Esimerkiksi tiedoston käyttöoikeuksien muuttaminen on tilanmuutosta.,

vaihtoehto-Cmin etsii tilanmuutosta minuutteina mitattuna.

Voit myös etsiä, kun tiedosto on viimeksi näytetty — toisin sanoen, kun sen sisältö oli viimeksi katsottu. – Ajime-vaihtoehtoa käytetään etsimään tiedostoja niiden viimeisimmän käyttöajan perusteella, mitattuna päivinä.

The-amin-vaihtoehto suorittaa saman hakurajoituksen, mutta mitataan minuuteissa.

tulosteen uudelleenohjaus tekstitiedostoon

Jos suoritat erittäin suurta hakua, saatat haluta tallentaa hakutulokset tiedostoon, jotta voit katsoa tulokset myöhemmin., Voit tehdä tämän suuntaamalla löytää lähtö tiedosto:

find . -iname "*.jpg" > images.txt

Voit avata tulokset tekstieditorissa, tai tulostaa ne kissa komento.

cat images.txt

Vaihtoehtoisesti, voit putki output-tee komento, joka tulostaa lähtö näytöllä ja kirjoittaa sen tiedostoon:

find . -size +500M | tee bigfiles.txt
./archlinux-2016.02.01-dual.iso
cat bigfiles.txt
./archlinux-2016.02.01-dual.iso

Tukahduttaa virheilmoituksia

saatat saada virheilmoituksen ”Permission denied” kun suoritat haun., Esimerkiksi, jos sinulla hae juurihakemistoon kuin normaali käyttäjä:

find /

saat kyseisen virheilmoituksen, jos löytää yrittää käyttää tiedostoa käyttäjän tilillä ei ole lupa lukea. Voit suorittaa haun pääkäyttäjänä (root), jolla on täydellinen pääsy kaikkiin järjestelmän tiedostoihin. Mutta ei ole suositeltavaa tehdä asioita juurina, ellei ole muita vaihtoehtoja.,

Jos kaikki mitä sinun tarvitsee tehdä, on piilottaa ”Permission denied” – viestejä, voit lisätä 2&>1 | grep -v ”Permission denied” loppuun komento, kuten tämä:

find / 2>&1 | grep -v "Permission denied"

yllä olevassa esimerkissä suodattaa pois ”Permission denied” viestejä haku. Miten?

2>&1 on erityinen uudelleenohjaus, joka lähettää virheilmoituksia standardin lähtö putki yhdistetty linjat lähtö grep-komennon., tämän jälkeen grep-v suorittaa käänteisen ottelun ”Permission denied” – ohjelmassa näyttäen vain rivejä, jotka eivät sisällä kyseistä merkkijonoa.

Suuntaamaan ja käyttää grep suodattaa virheilmoituksia on hyödyllinen tekniikka, kun ”Permission denied” on täyttämättä search results ja et voi tehdä hakua kuin root.

Esimerkkejä

find ~/. -name "*.txt" -amin -120

Löytää kaikki tiedostot kotihakemistoosi ja jonka alapuolella end in extension ”.txt (s. Näytä vain tiedostot, joihin on päästy viimeisten kahden tunnin aikana.,

find . -name "*.zip" -size +10M -mtime -3

Löytää kaikki tiedostot työhakemistoon ja alla, jonka nimi on tiedostotunniste on ”.zip ” ja jonka koko on yli 10 megatavua. Näytä vain tiedostot, joiden sisältöä on muokattu viimeisen 72 tunnin aikana.

find . -iname "*report*" -type f -maxdepth 2

Suorita kirjainkoolla etsiä tiedostoja, jotka sisältävät sanan ”raportti” heidän nimissään. Jos haku löytää hakemiston, jonka nimessä on ”report”, älä näytä sitä. Etsi vain työhakemistosta, ja yksi hakemistotaso sen alapuolella.,

find / -name "*init*" 2>&1 | grep -v "Permission denied" | tee ~/initfiles.txt

Löytää kaikki tiedostot järjestelmään, jonka nimi sisältää ”init”, tukahduttaa virheilmoituksia. Näytä tulokset näytöllä ja lähetä ne kotihakemistossasi olevaan tiedostoon nimeltä ”initfiles.txt (s.