Hoe kan ek Command op Linux gebruik? 40 voorbeelde ingesluit

Die vonds is ‘n kragtige opdragreëlinstrument waarmee stelseladministrateurs lêers en kaarte kan opspoor en bestuur op grond van ‘n wye verskeidenheid soekkriteria. Dit kan lêers vind volgens hul naam, hul tipe of uitbreiding, grootte, toestemmings, ens.


Behalwe om lêers en kaarte te soek, kan u die vind-opdrag met ander kombineer om op die resultate op te tree. Deur die -exec-opsie toe te voeg, kan sysadmins eksterne opdragte uitvoer en handelinge uitvoer soos kopiëring, skuif, uitvee of veranderings van die lêers wat ooreenstem met die gespesifiseerde kriteria soos grootte, naam, ens..

In hierdie artikel begin ons deur die basiese vindopdragte met voorbeelde te verduidelik. Dit sal u wys hoe om lêers en kaarte te vind. Ons sal u dan wys hoe u die -exec-opsie kan gebruik om op die lêers of kaarte te reageer op grond van hul grootte, regte, ens..

Die algemene sintaksis vir die vindopdrag is

vind {path} {name -of-file of dir-to-search} {action-to-take}

waar,

  • pad spesifiseer die gids.
  • naam van die lêer of dir-to-search: Naam van die lêer of gids waarna u moet soek
  • aksie om te neem: soos kopieër, skrap, skuif, ens.

In hierdie handleiding sal ons verduidelik hoe om lêers en kaarte te vind wat ooreenstem met die spesifieke patrone. Ons sal ook sien hoe om aksies uit te voer op die lêers of kaarte wat die vind-opdrag opspoor. Die gids is gebaseer op Ubuntu, maar is van toepassing op die meeste Linux-verspreidings en weergawes.

Contents

Soek lêers en kaarte

Soek spesifieke lêers volgens naam of uitbreiding

Voer die volgende opdrag uit die wortel uit (/) om na ‘n spesifieke lêer te soek. Die opdrag bevat die presiese naam vir die lêer waarna u soek.

vind. -naam lêer22.txt

uitset

./test/file22.txt
./sales/file22.txt

Let daarop dat die resultate die pad insluit. Dit is belangrik as u nie weet watter gids die lêer is, of wanneer dit op meer as een plek is nie.

U kan ook na die lêer in ‘n ander gids soek terwyl u nog op die huidige ligging is. In hierdie geval moet u die pad verskaf vir die gids waarna u wil soek.

vind ./test-naam lêer22.txt

Op soek na spesifieke lêers in ‘n ander gids

In ons geval sal ons kyk na almal wat met die letterslêer in die toetsgids begin.

vind ./test-naam lêer *

uitset

./test/file22.txt
./test/file30.doc
./test/file1.txt
./ Toets / file5, doc

Soek na lêers volgens uitbreiding

Voeg dit by die opdrag om na lêers met ‘n sekere uitbreiding te soek.

vind. -naam * .txt

uitset

./test/subtest/subfil.txt
./test/file22.txt
./test/file1.txt
./home1/files32.txt
./home2/file22.txt
./qa/tags.txt

Soek lêers en kaarte volgens naam

Gebruik die opdrag hieronder om na lêers en kaarte te soek wat met letters qa begin. Op ons rekenaar het ons die qatree.txt- en qa.txt-lêers, asook ‘n gids met die naam qa.

As ons die opdrag uitvoer;

vind ./-naam "qa *"

Dit gee die volgende uitset

./test/qatree.pdf
./test/qa.txt
./ Huis / QA

Die opdrag gee beide die lêers en kaarte terug wat ooreenstem met die soekkriteria. Om slegs lêers of kaarte te vind, moet u dit in die opdrag spesifiseer.

Soek slegs lêers of kaarte

Gebruik slegs die skakelaar f vir lêers.

Slegs lêers

vind ./ -tik f-naam "qa *"

uitset

./test/qatree.pdf
./test/qa.txt

Slegs gidse

Voeg die opsie d by om slegs kaarte te soek.

vind ./ -type d-naam "qa *"

uitset

./ Huis / QA

Geval ongevoelig vind opdrag

Alle soektogte met ‘n naamskakelaar is hooflettergevoelig en gee nie resultate met hoofletters nie. Gebruik die opsie-naam om alle gevalle te kry.

vind ./-naam "qa *"

uitset

./test/qatree.pdf
./test/qa.txt
./test/QAtest.txt
./ Huis / QA

Soek na ‘n lêer uit verskeie kaarte

Voeg die paaie in die opdrag om die lêers in verskillende kaarte te vind. In ons geval kyk ons ​​na die toets- en numeriese kaarte.

vind ./test ./numer-naam file22.txt -type f

uitset

./test/file22.txt
/root/numeric/file22.txt

Soek verskeie lêers met verskillende uitbreidings van alle kaarte

U kan die vindopdrag gebruik om verskeie lêers op te spoor wat die verskillende uitbreidings deel, soos * .doc, * .txt * .pdf, ens. Dit kan apart gedoen word, een uitbreiding op een slag, of slegs een opdrag gebruik wat alles insluit die verlangde uitbreidings.

vind. -tipe f (-naam "* txt" -o-naam "* .pdf" -o-naam "* .doc" )

uitset

./test/subtest/subfil.txt
./test/qatree.pdf
./test/file22.txt
./test/qa.txt
./test/file30.doc
./books/acro.pdf
./data1/FILE22.txt
./docs/files32.txt

Soek lêers wat sekere teks bevat

Soms wil u toegang hê tot ‘n lêer wat sekere teks bevat, maar u kan die lêernaam of ligging nie herroep nie. Met hierdie opdrag kan u al die lêers vind wat u doelteks bevat.

Gebruik om die lêers wat die woord hiperkonvergensie bevat te soek.

vind / -tik f -exec grep -l -i "hyperconvergence" {};

uitset

/ Root / numeriese / HCI
/ Root / HCIP

Die –i-opsie stel die opdrag in staat om sake te ignoreer en sal die teks vind of dit gekapitaliseer is of nie, dit wil sê hiperkonvergensie, hiperkonvergensie, ens..

Voeg dit eenvoudig by die opdrag om na die lêers in ‘n spesifieke gids te soek

vind ./numeric -tipe f -exec grep -l -i "hyperconvergence" {};

uitset

./ Numeriese / HCI

Soek lêers en kaarte wat gebaseer is op grootte

U kan alle lêers of kaarte vind wat kleiner, gelyk of groter is as ‘n sekere grootte, binne ‘n sekere reeks of leeg. Gebruik die toepaslike grootteformaat, afhangende van die tipe lêers of kaarte wat u soek.

Grootte-opsies sluit in;

c – grepe

k – kilobyte

M – Megabytes

G – Gigabytes

Soek lêers van ‘n sekere grootte – gelyk aan 30 MB

Soek na alle 30MB-lêers om te soek

vind / -grootte 30M

Soek lêers wat groter is as ‘n spesifieke grootte

vind-grootte + 2M

uitset

. /Downloads/ubuntu18043.iso
./.cache/pip/http/6/e/3/8/3/6e38383f41850c3e5705d48116bc52f81b92a80500f414305057 7a9c

Soek lêers minder as 10 MB in die huidige gids

vind. -tik f-grootte -10M

Soek lêers met groottes tussen 100-200MB

As u na lêers binne ‘n spesifieke reeks soek, soos tussen 100 en 200 MB

vind / -grootte + 100M-grootte -200M

Kyk vir kaarte wat groter as 20 kb is

vind / -tik d-grootte + 20k

Soek leë lêers en kaarte.

lêers

vind ./ -type f-grootte 0

of

vind ./ -tipe f –vrij

dopgehou

vind ./ -tipe d –vrij

Soek lêers volgens ouderdom of wysigingstyd

Soek lêers ouer as n dae

vind / pad / -typ f-naam ‘* .txt’ -mtime +8

Die -mtime +8 sal op soek wees na txt-lêers wat ouer as 8 dae is.

Teen die wysigingsdatum

Daar sal gekyk word na lêers wat binne die afgelope 17 uur gewysig is

vind. -myd -17 -tipe f

U kyk na kaarte wat binne die afgelope tien dae gewysig is

vind. -myd -10 -tipe d

Soek lêers op grond van toegang of wysiging

Soek lêers op grond van die datum of tyd waarop u toegang verkry. Dit stel u in staat om lêers te sien wat binne ‘n bepaalde periode nie beskikbaar is of nie.

Om lêers te sien wat nie binne die afgelope tien dae in die tuisgids beskikbaar is nie.

vind / huis-tyd +10

Lêers is presies tien dae gelede verkry

vind / huis-tyd 10

Binne die afgelope tien dae verkry

vind / tuis-tyd -10

Soek lêers wat binne die laaste n dae gewysig is

U kan ook kyk na die lêers in die / tuisgids wat binne die afgelope tien dae gewysig is met behulp van die opdrag;

vind / tuis-tyd -10

Soek lêers wat binne ‘n spesifieke periode gewysig is.

Byvoorbeeld, alle lêers is tussen 6 en 15 dae gelede in die tuisgids gewysig.

vind / huis-tik f -mtime +6 -mtime -15

U kan binne die laaste tien minute lêers en kaarte besoek

Gebruik die -amin-opsie om die lêers wat binne die afgelope tien minute verkry is, te vind.

vind. -amine -10 -tipe f

uitset

./.bash_history
./[Email protected]: ~ #

Gidse is binne die laaste tien minute verkry

vind. -amine -10 -tipe d

Soek lêers wat ooreenstem met spesifieke regte

sintaksis

$ vind -perm-modus

Waar modus is die toestemming wat óf numeries is soos 644, 655, 700, 777, ens., Óf letters soos u = x, a = r + x, ens.

U kan die modus op die volgende drie verskillende maniere spesifiseer.

  1. Sonder ‘n voorvoegsel wanneer u lêers wil vind met die presiese regte.
  2. Met “-” vir lêers met ten minste die gespesifiseerde toestemming. Dit stuur lêers met die gespesifiseerde sowel as addisionele hoër regte.
  3. Om “/” te gebruik, moet u die eienaar of groep spesifiseer met die toestemming van die lêer.

Soek lêers met toestemming 777

vind -perm 777

uitset

./ bestand1

Soek lêers met ten minste 766
vind -perm -766

uitset

./ file2
./ bestand1

Die opdrag soek na alle lêers waarin die

  • Die lêer se eienaar het toestemmings gelees / geskryf / uitgevoer.
  • Groep het lees- / skryftoestemmings
  • Ander het toestemming vir lees / skryf

As sodanig lewer dit twee lêers wat aan hierdie kriterium voldoen – lêer1 en lêer2. Die lêers hoef nie die presiese 766 toestemmings te hê nie en kan so lank ekstra hê, maar dit moet ten minste die gespesifiseerde bevat.

Soek lêers wat deur die eienaar geskryf kan word

Ons sal nou die ‘/’ gebruik om lêers te soek wat deur hul eienaar, groep of ander persone geskryf kan word.

vind -perm / 222
.
./ file2
./ bestand3
./ bestand1

Bogenoemde is op soek na lêers wat deur hul eienaar of groep geskryf kan word.
Dit stuur lêers wat deur een van beide geskryf kan word, maar nie noodwendig deur albei nie. Gebruik die – voorvoegsel om lêers te sien, waar albei skryfbare regte het.

vind -perm -220

uitset

./ file2
./ bestand1

Soek lêers wat deur ‘n gebruiker besit word

Soek alle lêers wat deur Jack besit word

vind / huis-gebruiker jack

uitset

/ Huis / jack
/home/jack/examples.desktop
/home/jack/.gnupg
/home/jack/.gnupg/private-keys-v1.d
/home/jack/ans.cgi

Soek spesifieke lêers wat deur ‘n gebruiker besit

Vind alle tekslêers wat deur Jack besit word

vind / huis-gebruiker jack-naam "* txt"

uitset

/home/jack/docs/file32.txt

Soek en lys lêers en kaarte saam met hul regte

vind-naam "* .conf" | ls -l

uitset

altesaam 120
drwxr-xr-x 2 root root 4096 31 Desember 31 13:19 rugsteun2
drwxr-xr-x 2 wortelwortel 4096 4 Januarie 11 11:57 Desktop
drwxr-xr-x 2 root root 4096 Dec 31 11:50 Dokumente
drwxr-xr-x 2 wortelwortel 4096 Des 31 12:27 Downloads
-rw-r – r– 1 root root 0 4 Jan 12 12:02 file22.doc
drwxr-xr-x 2 wortelwortel 4096 4 Januarie 14:14 lêer23
-rw-r – r– 1 wortelwortel 0 4 Januarie 12:23 lêer23.txt

Soek en handel oor die resultate

In hierdie afdeling gaan ons kyk hoe u kan optree op die lêers wat ooreenstem met die patroon wat gespesifiseer is in die vindopdrag.

Soek lêers en verander regte

Vind en verander regte vir sekere lêertipes. In ons geval werk ons ​​met PHP-lêers met verskillende toestemmings soos hieronder getoon.

[Email protected]: ~ / ver $ ls -la

totaal 8
drwxrwxr-x 2 jack jack 4096 3 Jan 3 14:11 .
drwxr-xr-x 8 jack jack 4096 3 Jan 14:05 ..
-rwxr-xr-x 1 jack jack 0 Jan 3 14:06 ans.php
-rw-rw-r– 1 jack jack 0 Jan 3 14:11 base.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:06 query.php
-rw-rw-r– 1 jack jack 0 Jan 3 14:11 qust.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:06 text.php
-rw-rw-r– 1 jack jack 0 Jan 3 14:11 varier.php

Ons sal nou na al die PHP-lêers (hierbo) kyk en hul regte deur 755 vervang

vind ver-naam "* .php" -tipe f-exec chmod 755 {};

Die opdrag soek na PHP-lêers in die ver-gids en stel hul toestemming dan op 755 (rwxr-xr-x)

Resultate

[Email protected]: ~ / ver $ ls -la
totaal 8
drwxrwxr-x 2 jack jack 4096 3 Jan 3 14:11 .
drwxr-xr-x 8 jack jack 4096 3 Jan 14:05 ..
-rwxr-xr-x 1 jack jack 0 Jan 3 14:06 ans.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:11 base.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:06 query.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:11 qust.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:06 text.php
-rwxr-xr-x 1 jack jack 0 Jan 3 14:11 wissel.php

Vind en verander lêer- en gidstoestemmings

Soek lêers met 644 toestemmings en verander dit om 655 toestemmings te hê

vind. -tipe f -perm 644 -exec chmod 655 {};

U kan ook na kaarte soek met 644 toestemmings en dit vervang met 755.

vind. -tik d -perm 644

uitset

./ docs

Die dokumente-lêergids het 644 toestemmings

drwxrwxr-x 2 jack jack 4096 3 Jan 3 12:45 docs

Om dit op 755 te stel, hardloop ons

vind. -tik d -perm 644 -exec chmod 755 {};

Nou kan ons weer kyk wat presies 755 is

vind. -tik d -perm 755

uitset
.
./ docs

Van bo af kan ons sien dat die wortel en dat dokumente-kaarte die 755 toestemmings het.

Ls –la opdrag gee die volgende besonderhede

drwxr-xr-x 2 jack jack 4096 3 Jan 3 12:45 docs

Soek en kopieer lêers of kaarte

Soek en kopieer ‘n spesifieke lêer na ‘n gids

Die onderstaande opdrag vind die file22.txt-lêer en kopieer dit na die ~ / tmp / images-gids.

vind -iname file22.txt -exec cp {} ~ / tmp / images;

Soek en kopieer een soort lêers na ‘n gids

Gebruik lêers om lêers soos beelde met jpg-uitbreiding in die huidige gids te vind en dit na ‘n ander plek soos ‘n prentmap te kopieer.

vind -iname ‘* .jpg’ -exec cp {} ~ / tmp / images;

Dit sal al die jpg-lêers vind en kopieer na die ~ / tmp / images-lêergids.

Soek en kopieer een lêer na baie kaarte

Soek en kopieer ‘n enkele na verskeie kaarte.

vind ~ / tmp / dir1 / ~ / tmp / dir2 / $ HOME / 3 / -maxdepth 0 -exec cp ~ / numeric / hci {};

Dit sal die hci-lêer vind en dit na die drie kaarte van / tmp / dir1 / / tmp / dir2 / en $ HOME / 3 / kopieer.

Soek en skuif lêers na ‘n ander gids

Om ‘n bekende lêer van ‘n gids na ‘n ander te skuif. Om die universal.php-lêer te skuif;

vind ~ / map / -typ f -name universal.php -exec mv {} ~ / numeric /;

Soek en skuif lêers met ‘n sekere uitbreiding na ‘n ander gids

vind ~ / numeriese / -type f-naam ‘* .php’ -exec mv {} ~ / map /;

Soek sekere lêers en skuif na ‘n spesifieke gids

vind -tipe f-naam uni *. * -exec mv {} ~ / unifiles /;

Die opdrag soek na al die lêers met name wat begin met uni en enige uitbreiding het. Dit skuif dit dan na die gids / unifiles /

Soek en skuif lêers op grond van ouderdom

Soek en skuif lêers ouer as die spesifieke dae na ‘n ander plek, soos die argief.

vind / pad / -typ f-naam ‘* .pdf’ -mtime +20 -exec mv {} / backup1 /;

Daar sal na pdf-lêers ouer as 20 dae gekyk word en dit na die back-up1-gids oorgedra word.

Soek en verwyder lêers en kaarte

Die sintaksis vir die opsporing en verwydering van lêers of kaarte in die huidige gids is

vind. -tik f-naam in "lêer om te verwyder" -exec rm -f {}; slegs om lêers te verwyder of

vind. -tik d-naam in "dir-tot-delete" -exec rm -rf {}; om slegs kaarte te verwyder

Soek en verwyder slegs spesifieke lêers

Gebruik lêers om lêers wat met til begin te vind en uit te vee;

vind. -tik f-naam in "til *" -exm rm {};

Om kaarte te vind en uit te vee wat met til begin

vind. -tik d-naam in "til *" -exm rm {};

Verwyder beide lêers en kaarte

vind. -Naam "til *" -exec rm -rf {};

Dit sal beide lêers en kaarte verwyder met die letters til.

Vee uitbreiding uit

Hieronder is hoe u alle txt-lêers in die huidige gids kan opspoor en uitvee. Vervang die txt met ‘n ander uitbreiding soos bak, pdf of enige ander een wat u wil verwyder.

vind. -tik f-naam in "* txt" -exec rm -f {};

As u wil hê dat die stelsel u moet bevestig voordat die lêer uitgevee word, voeg die -i-opsie by soos hieronder.

vind. -tik f-naam in "* txt" -exec rm -i {};

uitset

rm: verwyder gewone leë lêer ‘./File22.txt’? y
rm: verwyder gewone leë lêer ‘./file22.txt’? y
rm: verwyder gewone leë lêer ‘./file23.txt’?

Standaard verwyder die -rm nie die kaarte nie, en u moet die –r-opsie gebruik om ‘n rekursiewe verwydering te verseker. Dit verseker dat die leë kaarte en lêers wat verwyder word, verwyder word. Die -f-opsie dwing die verwydering en word gebruik vir beide lêers en kaarte.

Soek en verwyder lêers ouer as n dae

Soek en skrap rugsteunlêers ouer as 20 dae vanaf die huidige gids.

vind. -tik f-naam ‘* .bak’ -mtime +20 -exec rm {};

Dit sal alle .bak-lêers ouer as 20 dae uitvee.

Soek en vee slegs kaarte uit

Om ‘n gids genaamd dir22 uit te vee

vind. -type d-naam dir22 -exec rm -rf {};

Maak seker dat u ooreenstem met die naam van die gidsnaam of die opsie-naam gebruik.

vind. -tik d -iname Dir22 -exec rm -rf {};

Verwyder beide Dir22 en dir22

Gebruik die -i opsie om te bevestig voordat u dit uitvee.

vind. -tik d -iname Dir22 -exec rm -rf -i {};

uitset
rm: verwyder gids ‘./Dir22’? N
rm: verwyder gids ‘./dir22’? y

In ons geval het ons n getik vir gids Dir22 wat nie verwyder sal word nie en y vir die dir22 wat nou verwyder sal word.

Soek en verwyder leë lêers

U kan een van die volgende opdragte gebruik om leë lêers op te spoor en outomaties uit te vee.

vind ./ -type f-grootte 0 -exm rm -f {};

of
vind ./ -type f-grootte 0 | xargs rm -f
of
vind ./ -tik f-grootte 0 –veeg

Soek en verwyder leë kaarte

Om leë kaarte te verwyder, gebruik ons ​​die d-opsie.

vind ./ -type d -empty -exec rmdir {};

‘N Ander alternatief is om verwyder te gebruik in plaas van verwyder.

vind ./ -typ d -empty-delete

Let daarop dat die verwydering van stelsels of kritieke lêers vanaf u rekenaar die bedryfstelsel of toepassings kan beskadig of u belangrike data kan verloor.

Om die toevallige verwydering te voorkom, is dit die beste manier om ‘n gebruikersrekening wat nie wortel het nie, te gebruik. Sorg ook dat u die regte lêers wat nie nuttig is nie, uitvee en dat u ‘n rugsteun van al u datalêers het, net vir ingeval.

Wat is volgende?

Probeer dit in u laboratorium of NIE-PRODUKSIE-omgewing. Kyk of u sommige kan gebruik om die skoonmaak van die lêerstelsel met Crontab te outomatiseer. En om Linux te bemeester, gaan kyk hierna aanlyn kursus.

Tags:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map