Tämä opetusohjelma keskittyy siihen, miten löytää tiedostoja Linux käyttää etsi ja etsi-komento.

järjestelmän ylläpitäjänä on hyvin yleinen tehtävä etsiä tiettyä tiedostoa tiedostojärjestelmästä.

kuitenkin saattaa olla joskus vaikea löytää tiedostoja Linux-tiedostojärjestelmästä, varsinkin jos sinulla on kymmeniä eri käyttäjiä.

on olemassa kaksi komentoa, joiden avulla voit saavuttaa tavoitteesi : löytää ja paikantaa.,

tässä opetusohjelmassa aiomme nähdä, miten näitä komentoja käytetään tehokkaasti ja miten ne voidaan virittää saavuttamaan etsimämme.

Sisällysluettelo

Etsi Tiedostoja käyttämällä Etsi-komentoa

Ensimmäinen tapa löytää ja etsiä tiedostoja Linux isäntä on käyttää etsi-komentoa.,

oletuksena, find-komento on käytettävissä kaikki jakaumat ja se on seuraava syntaksi:

$ find <options> <path> <expression>

Nopea vinkki : onko sinulla vaikeuksia muistaa, jos polku tai lauseke tulee ensin?

Muista, että grEP on Ilmaus Polku, ja löytää on päinvastainen, joten Polku Ilme!

Löytää on melko tehokas komento, koska se on paljon enemmän vaihtoehtoja kuin etsi-komento.

tässä ovat kaikki find-toiminnon mahdollisuudet Linuxissa.,

Etsi tiedostoja löytää tiedostonimi

yleisin käyttö etsi-toiminto on etsiä tiedostoja, koska niiden tiedostonimiä.

$ find <path> -name <pattern>

suurin ero välillä löytää ja paikantaa, kun se tulee etsiä tiedostoja on, että löytää on lookup tiedostonimiä, kun etsi etsii polkuja-tiedoston avaamiseen.

esimerkiksi, jos palaamme aiemmin käyttämäämme runlevel-esimerkkiin, niin täältä voit etsiä runlevel-tiedostoja find-komennolla.,

$ find / -name runlevel*

Mikä on ”2> /dev/null” osa?

olen ohjataan virhe lähtö /dev/null käyttäen lähtö uudelleenohjaus välttää virheilmoituksia konsoliin.

Etsi tiedostoja käyttämällä löytää filetype

Kuten olemme aiemmin keskusteltu meidän artikkeli kova ja pehmeä linkkejä, tiedostoja määritetään tiedostotyyppejä ja se on käytetyt keinona eriyttää heitä.,

tässä on yhteenveto kaikista Linuxissa käytetyistä tiedostotyypeistä.

  • f : vakio-tiedosto
  • d : kansio tai hakemisto
  • l : symbolinen linkki tai pehmeä-linkkiä
  • b : lohko laitteet (kuten kiintolevy esimerkiksi)
  • c : character-laitteet (serial portit, ääni korttia)
  • p : nimetty putki
  • s : socket

Tietäen kaikki nämä tiedostotyypit, sinulla on nyt mahdollisuus etsiä tiedostoja tiedoston tyyppi, jossa on etsi-komento.

$ find <path> -type <filetype>

esimerkiksi, jos etsimme kaikkia symbolisia linkkejä isännästä, antaisimme seuraavan komennon.,

$ find / -type l

Parametrit voidaan yhdistää, esimerkiksi jos etsin kaikki symbolisia linkkejä, joiden tiedostonimet ovat päättyy ”.palvelu ” (eristää kaikki systemd palvelut esimerkiksi), olisin suorittaa seuraavan komennon.

$ find / -type l -name *.service

Etsi tiedostoja käyttäen kuvio (laajennukset)

Samalla tavalla etsi komento, voit löytää tiedostoja Linux käyttäen kuvio.

muistutuksena, kuvio on merkkijono, joka sisältää globbing merkkejä (kuten *, ?,, tai alueet).

Tämä vaihtoehto on erityisesti silloin, kun yrität löytää laajennuksen saaneita tiedostoja, esimerkiksi Javascript-tiedostoja.

löytää tiedostoja Linux käyttäen kuvio, suorita seuraava komento

$ find <path> -name ".<extension>"
$ find / -name "*.js"

Tiedostot-tiedostot Linux-omistaja

Joskus, haluat eristää tiedostot, jotka on luotu tietyn käyttäjän.

kun poistat käyttäjän isäntääsi, saatat haluta poistaa esimerkiksi kaikki tähän käyttäjään liittyvät tiedostot.,

joskus käyttäjät luovat tiedostoja kotihakemistostaan, eikä käyttäjän kotihakemiston poistaminen yksin riitä.

seurauksena, löytää tiedostot, jotka on luotu tietyn käyttäjän Linux, suorita seuraava komento

$ find <path> -user <user>

jos haluat esimerkiksi etsiä kaikki tiedostot omistaa ”john” minun isäntä, en olisi ajaa seuraava komento.

$ find / -user john

Nyt, mitä jos haluan poistaa kaikki tiedostot omistaa john yksinkertainen komento?,

se onnistuu helposti delete-lipulla.

$ find / -user john -delete

Etsi tiedostoja Linux, jonka käyttöoikeudet

Käyttämällä etsi-komentoa, voit myös löytää ja etsiä tiedostoja, jotka on tiettyjä käyttöoikeuksia isäntä.

$ find <path> -perm <permissions>

muistutuksena, näin tiedostojen käyttöoikeudet toimivat Linuxissa.

Jos haluat löytää kaikki tiedostot, joilla on täydet oikeudet (a 777, koska binäärinen merkintä), voit suorittaa seuraavan komennon.,

$ find / -perm 777

Se voi olla varsin kätevä, jos turvallisuussyistä haluat tarkistaa, jos tiedostoja ei ole määritetty täydet oikeudet järjestelmään.

Etsi tiedostot, etsi koon mukaan

Toinen erittäin kätevä tapa löytää ja etsiä tiedostoja Linux on löytää etsi-komennolla koko vaihtoehto.

koko vaihtoehdon avulla voit etsiä tiedostoja, jotka ovat täsmälleen koon määrität, on suurempi kuin tietyn kokoinen tai pienempi kuin tietyn koon.,

etsiä tiedostoja koon, käytä seuraavaa komentoa

$ find <path> -size <size>

koko on määritelty seuraavat etuliitteet :

  • c: tavua
  • b: 512 tavun lohkoja
  • k: Kilotavua
  • M: Megatavua
  • G: Gigatavua

Voit määrittää ”+” jos etsit tiedostoja suurempi kuin määritelty koko.,

esimerkiksi, jotta löydettäisiin tiedostoja yli 1 GT järjestelmän, suorita seuraava komento

$ find / -size +1G

löytää tiedostoja pienempi kuin 10 MBs-järjestelmä, suorita seuraava komento

$ find / -size -10M

Lopuksi, etsiä tiedostoja, jotka ovat täsmälleen määritelty koko kyselyn, sinun ei pitäisi liittää mitään plus-tai miinus-etuliitteet komento.

$ find / -size 1024k

komento määritelty vain löytää kaikki tiedostot, jotka ovat täsmälleen 1024 Kbs koko teidän isäntä.,

Etsi tiedostoja Linuxissa muokkauspäivämäärän

avulla löydät myös tiedostoja, joille on annettu muutospäivä, tuore tai ei.

Tämä komento on erittäin kätevä, ja sitä käytetään usein järjestelmänvalvojat voivat löytää tiedostoja tai hakemistoja, jotka on äskettäin muutettu.

etsiä tiedostoja käyttämällä löytää päivämäärä, suorita seuraava komento

$ find <path> -mtime <time>

Jos kerran edustaa tiedostot muutettu 24*<aika> tuntia sitten.

tämän seurauksena aika ilmaistaan päivinä.,

Myös koko vaihtoehdon, voit liittää ”plus” tai ”miinus” – operaattori aika etsiä tiedostoja, joita on muutettu enemmän kuin <aika> päivää sitten, tai vähemmän kuin <aika> päivää sitten.

esimerkiksi etsiäksesi tarkalleen 3 tuntia sitten muokattuja tiedostoja, ajaisit seuraavan komennon.,

$ find / -mtime 3

etsi tiedostoja, joita on muutettu enemmän kuin viikko sitten, suorita seuraava komento

$ find / -mtime +7

etsi tiedostoja, joita on muutettu vähemmän kuin kaksi päivää sitten, voit ajaa seuraava komento

$ find / -mtime -2

Etsi tiedostot, joissa on dynaaminen syvyys

Kuten olet luultavasti huomannut, koska alussa tämä opetusohjelma, me annamme esimerkkejä tiedostoja haut alkaen root directory.

tämän seurauksena kaikki kansiot selataan rekursiivisesti.,

voimme kuitenkin rajoittaa hakemistojen lukumäärää rekursiivisesti matkustettuna yhdestä hakemistosta, tätä kutsutaan syvyydeksi.

rajoittaa tiedoston hakuja tiettyyn syvyyteen, ajaa seuraava kysely

$ find <path> -maxdepth <depth>

esimerkiksi, tässä on, miten voit rajoittaa tiedostojen hakuja nykyisen hakemiston, joilla ei ole lapsia hakemistoja, jota selailla.

$ find / -maxdepth 1

Voit tietysti yhdistää tämän komennon nimi lippu jotta etsiä tiedostoja tietyn nimen hakemistossa.,

$ find . -maxdepth 1 -name *.tar

Ketjutus löytää kanssa -exec

joissakin tapauksissa, saatat löytää hyödyllistä ketju etsi-komento exec yksi.

exec vaihtoehtoa voidaan käyttää, jotta ketju useita komentoja yhdessä : kun tulos ensimmäinen tulona toisen yksi.,

oletetaan esimerkiksi, että haluat löytää kaikki tiedostot muokattu vähemmän kuin minuutti sitten

$ find /home/user -mmin -1./file1

Nyt oletetaan, että haluat poistaa kaikki tiedostot, joita on muokattu vähemmän kuin minuutti sitten.

voit ketjuttaa find-komennon-exec-valinnalla tämän syntaksin avulla.

$ find /home/user -mmin -1 -exec echo rm -f '{}' \;

Emme ilmeisesti ensin ”echo” tuloksia, koska haluamme varmistaa, että meillä on poistamalla oikea tiedostot.,

Kun olet valmis poistamaan nämä tiedostot, poista vain echo-komento.

$ find /home/user -mmin -1 -exec rm -f '{}' \;

Etsi Tiedostoja Linux käyttää Etsi-komento

Toinen hyvä tapa löytää ja paikantaa tiedostoja Linux on käyttää etsi-komentoa.

Opiskelija

Jos etsi-komento ei ole käytettävissä järjestelmässä, varmista lukea seuraavassa jaksossa saada paikantaa käynnissä tietokoneessa.,

a – Asentaminen Paikantaa APT-ja RPM-pohjainen jakaumat

asenna paikantaa, tarvitset sudo-oikeudet Linux-isäntä.

Jos haluat tarkistaa, onko paikantaminen asennettu isäntääsi, suorita komentorivin paikantamiskomento.,

$ locate

Jos etsi on asennettu tietokoneeseen, se odottaa lauseke edellyttäen,

Jos paikantaa ei ole asennettuna isäntä, virhesanoma tulee näkyviin,

asenna etsi Ubuntu 18.04 ja Debian 10, suorita seuraava komento.,

$ sudo apt-get install mlocate

Vastaavasti, jos olet CentOS tai Fedora-pohjainen jakelu, suorita seuraava komento asentaa paikantaa.

$ sudo yum install mlocate

b – Päivittää mlocate tietokanta

etsi-toiminto toimii paikallinen tietokanta tallentaa tiedostojärjestelmä, joka tallentaa jokaisen tiedostonimi isäntä.

Kun suoritat etsi-komentoa, etsi, haku tietokantaan valmistettu updatedb tiedoston etsit.

määräajoin cron-työ päivittää mlocaten.db tiedosto voit etsiä uusimmat merkinnät.,

tietokanta sijaitsee /var/lib/mlocate/mlocate.db oletuksena ja updatedb asetustiedosto tallennetaan /etc/updatedb.conf.

nyt voit jättää oletusasetukset ja ajaa yksinkertainen updatedb-komennon tietokanta virkistää.

$ sudo updatedb

Etsi tiedostot annettu nimi kuvio

yksinkertaisin tapa löytää tiedostoja Linux on tarjota malli etsi-komento.,

oletuksena, syntaksin etsi-komento on seuraava

$ locate ... ...

Jos etsit tietyn configuration file-järjestelmä, helppo tapa löytää se on tarjota sen loppuun tiedoston nimi etsi-komento.

$ locate updatedb.conf

Kuten voit nähdä, etsi-komento on palaamassa täydellinen polkuja tiedoston etsin.,

Etsi tiedostoja rajoitetuissa hakemistoissa

joskus, sinulla ei ehkä ole pääsyä joihinkin hakemistoihin järjestelmässäsi.

tämän seurauksena et pysty paikantamaan siihen sijoitettuja tiedostoja.

otetaan esimerkki kielletystä kansiosta, joka sisältää tiedoston nimeltä ”rajoitettu tiedosto”.

etsi tiedostot sijaitsevat rajoitettu hakemistoja, sinun täytyy juosta etsi komento sudo oikeudet.,

$ sudo locate restricted-file

Etsi tiedostoja käyttämällä mallia

Käyttämällä etsi-komentoa, voit säätää ”kuvioita” muodossa globbing merkkiä.

Globbing-merkit, joita kutsutaan myös jokerimerkeiksi, ovat merkkejä, joita käytetään vastaamaan yhtä tai useampaa merkintää yksinkertaistetulla ilmaisulla.

suosituin on”*”, joka vastaa mitä tahansa merkkiä, mukaan lukien Ei yhtään.

Here ’ s a recap table for globbing characters and their functions.,6934f1″>

devdevco, matches one character given in the bracket ab aab, bab cab matches one character from the (locale-dependent) range given in the bracket runlevel runlevel1, runlevel2, runlevel6 runlevels, runlevelo

As an example, here’s a way to locate all text files on your system.,

$ locate *.txt

Etsi tiedostoja käyttämällä säännöllinen lauseke

Kuten virallinen mies-sivulla etsi, etsi-komento hyväksyy kaavan tulona.

se tarkoittaa, että pystyt tarjoamaan säännöllisen lausekkeen paikantamiskomentoon.

Etsi ja etsi tiedostoja regex, käytä –regex vaihtoehto Etsi komento.,

$ locate --regex <regex>

esimerkiksi, eristää kaikki tiedostot alkaen ajotasolle, jota seuraa numero, suorita seuraava komento.

$ locate --regex runlevel+

Kun käytät järjestelmät, on yksi tärkeä asia että sinun pitäisi olla tietoinen, kun paikallistamiseen tiedostoja.

paikallis-komento etsii polkuja tiedostoihin paikallisesta tietokannastaan.,

tämän seurauksena tiedostoja etsiessä tulee olla tietoinen siitä, että säännöllisen lausekkeesi on täsmättävä tiedoston polun eikä pelkästään tiedostonimen kanssa.

esimerkiksi, jos etsin ”run” – alkuisia tiedostoja, ei tuloksia palauteta, koska tiedoston polku alkaa ”/ usr” – kirjaimella.

Etsi tiedostoja kirjainkoko vaihtoehto

Kun etsit tiedostoja tiedostojärjestelmä, et voi olla varma siitä, miten tietty tiedosto oli nimetty.,

kirjoitettiinko se isolla vai pienellä kirjaimella? Onko siinä ylipäätään isoja kirjaimia?

Etsi ja etsi tiedostoja case tunteeton vaihtoehto, Lisää-i vaihtoehto paikantaa komento.,

$ locate -i <file_pattern>

Etsi tiedostoja sisällön käyttäen grep

joissakin tapauksissa, saatat olla kiinnostunut etsii tiedostoja, jotka vastaavat tietyn sanan lause, joka sijaitsee SISÄLLÄ tiedoston.

näin voi käydä esimerkiksi, jos yrität löytää tiedostoa, joka sisältää tiettyjä lokitapahtumia.,

ensimmäinen tapa etsiä tiedostoja matching tietty sana on käyttää grep-komento

$ grep -r <pattern> <path>

Huomautus : älä unohda ”-r” vaihtoehto, jos etsit tiedostoja kautta koko hakemistoja.

esim., jos etsit kaikki tiedostot, joilla on ”virhe” niiden sisältöä, joka sijaitsee kotihakemistossasi, kirjoita

$ grep -r error /home/user

joissakin tapauksissa, haluat ehkä löydä tiedostoja, annettu säännöllinen lauseke.

Etsi tiedostoja käyttämällä säännöllistä lauseketta, käytä ”-E” – vaihtoehtoa.,

$ grep -r -E <expression> <path>

oletetaan esimerkiksi, että haluat löytää tiedosto matching ” abc ” kuvio yhdessä tiedostoja, kirjoita

$ grep -r -E "abc.*" --color /home/user

Huomautus : väri-vaihtoehto on käytössä, jotta voidaan tuoda esiin ottelut käyttää grep-komennon.,

Etsi tiedostoja, joita käyttämällä

Toinen hyvä tapa etsiä tiedostoja Linux on käyttää, jonka komento.

mitä komentoa käytetään tiettyyn komentoon liittyvien tiedostojen paikantamiseen.

Tämä voi tulla erittäin kätevä, kun et tiedä missä olet tallentanut binäärit varten komennon, tai jos sinun täytyy etsi komento, jotta voidaan lisätä sen POLKU.,

$ which <command>

esimerkiksi, jotta voit etsiä tiedostoja, jotka liittyvät ”ls” – komento, kirjoita

$ which ls/usr/bin/ls

Kuten voit nähdä, sinulle annetaan täydellinen polku tiedostoon.

Etsi binäärejä käyttäen whereis

vastaavasti on täysin mahdollista etsiä tiedostoja whereis-komennolla.

”whereis” – komento voidaan nähdä pääjoukko ”joka” komento : ”whereis” tarjoaa tietoa nimellä-komento, tiedoston sijainnin sekä sijainnin manuaalinen sivuja.,

suorittaa whereis, yksinkertaisesti kirjoittaa ”whereis” ja liittää nimen komennon.

$ whereis lsls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

Pretty handy!

Johtopäätös

nykypäivän opetusohjelma, opit, miten voit löytää ja paikantaa tiedostoja Linux käyttämällä kahta tärkeitä komentoja : etsiä ja löytää.

Vaikka mahdollisuus esiteltiin erikseen, sinun pitäisi muistaa, että ne voidaan yhdistää, jotta voidaan määrittää jopa enemmän tiedostoja etsit.

Kuten aina, jos olet kiinnostunut Linux-järjestelmän hallinta, meillä on täydellinen osa omistettu Linux-sivuillamme.,

As always, here is a short video on the subject in case you prefer Youtube videos.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *