Gjeni shembuj Ubuntu. Gjetja e skedarëve në Linux ose Mësimi i komandës find

Shtëpi / Hard disqet

Problemi i kërkimit dosjet e nevojshme ose dosjet ishte, është dhe do të jetë gjithmonë relevant. Njerëzit vazhdimisht harrojnë se ku e ruajtën skedarin që u duheshin Crap.doc, ose Super-music.mp3. Prandaj, pavarësisht nga ju sistemi operativ, kërkimi për skedarë ose direktori do të jetë gjithmonë i kërkuar, qoftë në Linux, Windows ose MacOS X. Veglat e kërkimit thjesht do të jenë të ndryshme. Kërkimi në Linux mund të ndahet në dy kategori: grafik dhe konsol. Le të fillojmë me krenarinë e të gjithë lunixoids - Terminali. Ekziston një program i mrekullueshëm për kërkimin në Linux i quajtur gjeni.
Formati i komandës find është:
gjeni shtegun për në drejtorinë në të cilën dëshironi të kërkoni - opsionet (çelësat)
ku rruga është direktoria në të cilën kërkohet kërkimi. Rrugët e mëposhtme mund të specifikohen:

.
– kërkoni në drejtorinë aktuale;
/ – kërko nga direktoria rrënjësore, d.m.th. në të gjithë sistemin;
~ – kërkoni në drejtorinë kryesore.

Edhe pse rruga, natyrisht, mund dhe do të jetë e ndryshme. Më sipër janë vetëm shtigjet standarde.
Pra, opsionet më të rëndësishme të komandës find duken kështu: emri
— kërkoni për skedarë sipas emrit; përdorues
— kërkoni për skedarë që i përkasin përdoruesit të specifikuar; grup
— kërkoni për skedarë që i përkasin një grupi të caktuar; perm
— kërkoni për skedarë me mënyrën e specifikuar të hyrjes; lloji

— kërkoni për skedarë të një lloji.

  • Ekzistojnë gjithashtu shumë lloje:
  • b – skedari i veçantë i bllokut;
  • d – drejtoria;
  • c – skedari i veçantë i simboleve;
  • f – dosje e rregullt;
  • l – lidhje simbolike;
  • p – tub i emërtuar;

s – fole.
Madhësia n - kërkoni për skedarë, madhësia e të cilëve është n njësi;

-mtime -n +n – kërkoni për skedarë që ndryshuan përmbajtjen e tyre më pak se (-) ose më shumë se (+) ditë më parë.
Dhe tani disa shembuj të përdorimit të komandës find.
Opsioni më i përdorur është -name, i cili kërkon skedarë sipas emrit.

Për shembull, komanda:

gjeni ~ Emri i muzikës "*.mp3"

do të kërkojë të gjithë skedarët (simboli *) që kanë shtesën .mp3 në dosjen Music, e cila ndodhet në direktorinë tuaj Home.

gjeni / -emrin "*.pdf"

Kjo komandë do të kërkojë skedarë me shtesën .pdf në të gjitha drejtoritë ku ju lejohet qasja. Nëse programi nuk mund të hyjë në disa drejtori të sistemit, ai do t'ju paralajmërojë për këtë. Dhe nëse ende duhet të shikoni të gjitha drejtoritë plotësisht, atëherë përdorni të drejtat e Superpërdoruesit:

sudo find / -emri "*.pdf"

do të listojë skedarët në drejtorinë tuaj të shtëpisë duke filluar me shkronjat Foto.

Ndërprerësi "-name" bën dallimin midis shkronjave të mëdha dhe të vogla; Për të injoruar këto kritere gjatë kërkimit, duhet të përdorni opsionin '-iname'. Më pas programi do të gjejë të gjithë skedarët që do të përbëhen nga shkronjat: Foto, foto ose FOTO.

Nëse dëshironi që rezultati i kërkimit të ruhet në skedar teksti, atëherë komanda do të marrë formën e mëposhtme:

gjeni ~ -emrin "Foto*" > results.txt

Nëse e dini emrin e plotë të skedarit, atëherë komanda do të ishte:

gjeni / -emër .profil

në këtë rast I gjithë sistemi do të kërkohet për skedarin .profile të fshehur.

Ju mund të kërkoni për një skedar nëse dini një pjesë të emrit të tij. Në këtë rast, komanda do të jetë si kjo:

gjeni /home/dm/Music/Clips/ -emri "*uniform*"

Nëse dëshironi të gjeni skedarë që fillojnë me shkronja të caktuara (për shembull, nga a në c), atëherë është më mirë të përdorni shprehje të rregullta, të cilat janë shumë të përshtatshme për t'u përdorur:

gjeni / -emrin "*"

Kjo komandë do të jetë në gjendje të gjejë të gjithë skedarët në sistemin tuaj që fillojnë me shkronjat a deri në c.

Kërkoni për skedarë me mënyra të veçanta aksesi

Nëse dëshironi të gjeni skedarë që kanë mënyra të caktuara aksesi, opsioni -perm mund t'ju ndihmojë me këtë. Për shembull, le të gjejmë skedarë, mënyra e hyrjes së të cilëve është 775 dhe ndodhen në drejtorinë aktuale:

gjeni . -perm 775

Kërkoni skedarë sipas përdoruesve ose grupeve.

Për të gjetur një skedar që i përket një përdoruesi specifik, thjesht ekzekutoni komandën e mëposhtme:

gjeni / -përdoruesi komp

Kjo komandë do të gjejë skedarë në sistem që janë në pronësi të përdoruesit comp.
Dhe për të gjetur skedarë që i përkasin një grupi specifik (për shembull grupi 2), ekzekutoni komandën:

gjeni / -grupi grup2

Për të gjetur skedarë të përdoruesve ose grupeve joekzistente, duhet të përdorni opsionet -nouser dhe -nogroup:

gjej / -nouser

gjej / -nuk grup

Kërkoni për skedarë të një lloji të caktuar

Komanda find ka një veçori tjetër të dobishme, ajo mund të gjejë skedarë të një lloji specifik. Për ta bërë këtë, përdorni çelësin e tipit. Le të gjejmë lidhje simbolike në drejtorinë /etc:

gjeni /etc -lloj l

Le të gjejmë një listë të drejtorive që janë të pranishme në dosjen /mnt/raid

gjeni /mnt/raid -lloj d

Kërkoni skedarë sipas madhësisë.

Ndërprerësi -size ju lejon të gjeni skedarë të madhësisë që ju nevojitet.

gjeni . -madhësia 2000k

Kjo komandë do të gjejë dhe shfaqë skedarë me madhësi 2 megabajt dhe të vendosur në drejtorinë aktuale. Dhe nëse, për shembull, duhet të gjeni skedarë më të vegjël se 500 kilobajt, atëherë në këtë rast komanda do të jetë si kjo:

gjeni . -madhësia -500k

Nëse keni nevojë të gjeni skedarë më të mëdhenj se 900 megabajt, komanda do të jetë si më poshtë:

gjeni / -madhësi +900M

Kërkimi i skedarëve duke përdorur çelësin -mtime

Ndërprerësi -mtime ju lejon të gjeni skedarë që kanë ndryshuar brenda një periudhe të caktuar kohore.
Për shembull, ne kemi një detyrë për të gjetur skedarë që ndodhen në dosjen /home/dm/Video dhe që kanë ndryshuar në 10 ditët e fundit.

gjeni /home/dm/Video -mtime +10

Nëse keni nevojë për të kundërtën, për shembull, për të gjetur skedarë që nuk kanë ndryshuar për një javë, atëherë komanda do të ishte si më poshtë:

gjeni /home/dm/Video -7

Në artikullin tjetër do të shkruaj për mjetet e kërkimit grafik në Ubuntu Linux.

Linux ka një komandë shumë të fuqishme dhe të dobishme për kërkimin e skedarëve - komandën gjeni. Ka shumë opsione për kërkimin e skedarëve, megjithatë, ndonjëherë shkakton vështirësi për fillestarët, kryesisht për shkak të sintaksës së tij.

Një shembull i thjeshtë i përdorimit të komandës find

Së pari, le të shohim një shembull të thjeshtë të përdorimit të komandës find për të kërkuar kompjuterin tuaj për skedarë të quajtur config. Ne do të kërkojmë skedarë konfigurimi duke filluar nga direktoria rrënjësore /. Për ta bërë këtë, duhet të ekzekutoni komandën si rrënjë për të pasur leje të mjaftueshme, përndryshe do të merrni mesazhe "Leja u refuzua". Pra, le të ekzekutojmë komandën:

Gjeni / -name config -print

Komanda do të thotë si më poshtë: kërkoni për skedarë me emrin config (-name config), duke filluar nga drejtoria / (parametri i parë i komandës find) dhe printoni emrat e skedarëve në ekran (argumenti -print). Vërej se kërkimi është rekursiv, domethënë kur kërkoni, të gjitha nëndrejtoritë kërkohen. Siç mund ta shihni, gjithçka është e thjeshtë. Tani le të shohim sintaksën e komandës dhe të kalojmë në një përmbledhje të argumenteve kryesore të saj.

gjeni sintaksën e komandës

Sintaksa e përgjithshme e komandës find, të cilën mund ta gjeni në udhëzues referencë, mund të mos duket krejtësisht e thjeshtë, kështu që unë do t'ju jap një më të lehtë për t'u lexuar:

Gjeni [shtegun] [opsionet] [kriteret e kërkimit] [veprimet në skedarë]

Rruga

Rruga e kërkimit mund të jetë ose shtigje absolute ose relative, ose një listë e shtigjeve të ndara nga një hapësirë.

Opsionet

Opsionet e gjetjes së komandës janë renditur duke filluar me një karakter "-" të ndjekur nga emri i opsionit. Le të shohim opsionet kryesore.

Kriteret e kërkimit

Komanda find mund të ketë kritere të shumta kërkimi (të quajtura edhe teste). Çdo kriter përfaqëson një kusht specifik testimi që kthen ose të vërtetë ose të gabuar. Kjo mund të krahasohet me kushtet e një deklarate if në programim. Ndërsa komanda find përpunon çdo skedar, kontrollon secilin kriter me radhë, dhe nëse kriteri tjetër kthen false, atëherë komanda find kalon në skedarin tjetër. Komanda find ka mjaft kritere, ne do të shqyrtojmë vetëm disa prej tyre.

-atime NSkedari është aksesuar për herë të fundit N ditë më parë.
-mtime NSkedari është modifikuar për herë të fundit N ditë më parë.
-model i emritEmri i skedarit (shaboni i emrit) pa specifikuar një shteg. Rekomandohet që gjithmonë ta vendosni modelin në thonjëza.
-skedar_tjetër më i riSkedari u modifikua më vonë se other_file.
-madhësia [±] NMadhësia e skedarit është e barabartë me N blloqe, nëse specifikohet +N, atëherë madhësia e skedarit është më e madhe se N, -N është më e vogël. Karakteri pas N tregon madhësinë e bllokut. b - 512 byte, c - byte, w - 2 bajt, k - kilobyte, M - megabajt, G - gigabajt.
- tipi CLloji i skedarit C. Vlerat më të përdorura për C: d - drejtori, f - skedar.
-user User_nameSkedari është në pronësi të një përdoruesi të quajtur Emri i përdoruesit.

Shembuj të përdorimit të komandës find duke përdorur kritere

Gjeni skedarë të rregullt (jo direktori) në drejtorinë aktuale, emrat e të cilëve fillojnë me karakterin "~".

Gjeni. -tipi f -emri "~*" -print

Gjeni skedarë në drejtorinë aktuale që janë modifikuar më shumë se file.bak.

Gjeni. -skedar më i ri.bak -tipi f -print

Operatorët

Kriteret mund të kombinohen duke përdorur operatorë. Më poshtë janë operatorët në rend zbritës të përparësisë.

rast i përgjithshëm Kur përdorni operatorë, kriteret kontrollohen sipas prioritetit. Ju mund ta ndryshoni rendin duke përdorur kllapa. Kllapat duhet të ndahen duke përdorur një vijë të prapme.

Shembuj të përdorimit të komandës find duke përdorur operatorët

Gjeni skedarë në drejtorinë aktuale që fillojnë me simbolin "~" ose me "temp" dhe janë skedarë të rregullt (-lloji f), dhe jo direktori.

Gjeni. \(-emri "~*" -ose -emri "temp*" \) -tipi f -print

Gjeni në direktorinë aktuale (pa përpunuar nëndrejtori - -maxdeph 1) skedarë të rregullt (-file f) më të mëdhenj se 600 megabajt dhe më pak se 1 gigabajt (-madhësi) ose skedarë emri i të cilëve përfundon me ".mpeg" (-name).

Gjeni. -maxthellësia 1 \(\(-madhësia +600M -dhe -madhësia -1G \) -ose -emri "*.mpeg" \) -dhe -type f

Veprimet në skedarë

Kur komanda find ekzekutohet, mund të kryeni veprime të ndryshme në skedarët e gjetur. Le të shohim ato kryesore.

Në komandat e ekzekutueshme, mund të përdorni parametrin () si argument, i cili zëvendësohet nga shtegu i skedarit aktual.

Shembuj të përdorimit të komandës find duke përdorur veprime

Gjeni skedarë të rregullt më të mëdhenj se 1000 bajt në drejtorinë aktuale dhe ekzekutoni komandën ls -dils mbi to (veprimi ls).

Gjeni. -madhësia +1000c -lloji f -ls

Gjeni skedarë të rregullt në drejtorinë aktuale duke filluar me karakterin "~" dhe për çdo skedar lëshoni një kërkesë për ta fshirë atë (për të ekzekutuar komandën rm).

Gjeni. -emri "~*" -tipi f -ok rm () \;

konkluzioni

Në këtë artikull kemi diskutuar një shumë të rëndësishme dhe të dobishme Komanda Linux find , i cili ofron mundësi pothuajse të pakufizuara për kërkimin e skedarëve duke përdorur shumë kritere dhe modele. Dhe duke përdorur komandat (veprimet) mund të kërkoni për skedarë dhe të kryeni ndonjë operacion mbi to.

    Gjeni skedarin me emrin e tij. Të tillë kërkim i thjeshtë kryhet duke përdorur mjetin gjeni. Komanda e mëposhtme do të kërkojë një skedar në drejtorinë aktuale dhe të gjitha nëndrejtoritë e saj.

    find -iname "emri i skedarit"

    • Shkruani -iname në vend të -name për të injoruar shkronjat e vogla në emrin e skedarit të futur. Komanda -name është e ndjeshme ndaj shkronjave të vogla.
  1. Filloni të kërkoni në direktorinë rrënjë. Për të kryer një kërkim në të gjithë sistemin, shtoni / modifikuesin në pyetje. Në këtë rast, komanda find do të kërkojë skedarin në të gjitha drejtoritë, duke filluar nga ai rrënjë.

    gjeni / -iname "emri i skedarit"

    • Mund të filloni të kërkoni në një drejtori të caktuar; për ta bërë këtë, zëvendësoni / me shtegun e drejtorisë, për shembull /home/max.
    • Mund të përdoret. në vend të / për të kërkuar skedarin vetëm në drejtorinë aktuale dhe nëndrejtoritë e saj.
  2. Përdorni simbolin wildcard.* për të gjetur skedarë emri i të cilëve përputhet me një pjesë të kërkesës. Ju mund të përdorni karakterin e shkrepjes * për të gjetur një skedar emri i plotë i të cilit nuk dihet, ose për të gjetur të gjithë skedarët me një shtesë specifike.

    gjeni /home/max -inname "*.conf"

    • Kjo komandë do të gjejë të gjithë skedarët me një shtesë .conf në dosjen Max të përdoruesit (dhe nën-dosjet e saj).
    • Përdorni këtë komandë për të gjetur të gjithë skedarët, emrat e të cilëve përputhen me një pjesë të pyetjes. Për shembull, nëse keni shumë skedarë të lidhur me WikiHow në kompjuterin tuaj, gjeni të gjithë skedarët duke shtypur "*wiki*".
  3. Bëni më të lehtë menaxhimin e rezultateve të kërkimit tuaj. Nëse ka shumë rezultate kërkimi, do të jetë e vështirë të gjeni skedarin që ju nevojitet midis tyre. Përdorni | në mënyrë që rezultatet e kërkimit të filtrohen nga komanda less. Kjo do ta bëjë më të lehtë shfletimin dhe filtrimin e rezultateve të kërkimit tuaj.

    gjeni /home/max -inname "*.conf" |

    më pak Përdorni modifikues për të shfaqur vetëm disa artikuj në rezultatet e kërkimit. Mund të kërkoni për skedarë të rregullt (f), direktori (d), lidhje simbolike (l), pajisje hyrje/dalje të bazuara në karaktere (c) dhe pajisje bllokuese (b).

    gjeni / -type f -iname "emri i skedarit"

  4. Filtro rezultatet e kërkimit sipas madhësisë së skedarit. Nëse keni shumë skedarë me emra të ngjashëm në kompjuterin tuaj, por e dini madhësinë e skedarit që po kërkoni, filtroni rezultatet e kërkimit sipas madhësisë së skedarit.

    find / -size +50M -iname "filename"

    • Kjo komandë do të gjejë të gjithë skedarët më të mëdhenj se 50 MB. Përdorni modifikuesin + ose - për të treguar një rritje ose ulje në madhësi. Nëse nuk ka modifikues + ose -, komanda do të gjejë skedarë, madhësia e të cilëve përputhet saktësisht me madhësinë e specifikuar.
    • Ju mund t'i filtroni rezultatet tuaja të kërkimit sipas bajt (c), kilobajt (k), megabajt (M), gigabajt (G) ose blloqe 512 bajte (b). Ju lutemi vini re se modifikuesit e treguar janë të ndjeshëm ndaj shkronjave të vogla.
  5. Përdorni operatorë logjikë (operatorë Boolean) për të kombinuar filtrat e kërkimit. Ju mund të përdorni operatorët -dhe , -or , -not për të kombinuar të ndryshëm pyetje kërkimi në një kërkesë.

    gjeni /travelphotos -tip f -size +200k -jo -inname "*2015*"

    • Kjo komandë do të gjejë skedarë në dosjen Travelphotos që janë më të mëdha se 200 kB dhe nuk kanë numrin 2015 në emrat e tyre.

Një nga problemet më të zakonshme që hasin përdoruesit për herë të parë Linux është gjetja e skedarëve që u nevojiten. Ky tutorial përfshin përdorimin e komandës find, e cila ju lejon të zgjidhni këtë problem dhe të kërkoni skedarë me filtra dhe parametra të ndryshëm.

Kërko sipas emrit

Kjo është mënyra më e qartë për të kërkuar skedarë. Për të kërkuar sipas emrit, shkruani:

Gjeni emrin "emri"

Ky pyetje do të jetë i ndjeshëm ndaj shkronjave të vogla, që do të thotë se "skedari" dhe "Skedari" do të trajtohen si emra të ndryshëm.

Për të kërkuar sipas emrit, të pandjeshme ndaj shkronjave, shkruani:

Gjej -inname "emri"

Nëse keni nevojë të gjeni të gjithë skedarët që nuk përputhen me një model të caktuar, mund ta përmbysni kërkimin duke përdorur opsionin "-not" ose "!". Kur përdorni "!" Ju duhet t'i shpëtoni personazhit në mënyrë që bash të mos përpiqet ta interpretojë atë përpara se të gjeni vrapimet:

Gjej -not -name "emri për të përjashtuar"

Gjeni\! -emri "emri për të përjashtuar"

Kërko sipas llojit

Ju mund të specifikoni llojin e skedarëve që duhet të gjeni duke përdorur parametrin -type.

Gjeni kërkesën -type type_descriptor

Këtu janë përshkruesit më të zakonshëm të tipit:

f: skedar i rregullt
d: drejtoria
l: lidhje simbolike
c: pajisjet e karakterit
b: bllokojnë pajisjet

Për shembull, nëse na duhet të gjejmë të gjitha pajisjet e karaktereve në sistem, mund të ekzekutojmë komandën e mëposhtme:

Dhe në këtë mënyrë ne mund të kërkojmë për të gjithë skedarët që përfundojnë me ".conf":

Gjeni / -type f -name "*.conf"

Kërkoni sipas kohës dhe madhësisë

Find ofron një sërë mënyrash për të filtruar rezultatet sipas madhësisë dhe kohës.

Kërko sipas madhësisë

Filtrimi sipas madhësisë bëhet duke përdorur parametrin "-size".

Pas vlerës së madhësisë, duhet të specifikoni një prapashtesë që tregon njësitë e matjes. Këtu janë disa nga opsionet më të zakonshme:

c: byte
k: kilobajt
M: megabajt
G: gigabajt
b: blloqe prej 512 bajtesh

Për të gjetur të gjithë skedarët që janë saktësisht 100 bajt në madhësi, futni:

Gjeni / -madhësia 100c

Për të kërkuar të gjithë skedarët më të vegjël se 100 bajt, mund të përdorim formularin e mëposhtëm:

Gjeni / -madhësia -100c

Për të kërkuar skedarë më të mëdhenj se 500 megabajt, mund të përdorni komandën e mëposhtme:

Gjeni / -madhësia +500M

Kërko sipas kohës

Linux ruan kohën e aksesit, kohën e modifikimit dhe kohën e modifikimit.

  • Koha e hyrjes: Hera e fundit që skedari është lexuar ose shkruar.
  • Koha e modifikimit: koha kur përmbajtja e skedarit u modifikua për herë të fundit.
  • Koha e modifikimit: Koha kur meta të dhënat në inode të skedarit u modifikuan për herë të fundit.

Për të filtruar sipas këtyre vlerave, mund të përdorim përkatësisht opsionet "-atime", "-mtime" dhe "-ctime", si dhe simbolet plus dhe minus për të gjetur skedarë me një kohë më të hershme ose të mëvonshme, të ngjashme me filtrimin sipas madhësia.

Vlera e këtyre parametrave tregon se sa ditë më parë duhet të kryhet kërkimi.

Për të kërkuar skedarë, përmbajtja e të cilëve u ndryshua dje, shkruani:

Gjeni / -mtime 1

Nëse kemi nevojë për skedarë që janë aksesuar dje dhe më vonë, mund të përdorim komandën:

Gjeni / -atime -1

Për të tërhequr skedarë, meta të dhënat e të cilëve janë ndryshuar më shumë se tre ditë më parë, përdorni komandën e mëposhtme:

Gjeni / -ctime +3

Ka gjithashtu opsione shtesë, të cilat ju lejojnë të specifikoni minutat në vend të ditëve. Kjo komandë liston skedarët e modifikuar në minutën e fundit:

Gjeni / -mmin -1

Për më tepër, gjetja mund të krahasohet me një skedar të caktuar dhe të kthejë të gjithë skedarët që janë më të rinj:

Gjeni / -myfile më të ri

Kërko sipas pronarit dhe lejeve

Duke përdorur parametrat "-user" dhe "-group", mund të kërkoni për skedarë sipas pronarit ose grupit, përkatësisht. Për të gjetur skedarin "syslog" të përdoruesit, duhet të futni:

Gjeni / -slogun e përdoruesit

Në mënyrë të ngjashme, mund të kërkoni për skedarë në grupin "hije":

Gjeni / -hijen e grupit

Ju gjithashtu mund të kërkoni për skedarë me leje specifike.

Nëse duhet të përputhemi me një grup të saktë lejesh, përdoret forma e mëposhtme:

Gjeni / -perm 644

Nëse keni nevojë të gjeni të gjithë skedarët me rezolucion jo më të ulët se ato të specifikuara, duhet të futni:

Gjeni / -perm -644

Të gjithë skedarët me leje shtesë do të plotësojnë këtë kriter. Për shembull, në këtë rast do të korrespondojë me një skedar me lejet "744".

Filtrimi sipas thellësisë

Për këtë seksion, do të na duhet të krijojmë një strukturë drejtorie me tre nivele në drejtorinë e përkohshme me dhjetë drejtori në nivelin e parë. Çdo direktori (duke përfshirë të përkohshmen) do të ketë dhjetë nëndrejtori dhe dhjetë skedarë.

Le të krijojmë strukturën duke ekzekutuar komandat e mëposhtme:

Mkdir -p ~/test/level1dir(1..10)/level2dir(1..10)/level3dir(1..10) prek ~/test/(file(1..10),nivel1dir(1..10 )/(skedari(1..10),niveli2dir(1..10)/(skedari(1..10),niveli3dir(1..10)/skedari(1..10)))) cd ~/test

Ju mund të përdorni komandat ls dhe cd për të kontrolluar strukturën. Pasi të keni kuptuar organizatën, duhet të ktheheni në drejtorinë e testimit:

Cd ~/test

Tani le të përpiqemi të gjejmë skedarë specifikë në këtë strukturë. Le të fillojmë me një shembull të një kërkimi të rregullt sipas emrit:

Gjeni -name file1

Ka shumë rezultate. Nëse e përkthejmë daljen në një numërues, do të shohim që ka gjithsej 1111 skedarë të tillë:

Gjeni -name file1 | wc -l 1111

Në shumicën e rasteve këto rezultate janë të tepërta. Le të përpiqemi të kufizojmë kërkimin.

Mund të vendosni thellësinë maksimale të kërkimit në drejtorinë e kërkimit të nivelit të lartë:

Gjeni -numrin max-thellësi -emrin emrin

Për të gjetur "file1" vetëm në drejtoritë "niveli 1" dhe më lart, duhet të specifikoni një thellësi maksimale prej 2 (1 për drejtorinë e nivelit të lartë dhe 1 për drejtoritë e nivelit 1):

Gjeni -maxdepth 2 -name file1

Nëse gjeni një gabim, ju lutemi theksoni një pjesë të tekstit dhe klikoni Ctrl+Enter.

Nëse punoni shpesh në rreshti i komandës në një kompjuter ose server ku nuk ka fare guaskë grafike, herët a vonë do të përballeni me detyrën e kërkimit të skedarëve. Për fat të mirë, Linux tashmë ka një komandë të integruar që ju lejon të gjeni një skedar në sistem.

Sot do të flasim për përdorimin e komandës gjeni - më besoni, ia vlen të mësoni se si të punoni me këtë mjet të fuqishëm dhe të përshtatshëm.

Si të përdorni komandën find

Me fjalë të thjeshta, sintaksa bazë për komandën find është si më poshtë:

Gjeni emrin e skedarit / parametrat e rrugës

Le të kuptojmë aftësitë e ekipit

Kërkoni për një skedar me emër

Parametri i parë është rruga. Nëse nuk e keni idenë se ku mund të fshihet skedari, zëvendësoni shtegun me / - mjafton. Megjithatë, kërkimi në të gjithë diskun mund të marrë mjaft kohë dhe nëse e dini se ku mund të gjendet skedari, specifikoni dosjen nga ku do të filloni kërkimin (për shembull, ~ për të kërkuar në dosjen kryesore të përdoruesit).

Tani le të kalojmë te parametrat e kërkimit. Ekzistojnë dy mundësi për të kërkuar një skedar me emër:

  • emri - kërkoni për emrin e skedarit të ndjeshëm ndaj rasteve
  • iname - kërko emrin e skedarit të pandjeshëm ndaj rasteve

Duhet mbajtur mend se në Linux rasti i emrit të skedarit është i rëndësishëm, dhe nëse keni nevojë të gjeni, për shembull, skedarin Ubuntu.txt, atëherë komanda e mëposhtme nuk do të japë asnjë rezultat:

Gjeni / -emrin ubuntu.txt

Por mund të përdorni komandën iname dhe të kryeni një kërkim të pandjeshëm ndaj rasteve:

Gjeni / -iname ubuntu.txt

Kërko sipas llojit

Komanda find ju lejon të kërkoni më shumë sesa thjesht skedarë. Këtu janë llojet e mbështetësve të kërkimit të dorezave:

  • f - skedar i rregullt
  • d - drejtoria
  • l - lidhje simbolike
  • c - pajisje me karakter
  • b - pajisje bllokimi

Për shembull, për të kërkuar të gjitha drejtoritë brenda drejtoria e shtëpisë përdoruesi aktual emri i të cilit fillon me "config", ekzekutoni komandën e mëposhtme:

Gjeni ~ -type d -name config*

Dalja e rezultateve të kërkimit në një skedar

Funksioni i përshtatshëm i nxjerrjes së rezultatit të një komande në një skedar do të jetë jashtëzakonisht i dobishëm nëse ka shumë rezultate kërkimi ose ka nevojë për të punuar me to më vonë. Për shembull, për të ruajtur një listë të të gjithë skedarëve të konfigurimit të gjetur në një skedar conf_search, ekzekutoni komandën e mëposhtme:

Gjeni /etc -type f -name “*.conf” > conf_search

Kërkoni skedarë sipas madhësisë

Ky është një opsion shumë i dobishëm kur ju mbaron hapësira në disk dhe duhet të kuptoni se ku shkoi. Për shembull, për të gjetur skedarë më të mëdhenj se 1000 MB, ekzekutoni komandën e mëposhtme:

Gjeni / -madhësia +1000M

Mund të përdoren shkurtesat e mëposhtme të madhësisë:

  • c - bytes
  • k - kilobajt
  • M - megabajt
  • G - gigabajt
  • b - blloqe prej 512 bajte

Këto janë vetëm disa mënyra për të përdorur një komandë të fuqishme. Më shumë mënyra mund të gjenden në manual duke ekzekutuar komandën

© 2024 ermake.ru -- Rreth riparimit të PC - Portali informacioni