Kaip naudoti „Linux“ komandų paiešką? Įtraukti 40 pavyzdžių

Rastas yra galingas komandų eilutės įrankis, leidžiantis sistemos administratoriams rasti ir valdyti failus ir katalogus, remiantis įvairiais paieškos kriterijais. Jis gali rasti failus pagal pavadinimą, tipą ar plėtinį, dydį, teises ir kt.


Be failų ir katalogų buvimo vietos, ieškos komandos derinimas su kitais leidžia atlikti veiksmus ir dėl rezultatų. Pridėjus parinktį -exec, sisteminiams administratoriams leidžiama vykdyti išorines komandas ir atlikti tokius veiksmus, kaip kopijuoti, perkelti, ištrinti ar pakeisti failų teises, atitinkančias nurodytus kriterijus, pvz., Dydį, pavadinimą ir pan..

Šiame straipsnyje mes pirmiausia paaiškinsime pagrindines paieškos komandas pavyzdžiais. Tai parodys, kaip rasti failus ir katalogus. Tada jums parodysime, kaip naudoti parinktį -exec, kad galėtumėte veikti failus ar katalogus, atsižvelgiant į jų dydį, teises ir kt..

Bendroji paieškos komandos sintaksė yra

rasti {kelias} {failo vardas arba ieškant ieškant} {veiksmas, kurį reikia imtis}

Kur,

  • kelias nurodo katalogą.
  • failo vardas arba ieškoma ieškant failo arba katalogo, kurio reikia ieškoti
  • veiksmai, kurių reikia imtis: kopijuoti, trinti, perkelti ir pan.

Šiame vadove paaiškinsime, kaip rasti failus ir katalogus, atitinkančius nurodytus modelius. Mes taip pat pamatysime, kaip atlikti veiksmus su failais ar katalogais, kuriuos randa komanda „rasti“. Vadovas yra paremtas „Ubuntu“, tačiau yra pritaikomas daugeliui „Linux“ paskirstymų ir versijų.

Contents

Raskite failus ir katalogus

Raskite konkrečius failus pagal pavadinimą ar plėtinį

Norėdami ieškoti konkretaus failo, paleiskite šią komandą iš šaknies (/). Komanda nurodo tikslų ieškomo failo pavadinimą.

rasti. -vard failas22.txt

Išėjimas

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

Atkreipkite dėmesį, kad rezultatai apima kelią. Tai svarbu, jei nežinote katalogo, kuriame yra failas, arba kai jis yra keliose vietose.

Taip pat galite ieškoti failo kitame kataloge, būdami dabartinėje vietoje. Tokiu atveju turite nurodyti katalogo, kuriame norite ieškoti, kelią.

rasti ./test -name file22.txt

Ieškote konkrečių failų kitame kataloge

Mūsų atveju ieškosime visų tų, kurie prasideda raidžių rinkmena bandymų kataloge.

rasti ./test -name failą *

Išėjimas

./test/file22.txt
./test/file30.doc
./test/file1.txt
./ testas / failas5, doc

Ieškokite failų pagal plėtinį

Norėdami ieškoti failų su tam tikru plėtiniu, pridėkite jį prie komandos.

rasti. -vardas * .txt

Išėjimas

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

Raskite failus ir katalogus pagal pavadinimą

Norėdami ieškoti failų ir katalogų, prasidedančių raide qa, naudokite žemiau pateiktą komandą. Savo kompiuteryje turime failus qatree.txt ir qa.txt, taip pat katalogą pavadinimu qa.

Jei vykdysime komandą;

rasti ./ -vardis "qa *"

Tai grąžina šią išvestį

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

Komanda grąžina failus ir katalogus, atitinkančius paieškos kriterijus. Norėdami rasti tik failus ar katalogus, turite tai nurodyti komandoje.

Raskite tik failus ar katalogus

Tik failams naudokite jungiklį f.

Tik failai

rasti ./ tipo f vardas "qa *"

Išėjimas

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

Tik katalogai

Norėdami rasti tik katalogus, pridėkite d tipo parinktį.

rasti ./ tipo d-vardas "qa *"

Išėjimas

./ namai / qa

Didelės ir mažosios raidės komanda

Visos paieškos su -name jungikliu yra didžiosios ir mažosios raidės ir neduos rezultatų didžiosiomis raidėmis. Norėdami gauti visus atvejus, naudokite parinktį -iname.

rasti ./ -iname "qa *"

Išėjimas

./test/qatree.pdf
./test/qa.txt
./test/QAtest.txt
./ namai / qa

Ieškokite failo iš kelių katalogų

Norėdami rasti failus skirtinguose kataloguose, komandoje pridėkite jų kelius. Mūsų atveju mes patikrinsime bandomuosius ir skaitinius katalogus.

rasti ./test ./numeric -name file22.txt-type f

Išėjimas

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

Iš visų katalogų raskite kelis failus su skirtingais plėtiniais

Norėdami rasti kelis failus, turinčius skirtingus plėtinius, tokius kaip * .doc, * .txt * .pdf ir tt, galite naudoti komandą rasti. Tai gali būti padaryta atskirai, po vieną plėtinį vienu metu arba naudojant tik vieną komandą, į kurią įeina visi. norimus plėtinius.

rasti. f tipas (-ė "* .txt" -o vardas "* .pdf" -o vardas "* .doc" )

išėjimas

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

Raskite failus su tam tikru tekstu

Kartais norite pasiekti failą, kuriame yra tam tikras tekstas, bet negalite prisiminti jo failo pavadinimo ar vietos. Ši komanda leidžia rasti visus failus, kuriuose yra jūsų tikslinis tekstas.

Norėdami ieškoti visų failų, kuriuose yra žodis hiperkonvergencija “, naudokite;

rasti / tipo f -exec grep -l -i "hiperkonvergencija" {};

Išėjimas

/ šaknis / skaitinis / hci
/ šaknis / HCIP

Parinktis „i“ leidžia komandai ignoruoti atvejus ir joje bus rastas tekstas, rašomas didžiosiomis raidėmis, ar ne, t. Y. Hiperkonvergencija, hiperkonvergencija ir kt..

Norėdami ieškoti failų konkrečiame aplanke, tiesiog pridėkite juos prie komandos

rasti ./numerinis tipo f -exec grep -l -i "hiperkonvergencija" {};

Išėjimas

./ skaitinis / hci

Raskite failus ir katalogus pagal dydį

Galite rasti visus failus ar katalogus, mažesnius, lygius ar didesnius už tam tikrą dydį, tam tikru diapazonu arba tuščius. Naudokite tinkamo dydžio formatą, atsižvelgiant į ieškomų failų ar katalogų tipą.

Dydžio parinktys apima;

c – baitai

k – kilobaitai

M – megabaitai

G – gigabaitai

Raskite tam tikro dydžio failus – lygius 30 MB

Norėdami ieškoti, raskite visus 30 MB failų

rasti / dydį 30M

Raskite didesnius nei nurodytas dydis failus

rasti dydį + 2M

Išėjimas

. /Atsisiųsti /ubuntu18043.iso
./.cache/pip/http/6/e/3/8/3/6e38383f41850c3e5705d48116bc52f81b92a80500f414305057 7a9c

Dabartiniame kataloge raskite mažiau nei 10 MB failų

rasti. tipo f dydis -10M

Raskite failus nuo 100 iki 200 MB

Kai ieškote failų, esančių tam tikrame diapazone, pavyzdžiui, nuo 100 iki 200 MB

rasti / dydis + 100 mln. dydis – 200 mln

Ieškokite didesnių nei 20 KB katalogų

rasti / tipo d dydį + 20k

Raskite tuščius failus ir katalogus.

Failai

rasti ./ tipo f dydis 0

arba

rasti ./ tipo f – tuščias

Katalogai

rasti ./ tipo d – tuščias

Raskite failus pagal amžių ar pakeitimo laiką

Raskite senesnius nei n dienų failus

rasti / kelias / tipo f-vardas ‘* .txt’ – laikas +8

„Themtime +8“ ieškos senesnių nei 8 dienų txt failų.

Pagal modifikavimo datą

Bus ieškoma failų, modifikuotų per pastarąsias 17 valandų

rasti. -mtime -17-type f

Ieškoma katalogų, modifikuotų per pastarąsias 10 dienų

rasti. -mtime -10-type d

Raskite failus pagal prieigą ar pakeitimus

Raskite failus pagal prieigos datą arba laiką. Tai leidžia pamatyti failus, kurie buvo pasiekti arba nebuvo pasiekiami per nurodytą laikotarpį.

Norėdami pamatyti failus, kurių nepavyko pasiekti per paskutines 10 dienų, namų kataloge.

rasti / namo-laikas +10

Failai buvo pasiekti tiksliai prieš 10 dienų

rasti / namo-laikas 10

Pasiekta per pastarąsias 10 dienų

rasti / namo-laikas -10

Rasti failus, modifikuotus per pastarąsias n dienas

Taip pat naudodamiesi komanda galite ieškoti failų, esančių / home kataloge, modifikuotų per pastarąsias 10 dienų;

rasti / namai-laikas -10

Raskite failus, modifikuotus per tam tikrą laikotarpį.

Pvz., Visi failai, modifikuoti prieš 6–15 dienų, namų kataloge.

rasti / namo tipo f-laikas +6-laikas –15

Failai ir katalogai, prieinami per paskutines 10 minučių

Norėdami rasti failus, pasiektus per paskutines 10 minučių, naudokite parinktį -amin.

rasti. -amin -10-tipo f

Išėjimas

./.bash_history
./[apsaugotas el. paštu]: ~ #

Katalogai, į kuriuos pateko per paskutines 10 minučių

rasti. -aminas -10-tipo d

Raskite failus, atitinkančius konkrečius leidimus

Sintaksė

$ rasti ilgalaikį režimą

Kai režimas yra leidimas, kuris yra skaitmeninis, pavyzdžiui, 644, 655, 700, 777 ir tt, arba raidės, tokios kaip u = x, a = r + x ir tt.

Režimą galite nurodyti šiais trim skirtingais būdais.

  1. Be priešdėlio, kai norite rasti failus su tiksliais nurodytais leidimais.
  2. Su „-“ – failams su bent nurodytu leidimu. Tai grąžina failus su nurodytais ir papildomais aukštesniais leidimais.
  3. Norint naudoti „/“, reikia nurodyti savininką ar grupę, turint leidimą failui.

Raskite failus su leidimu 777

rasti -perm 777

Išėjimas

./ failas1

Raskite failus, kurių ne mažiau kaip 766
rasti -perm -766

Išėjimas

./ failas2
./ failas1

Komanda ieško visų failų, kuriuose

  • Failo savininkas skaitė / rašė / vykdė leidimus.
  • Grupė turi skaitymo / rašymo leidimus
  • Kiti turi leidimą skaityti / rašyti

Iš esmės ji grąžina du failus, atitinkančius šį kriterijų – failą1 ir failą 2. Failams nereikia turėti tikslių 766 leidimų ir jie gali turėti papildomų, jei tik jie turi būti bent jau nurodyti.

Raskite failus, kuriuos savininkas gali rašyti

Dabar naudosime „/“, norėdami ieškoti failų, kuriuos gali įrašyti jų savininkas arba grupė, ar kiti.

rasti -perm / 222
.
./ failas2
./ failas3
./ failas1

Aukščiau pateiktame faile ieškoma failų, kuriuos gali rašyti jų savininkas arba grupė.
Tai grąžina failus, kuriuos gali rašyti bet kuris, bet nebūtinai abu. Norėdami pamatyti failus, kuriuose abu yra įrašomi leidimai, naudokite priešdėlį -.

rasti –perm –220

Išėjimas

./ failas2
./ failas1

Raskite vartotojui priklausančius failus

Rasti visus failus, priklausančius Jackui

rasti / namų-vartotojo lizdas

Išėjimas

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

Raskite konkrečius failus, priklausančius vartotojui

Rasti visus tekstinius failus, priklausančius Jackui

rasti / namo-vartotojo jack -iname "* .txt"

Išėjimas

/home/jack/docs/file32.txt

Raskite ir pateikite failų ir katalogų sąrašą kartu su jų leidimais

rasti -vardas "* .conf" | ls -l

Išėjimas

iš viso 120
drwxr-xr-x 2 šaknies šaknis 4096 Gruodžio 31 13:19 backup2
drwxr-xr-x 2 šaknies šaknis 4096 sausio 4 11:57 darbalaukis
drwxr-xr-x 2 šaknies šaknis 4096 Gruodžio 31 31:50 Dokumentai
drwxr-xr-x 2 šaknies šaknis 4096 Gruodžio 31 12:27 Siuntiniai
-rw-r – r– 1 šaknies šaknis 0 sausio 4 d. 12:02 file22.doc
drwxr-xr-x 2 šaknies šaknis 4096 sausio 4 12:14 failas23
-rw-r – r– 1 šaknies šaknis 0 sausio 4 d. 12:23 file23.txt

Rasti rezultatus ir juos veikti

Šiame skyriuje nagrinėsime, kaip galite elgtis su failais, kurie atitinka modelį, nurodytą komandoje rasti.

Raskite failus ir pakeiskite leidimus

Raskite ir pakeiskite tam tikrų tipų failų leidimus. Mūsų atveju mes dirbsime su PHP failais su skirtingais leidimais, kaip parodyta žemiau.

[apsaugotas el. paštu]: ~ / ver $ ls -la

iš viso 8
drwxrwxr-x 2 lizdas lizdas 4096 3 sausio 14:11 .
„drwxr-xr-x 8“ lizdas 4096 sausio 3, 14:05 ..
-rwxr-xr-x 1 lizdas lizdas 0 3 sausio 14:06 ans.php
-rw-rw-r– 1 lizdas lizdas 0 Sausio 3 14:11 base.php
-rwxr-xr-x 1 lizdas lizdas 0 sausio 3 14:06 užklausa.php
-rw-rw-r– 1 lizdas lizdas 0 Sausio 3 14:11 qust.php
-rwxr-xr-x 1 lizdas lizdas 0 sausio 3 14:06 text.php
-rw-rw-r– 1 lizdas lizdas 0 Sausio 3 14:11 vary.php

Dabar ieškosime visų PHP failų (aukščiau) ir pakeisime jų teises 755

rasti ver-name "* .php" -tipas f -exec chmod 755 {};

Komanda ieško PHP failų ver katalogo ir nustato jų leidimą 755 (rwxr-xr-x)

Rezultatai

[apsaugotas el. paštu]: ~ / ver $ ls -la
iš viso 8
drwxrwxr-x 2 lizdas lizdas 4096 3 sausio 14:11 .
„drwxr-xr-x 8“ lizdas 4096 sausio 3, 14:05 ..
-rwxr-xr-x 1 lizdas lizdas 0 3 sausio 14:06 ans.php
-rwxr-xr-x 1 lizdas lizdas 0 Jan 3 14:11 base.php
-rwxr-xr-x 1 lizdas lizdas 0 sausio 3 14:06 užklausa.php
-rwxr-xr-x 1 lizdas lizdas 0 Sausio 3 14:11 qust.php
-rwxr-xr-x 1 lizdas lizdas 0 sausio 3 14:06 text.php
-rwxr-xr-x 1 lizdas lizdas 0 Jan 3 14:11 vary.php

Raskite ir keiskite failų ir katalogų leidimus

Raskite failus su 644 leidimais ir pakeiskite juos į 655 leidimus

rasti. -f tipo f -perm 644 -exec chmod 655 {};

Taip pat galite ieškoti katalogų, turinčių 644 leidimus, ir pakeisti tai 755.

rasti. tipo d -perm 644

Išėjimas

./ dokumentai

„Docs“ aplanke yra 644 leidimai

drwxrwxr-x 2 lizdas lizdas 4096 3 sausio 12:45 doc

Norėdami nustatyti 755, mes bėgame

rasti. -d tipo d -perm 644 -exec chmod 755 {};

Dabar galime dar kartą patikrinti, kas tiksliai yra 755

rasti. tipo d -perm 755

Išėjimas
.
./ dokumentai

Iš viršaus matome „root“ ir „docs“ katalogus, turinčius 755 leidimus.

Komanda Ls –la pateikia šią informaciją

drwxr-xr-x 2 lizdas lizdas 4096 3 sausio 12:45 doc

Raskite ir kopijuokite failus ar katalogus

Raskite ir nukopijuokite konkretų failą į katalogą

Žemiau esanti komanda suras failą file22.txt ir nukopijuos jį į ~ / tmp / images katalogą.

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

Raskite ir nukopijuokite vieno tipo failus į katalogą

Norėdami rasti failus, tokius kaip atvaizdai su JPG plėtiniu, dabartiniame kataloge ir nukopijuoti juos į kitą vietą, pavyzdžiui, vaizdų aplanką, naudokite;

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

Tai ras ir nukopijuos visus JPG failus į aplanką ~ / tmp / images.

Raskite ir nukopijuokite vieną failą į daugelį katalogų

Raskite ir nukopijuokite vieną į kelis katalogus.

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

Čia rasite failą hci ir nukopijuokite jį į tris katalogus / tmp / dir1 / / tmp / dir2 / ir $ HOME / 3 /

Raskite ir perkelkite failus į kitą katalogą

Norėdami perkelti žinomą failą iš katalogo į kitą. Norėdami perkelti failą universal.php;

rasti ~ / aplankas /-tipas f-vardas universalus.php -exec mv {} ~ / skaitinis /;

Ieškokite ir perkelkite failus su tam tikru plėtiniu į kitą aplanką

rasti ~ / skaitinis / tipo f-vardas ‘* .php’ -exec mv {} ~ / aplankas /;

Suraskite tam tikrus failus ir perkelkite į konkretų aplanką

rasti-tipo f-vardas uni *. * -exec mv {} ~ / unifikuoti /;

Komanda ieško visų failų, kurių pavadinimai prasideda nuo uni ir kurių plėtiniai yra. Tada jie perkeliami į katalogą / unifiles /

Raskite ir perkelkite failus pagal amžių

Raskite ir perkelkite senesnius nei nurodytos dienos failus į kitą vietą, tokią kaip archyvas.

rasti / kelias / tipo f-vardas ‘* .pdf’ -mtime +20 -exec mv {} / backup1 /;

Tai ieškos vyresnių nei 20 dienų pdf failų ir perkels juos į atsarginių kopijų1 katalogą.

Rasti ir ištrinti failus ir katalogus

Dabartiniame kataloge esančių failų ar katalogų paieškos ir šalinimo sintaksė yra

rasti. tipo f vardas "failą ištrinti" -exec rm -f {}; ištrinti tik failus arba

rasti. tipo d -vardis "ištrinti" -exec rm -rf {}; ištrinti tik katalogus

Raskite ir ištrinkite tik konkrečius failus

Norėdami rasti ir ištrinti failus, prasidedančius til, naudokite;

rasti. tipo f vardas "til *" -exec rm {};

Norėdami rasti ir ištrinti katalogus, prasidedančius til

rasti. tipo d -vardis "til *" -exec rm {};

Pašalinkite failus ir katalogus

rasti. -vardas "til *" -exec rm -rf {};

Tai pašalins failus ir katalogus, prasidedančius raidėmis til.

Ištrinti pagal plėtinį

Žemiau paaiškinta, kaip rasti ir ištrinti visus dabartiniame kataloge esančius txt failus. Pakeiskite txt kitu plėtiniu, pvz., Bak, pdf ar kitu, kurį norite pašalinti.

rasti. tipo f vardas "* .txt" -exec rm -f {};

Jei norite, kad prieš ištrindami kiekvieną failą sistema paprašytų jūsų patvirtinti, pridėkite parinktį -i, kaip nurodyta toliau.

rasti. tipo f vardas "* .txt" -exec rm -i {};

Išėjimas

rm: pašalinti įprastą tuščią failą ‘./File22.txt’? y
rm: pašalinti įprastą tuščią failą ‘./file22.txt’? y
rm: pašalinkite įprastą tuščią failą ‘./file23.txt’?

Pagal numatytuosius nustatymus -rm nepašalins katalogų, ir norėdami užtikrinti rekursinį pašalinimą, turite naudoti parinktį –r. Tai užtikrina tuščių katalogų ir failų, kuriuose yra failų, ištrynimą. Funkcija -f verčia šalinti ir naudojama tiek failams, tiek katalogams.

Raskite ir ištrinkite senesnius nei n dienų failus

Iš dabartinio katalogo raskite ir ištrinkite senesnius nei 20 dienų atsarginius failus.

rasti. f tipo f -name ‘* .bak’ -mtime +20 -exec rm {};

Tai ištrins visus senesnius nei 20 dienų .bak failus.

Rasti ir ištrinti tik katalogus

Norėdami ištrinti katalogą, vadinamą dir22

rasti. tipo d-vardas dir22 -exec rm -rf {};

Įsitikinkite, kad atitinkate katalogo pavadinimo raidę arba naudojate parinktį -iname.

rasti. -d tipo d -iname Dir22 -exec rm -rf {};

Pašalina „Dir22“ ir „dir22“

Norėdami patvirtinti prieš ištrindami, naudokite parinktį -i.

rasti. -d tipo d -iname Dir22 -exec rm -rf -i {};

Išėjimas
rm: pašalinti katalogą „./Dir22“? n
rm: pašalinti katalogą „./dir22“? y

Mūsų atveju įvedėme n katalogą „Dir22“, kuris nebus ištrintas, ir y, „dir22“, kuris dabar bus pašalintas,.

Raskite ir pašalinkite tuščius failus

Norėdami rasti tuščius failus ir juos automatiškai ištrinti, galite naudoti bet kurią iš šių komandų.

rasti ./-tipo f-dydis 0 -exec rm -f {};

arba
rasti ./ tipo f dydis 0 | xargs rm -f
arba
rasti ./ tipo f dydis 0 – panaikinti

Raskite ir pašalinkite tuščius katalogus

Norėdami pašalinti tuščius katalogus, naudosime d parinktį.

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

Kita alternatyva yra naudoti trynimą, o ne pašalinti.

rasti ./-type d -empty -trinti

Atminkite, kad ištrynę sistemą ar svarbius failus iš savo kompiuterio galite sugadinti operacinę sistemą ar programas arba prarasti svarbius duomenis.

Norint išvengti netyčinių ištrynimų, geriausia naudoti ne šakninio vartotojo abonementą. Be to, įsitikinkite, kad ištrinate tinkamus failus, kurie nėra naudingi, ir kad kiekvienam atvejui būtų atsarginių duomenų failų atsarginės kopijos..

Kas toliau?

Eik į priekį ir išbandyk juos laboratorijoje arba NEMOKAMOS gamybos aplinkoje. Sužinokite, ar galite naudoti kai kuriuos failus, norėdami automatizuoti failų sistemos valymą naudodami „Crontab“. Norėdami įsisavinti „Linux“, patikrinkite tai internetinis kursas.

ŽENKLAI:

  • „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