Ubuntu жишээг олоорой. Линукс дээр файл хайх эсвэл олох командыг сурах

Гэр / Хатуу дискүүд

Хайлтын асуудал шаардлагатай файлуудэсвэл фолдерууд үргэлж хамааралтай байсан, байгаа, мөн байх болно. Хүмүүс Crap.doc эсвэл Super-music.mp3 файлыг яг хаана хадгалснаа байнга мартдаг. Тиймээс, таныхаас үл хамааран үйлдлийн систем, Linux, Windows эсвэл MacOS X дээр файл эсвэл лавлах хайх нь үргэлж эрэлт хэрэгцээтэй байх болно. Хайлтын хэрэгслүүд нь өөр байх болно. Линукс дахь хайлтыг график болон консол гэсэн хоёр төрөлд хувааж болно. Бүх луниксоидын бахархал болох Терминалаас эхэлцгээе. Линукс дээр хайлт хийх гайхалтай программ байдаг олох.
Хайх командын формат нь:
хайхыг хүссэн лавлах руугаа хүрэх замыг олох - сонголтууд (түлхүүрүүд)
хаана зам нь хайлт хийх лавлах юм. Дараах замыг зааж өгч болно.

.
- одоогийн лавлахаас хайх;
/ – үндсэн лавлахаас хайх, i.e. бүхэл бүтэн системд;
~ – гэрийн лавлахаас хайх.

Хэдийгээр зам нь мэдээжийн хэрэг өөр байж болох бөгөөд өөр байх болно. Дээрх нь зөвхөн стандарт замууд юм.
Тиймээс find командын хамгийн чухал сонголтууд дараах байдалтай байна.нэр
- файлуудыг нэрээр нь хайх;хэрэглэгч
— заасан хэрэглэгчдэд хамаарах файлуудыг хайх;бүлэг
— заасан бүлэгт хамаарах файлуудыг хайх;перм
— заасан хандалтын горимтой файлуудыг хайх;төрөл

- зарим төрлийн файл хайх.

  • Мөн маш олон төрөл байдаг:
  • b – тусгай блок файл;
  • d - лавлах;
  • c – тусгай тэмдэгт файл;
  • f - ердийн файл;
  • l - бэлгэдлийн холбоос;
  • p - нэртэй хоолой;

s - залгуур.
Хэмжээ n - хэмжээ нь n нэгжтэй файлуудыг хайх;

-mtime -n +n – (-) эсвэл (+) хоногийн өмнө контентоо өөрчилсөн файлуудыг хайх.
Одоо олох командыг ашиглах зарим жишээ.
Хамгийн түгээмэл хэрэглэгддэг сонголт бол файлуудыг нэрээр нь хайдаг -name.

Жишээлбэл, тушаал:

олох ~ Хөгжмийн нэр "*.mp3"

.mp3 өргөтгөлтэй бүх файлыг (тэмдэг *) хайх бөгөөд энэ нь таны Home директорт байрлах Music хавтсанд байх болно.

олох / -нэр "*.pdf"

Энэ тушаал нь таны хандахыг зөвшөөрсөн бүх сангаас .pdf өргөтгөлтэй файлуудыг хайх болно. Хэрэв програм нь системийн зарим лавлах руу орж чадахгүй бол энэ талаар танд анхааруулах болно. Хэрэв та бүх лавлахыг бүрэн эхээр нь үзэх шаардлагатай хэвээр байвал Супер хэрэглэгчийн эрхийг ашиглана уу.

sudo find / -name "*.pdf"

Таны гэрийн лавлах дахь файлуудыг Foto үсгээр эхлэн жагсаах болно.

`-name' шилжүүлэгч нь том болон жижиг үсгийг ялгадаг; Хайлтын явцад эдгээр шалгуурыг үл тоомсорлохын тулд та "-iname" сонголтыг ашиглах хэрэгтэй. Дараа нь програм нь Фото, фото эсвэл FOTO гэсэн үсгүүдээс бүрдэх бүх файлуудыг олох болно.

Хэрэв та хайлтын үр дүнг хадгалахыг хүсвэл текст файл, дараа нь тушаал дараах хэлбэрийг авна.

олох ~ -нэр "Зураг*" > үр дүн.txt

Хэрэв та бүтэн файлын нэрийг мэдэж байгаа бол тушаал нь:

олох / -нэр .profile

IN энэ тохиолдолдСистем бүхэлдээ далд .profile файлыг хайх болно.

Хэрэв та нэрнийх нь хэсгийг мэддэг бол файлыг хайж болно. Энэ тохиолдолд тушаал дараах байдалтай байна.

олох /home/dm/Хөгжим/Клип/ -нэр "*дүрэмт хувцас*"

Хэрэв та тодорхой үсгээр (жишээ нь, a-аас c хүртэл) эхэлсэн файлуудыг олохыг хүсвэл хэрэглэхэд маш тохиромжтой ердийн хэллэгийг ашиглах нь дээр.

олох / -нэр "*"

Энэ команд нь таны систем дээрх a-аас c үсгээр эхэлсэн бүх файлыг олох боломжтой болно.

Тодорхой хандалтын горимтой файлуудыг хайх

Хэрэв та тодорхой хандалтын горимтой файлуудыг хайж олохыг хүсвэл -perm сонголт нь танд үүнийг хийхэд тусална. Жишээлбэл, хандалтын горим нь 775 бөгөөд одоогийн директорт байрладаг файлуудыг олъё:

олох. - пермийн 775

Файлуудыг хэрэглэгч эсвэл бүлгээр хайх.

Тодорхой хэрэглэгчдэд хамаарах файлыг олохын тулд дараах тушаалыг ажиллуулна уу.

олох / -хэрэглэгчийн комп

Энэ команд нь хэрэглэгчийн эзэмшдэг систем дээрх файлуудыг олох болно.
Тодорхой бүлэгт хамаарах файлуудыг олохын тулд (жишээ нь group2) дараах тушаалыг ажиллуулна уу:

олох / - бүлэг2

Байгаагүй хэрэглэгчид эсвэл бүлгүүдийн файлуудыг олохын тулд та -nouser болон -nogroup сонголтуудыг ашиглах хэрэгтэй:

олох / - nouser

олох / -nogroup

Тодорхой төрлийн файлуудыг хайх

Find команд нь өөр нэг ашигтай функцтэй бөгөөд энэ нь тодорхой төрлийн файлуудыг олох боломжтой. Үүнийг хийхийн тулд -type шилжүүлэгчийг ашиглана уу. /etc лавлахаас симбол холбоосуудыг олцгооё:

олох /etc -type l

/mnt/raid хавтсанд байгаа сангуудын жагсаалтыг олъё

олох /mnt/raid -төрөл d

Файлуудыг хэмжээгээр нь хайх.

-size шилжүүлэгч нь танд хэрэгтэй хэмжээтэй файлуудыг олох боломжийг олгоно.

олох. -2000к хэмжээтэй

Энэ команд нь 2 мегабайт хэмжээтэй, одоогийн директор дотор байрлах файлуудыг олж харуулах болно. Жишээлбэл, хэрэв та 500 килобайтаас бага хэмжээтэй файлуудыг олох шаардлагатай бол энэ тохиолдолд тушаал дараах байдалтай байна.

олох. -хэмжээ -500к

Хэрэв та 900 мегабайтаас их хэмжээтэй файл хайх шаардлагатай бол тушаал дараах байдалтай байна.

олох / -хэмжээ +900M

-mtime шилжүүлэгчийг ашиглан файлуудыг хайж байна

-mtime шилжүүлэгч нь тодорхой хугацааны дотор өөрчлөгдсөн файлуудыг олох боломжийг олгодог.
Жишээлбэл, бидэнд /home/dm/Video хавтсанд байгаа, сүүлийн 10 хоногт өөрчлөгдсөн файлуудыг олох даалгавар байна.

/home/dm/Video -mtime +10 олох

Хэрэв танд эсрэгээр хэрэгтэй бол жишээлбэл, долоо хоногийн турш өөрчлөгдөөгүй файлуудыг олохын тулд тушаал дараах байдалтай байна.

/home/dm/Video -7-г олох

Дараагийн өгүүллээр би Ubuntu Linux дээрх график хайлтын хэрэгслүүдийн талаар бичих болно.

Линукс нь файл хайхад маш хүчирхэг, хэрэгтэй командтай байдаг - команд олох. Энэ нь файл хайх олон сонголттой боловч заримдаа синтаксаасаа болоод эхлэгчдэд хүндрэл учруулдаг.

Find командыг ашиглах энгийн жишээ

Эхлээд config нэртэй файлуудыг компьютерээсээ хайхдаа find командыг ашиглах энгийн жишээг харцгаая. Бид үндсэн директороос эхлэн тохиргооны файлуудыг хайх болно. Үүнийг хийхийн тулд хангалттай зөвшөөрөлтэй байхын тулд та тушаалыг root болгон ажиллуулах хэрэгтэй, эс тэгвээс та "Зөвшөөрөлгүй" гэсэн мессеж хүлээн авах болно. Тиймээс тушаалыг ажиллуулцгаая:

Хай / -нэр тохиргоо -хэвлэх

Энэ тушаал нь дараах утгатай: config (-name config) нэртэй файлуудыг / директороос (хайх командын эхний параметр) хайж, файлын нэрийг дэлгэцэн дээр хэвлэнэ (-print аргумент). Хайлт нь рекурсив, өөрөөр хэлбэл хайлт хийх үед бүх дэд сангуудыг хайдаг болохыг би тэмдэглэж байна. Таны харж байгаагаар бүх зүйл энгийн. Одоо командын синтаксийг авч үзээд түүний үндсэн аргументуудын тойм руу шилжье.

тушаалын синтаксийг олох

Хайх командын ерөнхий синтакс лавлах гарын авлага, тийм ч хялбар биш юм шиг санагдаж магадгүй тул би танд уншихад хялбар нэгийг өгөх болно:

Хайх [зам] [сонголтууд] [хайлтын шалгуур] [файл дээрх үйлдлүүд]

Зам

Хайлтын зам нь үнэмлэхүй эсвэл харьцангуй зам эсвэл зайгаар тусгаарлагдсан замуудын жагсаалт байж болно.

Сонголтууд

Хайлтын командын сонголтуудыг "-" тэмдэгтээс эхлээд сонголтын нэрээр жагсаав. Үндсэн сонголтуудыг авч үзье.

Хайлтын шалгуур

Find команд нь олон хайлтын шалгууртай байж болно (мөн тест гэж нэрлэдэг). Шалгуур бүр нь үнэн эсвэл худал гэсэн хариуг өгдөг тодорхой туршилтын нөхцөлийг илэрхийлдэг. Үүнийг програмчлалын if хэллэгийн нөхцөлтэй харьцуулж болно. Find команд нь файл бүрийг боловсруулахдаа шалгуур бүрийг ээлжлэн шалгадаг бөгөөд хэрэв дараагийн шалгуур нь худал өгөгдвөл find команд нь дараагийн файл руу шилжинэ. Find команд нь маш олон шалгууртай тул бид зөвхөн цөөн хэдэн зүйлийг авч үзэх болно.

-атай НЭнэ файлд хамгийн сүүлд N өдрийн өмнө хандсан.
- цаг хугацаа НФайлыг хамгийн сүүлд N өдрийн өмнө өөрчилсөн.
- нэрийн загварФайлын нэр (нэрийн загвар) зам заахгүйгээр. Загварыг үргэлж хашилтанд оруулахыг зөвлөж байна.
-шинэ бусад_файлФайлыг other_file-ээс хожуу өөрчилсөн.
-хэмжээ [±] НФайлын хэмжээ N блоктой тэнцүү, хэрэв +N гэж заасан бол файлын хэмжээ N-ээс их, -N бага байна. N-ээс хойшхи тэмдэгт нь блокийн хэмжээг заана. b - 512 байт, в - байт, w - 2 байт, k - килобайт, М - мегабайт, G - гигабайт.
- C төрөлФайлын төрөл C. C-д хамгийн их хэрэглэгддэг утгууд: d - директор, f - файл.
-хэрэглэгчийн хэрэглэгчийн нэрЭнэ файлыг UserName нэртэй хэрэглэгч эзэмшдэг.

Шалгуур ашиглан олох командыг ашиглах жишээ

Одоогийн лавлахаас "~" тэмдэгтээр эхэлсэн ердийн файлуудыг (санд биш) олоорой.

Хай. -хэлбэр f -нэр "~*" -хэвлэх

Одоогийн директор доторх file.bak-аас илүү саяхан өөрчлөгдсөн файлуудыг олоорой.

Хай. -шинэ файл.bak -type f -print

Операторууд

Шалгууруудыг оператор ашиглан нэгтгэж болно. Дараахь операторуудыг тэргүүлэх ач холбогдлынхоо дарааллаар харуулав.

IN ерөнхий тохиолдолОператоруудыг ашиглахдаа шалгуур үзүүлэлтийг эрэмбэлэх дарааллаар шалгана. Та хаалт ашиглан дарааллыг өөрчилж болно. Хаалтуудыг урвуу налуу зураас ашиглан тусгаарлах ёстой.

Операторуудыг ашиглан find командыг ашиглах жишээ

Одоогийн лавлахаас "~" эсвэл "temp" тэмдгээр эхэлсэн, лавлах биш ердийн файлууд (-type f) файлуудыг олоорой.

Хай. \(-нэр "~*" -эсвэл -нэр "temp*" \) -төрөл f -хэвлэх

Одоогийн лавлахаас (боловсруулах дэд лавлахгүйгээр - -maxdeph 1) ердийн файлууд (-file f) 600 мегабайтаас их ба 1 гигабайтаас бага (-size) эсвэл нэр нь ".mpeg" (-нэр) -ээр төгссөн файлуудыг олоорой.

Хай. -maxdepth 1 \(\(-хэмжээ +600M -ба -хэмжээ -1G \) -эсвэл -нэр "*.mpeg" \) -ба -төрөл f

Файл дээрх үйлдлүүд

Find командыг гүйцэтгэх үед та олсон файлууд дээр янз бүрийн үйлдэл хийж болно. Голыг нь авч үзье.

Гүйцэтгэх командуудад та параметрийг () аргумент болгон ашиглаж болох бөгөөд үүнийг одоогийн файлын замаар сольж болно.

Үйлдлийг ашиглан олох командыг ашиглах жишээ

Одоо байгаа лавлахаас 1000 байтаас дээш хэмжээтэй энгийн файлуудыг хайж олоод тэдгээр дээр ls -dils командыг ажиллуул (ls action).

Хай. -хэмжээ +1000c -төрөл f -ls

Одоогийн лавлахаас "~" тэмдэгтээр эхэлсэн ердийн файлуудыг хайж олоод файл бүрд устгах хүсэлт гарга (rm командыг гүйцэтгэх).

Хай. -нэр "~*" -төрөл f -ok rm () \;

Дүгнэлт

Энэ нийтлэлд бид маш чухал бөгөөд ашигтай талаар ярилцсан Линукс тушаал find , энэ нь олон шалгуур, загвар ашиглан файл хайх бараг хязгааргүй боломжийг олгодог. Мөн командуудыг (үйлдэл) ашиглан та файлуудыг хайж, тэдгээрт ямар нэгэн үйлдлийг хийж болно.

    Файлыг нэрээр нь олоорой.Ийм энгийн хайлт find хэрэглүүрийг ашиглан гүйцэтгэнэ. Доорх тушаал нь одоогийн директор болон түүний бүх дэд сангаас файл хайх болно.

    олох -iname "файлын нэр"

    • Оруулсан файлын нэрэнд жижиг үсгийг үл тоомсорлохын тулд -name-ийн оронд -iname гэж бичнэ үү. -name команд нь том жижиг том үсгийг мэдэрдэг.
  1. Үндсэн лавлахаас хайж эхлээрэй.Системийн хэмжээнд хайлт хийхийн тулд асуулгад / өөрчлөгчийг нэмнэ үү. Энэ тохиолдолд find команд нь root нэгээс эхлэн бүх сангаас файлыг хайх болно.

    олох / -iname "файлын нэр"

    • Та тодорхой лавлахаас хайж эхлэх боломжтой; Үүнийг хийхийн тулд /-г лавлах замаар солино, жишээ нь /home/max .
    • Ашиглах боломжтой. /-ын оронд файлыг зөвхөн одоогийн лавлах болон түүний дэд сангаас хайх.
  2. Оролцогч тэмдэгтийг ашиглана уу.* нэр нь хүсэлтийн хэсэгтэй таарч байгаа файлуудыг олох. Бүтэн нэр нь үл мэдэгдэх файлыг олох эсвэл тодорхой өргөтгөлтэй бүх файлыг олохын тулд * орлуулагч тэмдэгтийг ашиглаж болно.

    /home/max -iname "*.conf"-г олох

    • Энэ тушаал нь хэрэглэгчийн Max хавтас (болон түүний дэд хавтаснууд) дотор байгаа .conf өргөтгөлтэй бүх файлыг олох болно.
    • Энэ командыг ашиглан асуулгын хэсэгт нэр таарч байгаа бүх файлыг олоорой. Жишээлбэл, хэрэв таны компьютерт WikiHow-тэй холбоотой олон файл байгаа бол "*wiki*" гэж бичээд бүх файлыг олоорой.
  3. Хайлтын үр дүнгээ удирдахад хялбар болго.Хэт олон хайлтын үр дүн байгаа бол тэдгээрийн дотроос хэрэгтэй файлаа олоход хэцүү байх болно. |-г ашиглана уу Ингэснээр хайлтын үр дүнг бага тушаалаар шүүдэг. Энэ нь таны хайлтын үр дүнг үзэх, шүүж үзэхэд хялбар болгоно.

    олох /home/max -iname "*.conf" |

    багаХайлтын үр дүнд зөвхөн тодорхой зүйлийг харуулахын тулд өөрчлөгчийг ашиглана уу. Та ердийн файлууд (f), лавлахууд (d), симбол холбоосууд (l), тэмдэгтэд суурилсан I/O төхөөрөмжүүд (c), блок төхөөрөмжүүд (b) хайх боломжтой.

    олох / -type f -iname "файлын нэр"

  4. Хайлтын үр дүнг файлын хэмжээгээр шүүнэ үү.Хэрэв таны компьютерт ижил төстэй нэртэй олон файл байгаа ч хайж буй файлынхаа хэмжээг мэдэж байгаа бол хайлтын үр дүнг файлын хэмжээгээр шүүнэ үү.

    олох / -size +50M -iname "файлын нэр"

    • Энэ тушаал нь 50 МБ-аас их хэмжээтэй бүх файлыг олох болно. Хэмжээг нэмэгдүүлэх, багасгахын тулд + эсвэл - хувиргагчийг ашиглана уу. Хэрэв + эсвэл - өөрчлөгч байхгүй бол тушаал нь заасан хэмжээтэй яг таарч байгаа файлуудыг олох болно.
    • Та хайлтын үр дүнг байт (c), килобайт (к), мегабайт (M), гигабайт (G) эсвэл 512 байт блокоор (b) шүүж болно. Үзүүлсэн хувиргагч нь том жижиг жижиг үсгийг мэдэрдэг болохыг анхаарна уу.
  5. Хайлтын шүүлтүүрүүдийг нэгтгэхийн тулд логик операторуудыг (Boolean операторууд) ашиглана уу.Та -ба , -эсвэл , - бус операторуудыг ашиглан өөр өөр зүйлийг нэгтгэж болно хайлтын асуулганэг хүсэлтээр.

    олох /аялалын зураг -төрөл f -хэмжээ +200к -иname "*2015*"

    • Энэ тушаал нь Travelphotos хавтсанд 200 кБ-аас их хэмжээтэй, нэрэнд нь 2015 гэсэн дугаар байхгүй файлуудыг олох болно.

Линукс хэрэглэгчдэд анх удаа тулгардаг хамгийн нийтлэг бэрхшээлүүдийн нэг бол шаардлагатай файлуудаа олох явдал юм. Энэхүү заавар нь олох командыг ашиглан асуудлыг шийдэж, янз бүрийн шүүлтүүр, параметр бүхий файлуудыг хайх боломжийг олгодог.

Нэрээр нь хайх

Энэ бол файл хайх хамгийн ойлгомжтой арга юм. Нэрээр нь хайх бол дараахыг оруулна уу:

"Нэр"-ийг олох

Энэ асуулга "файл" болон "Файл"-ыг өөр нэрээр авч үзэх гэсэн утгатай бөгөөд том жижиг жижиг харгалзах болно.

Нэр, жижиг жижиг жижиг тоогоор хайх бол дараахыг оруулна уу:

"нэр"-ийг олох

Хэрэв та тодорхой загварт тохирохгүй бүх файлыг олох шаардлагатай бол "-not" эсвэл "!" гэсэн сонголтыг ашиглан хайлтыг эргүүлж болно. “!” ашиглах үед Хайлтын гүйлтээс өмнө bash үүнийг тайлбарлахыг оролдохгүйн тулд та дүрээс зугтах хэрэгтэй:

"хасах нэр"-ийг олох - бус нэр

Хай\! - "хасах нэр" гэж нэрлэнэ

Төрөлөөр хайх

Та олох хэрэгтэй файлын төрлийг -type параметрийг ашиглан тодорхойлж болно. Энэ нь дараах байдлаар ажилладаг.

Type_descriptor хүсэлтийг хай

Энд хамгийн түгээмэл төрлийн тодорхойлогч байдаг:

е:ердийн файл
г: лавлах
би:бэлгэдлийн холбоос
в:тэмдэгт төхөөрөмж
б:блок төхөөрөмжүүд

Жишээлбэл, хэрэв бид систем дээрх бүх тэмдэгт төхөөрөмжийг олох шаардлагатай бол дараах тушаалыг ажиллуулж болно.

Ингэснээр бид ".conf"-ээр төгссөн бүх файлыг хайж болно:

/ -type f -name "*.conf"-г олох

Цаг хугацаа, хэмжээгээр хайх

Find нь илэрцийг хэмжээ, цаг хугацаагаар нь шүүх хэд хэдэн аргыг өгдөг.

Хэмжээгээр хайх

Хэмжээгээр шүүх нь "-size" параметрийг ашиглан хийгддэг.

Хэмжээний утгын дараа та хэмжлийн нэгжийг харуулсан дагаварыг зааж өгөх ёстой. Энд хамгийн нийтлэг сонголтуудын зарим нь байна:

в:байт
к:килобайт
М:мегабайт
Г:гигабайт
б: 512 байт блокууд

Яг 100 байт хэмжээтэй бүх файлыг олохын тулд дараахыг оруулна уу:

/ -хэмжээ 100c олох

100 байтаас бага хэмжээтэй бүх файлыг хайхын тулд бид дараах маягтыг ашиглаж болно.

Хай / -хэмжээ -100c

500 мегабайтаас их хэмжээтэй файл хайхын тулд та дараах тушаалыг ашиглаж болно.

Хай / -хэмжээ +500M

Цаг хугацаагаар хайх

Линукс нь хандалтын цаг, өөрчлөх хугацаа, өөрчлөх цагийг хадгалдаг.

  • Хандалтын хугацаа: Файлыг хамгийн сүүлд унших эсвэл бичих хугацаа.
  • Өөрчлөлтийн хугацаа: Файлын агуулгыг хамгийн сүүлд өөрчилсөн цаг.
  • Өөрчлөлтийн хугацаа: Файлын inode дахь мета өгөгдлийг хамгийн сүүлд өөрчилсөн цаг.

Эдгээр утгуудаар шүүхийн тулд бид "-atime", "-mtime" болон "-ctime" гэсэн сонголтуудыг ашиглахаас гадна нэмэх ба хасах тэмдэгтүүдийг ашиглан шүүж байгаатай адил өмнөх эсвэл хожуу хугацаатай файлуудыг олох боломжтой. хэмжээ.

Эдгээр параметрийн утга нь хайлтыг хэдэн өдрийн өмнө хийх ёстойг харуулж байна.

Өчигдөр агуулга нь өөрчлөгдсөн файлуудыг хайхын тулд дараахыг оруулна уу:

/ -mtime 1-ийг ол

Хэрэв бидэнд өчигдөр болон дараа нь хандсан файлууд хэрэгтэй бол бид дараах тушаалыг ашиглаж болно.

/ -atime -1 олох

Гурав гаруй хоногийн өмнө мета өгөгдөл нь өөрчлөгдсөн файлуудыг сэргээхийн тулд дараах тушаалыг ашиглана уу:

/ -ctime +3-ыг ол

Бас байдаг нэмэлт сонголтууд, энэ нь танд өдрийн оронд минут зааж өгөх боломжийг олгодог. Энэ тушаал нь сүүлийн минутанд өөрчлөгдсөн файлуудыг жагсаав:

/ -mmin -1 -ийг ол

Нэмж дурдахад, find нь өгөгдсөн файлтай харьцуулж, шинэ бүх файлыг буцаана:

/ -шинэ myfile олох

Эзэмшигч болон зөвшөөрлөөр хайх

"-user" ба "-group" параметрүүдийг ашиглан файлуудыг эзэмшигч эсвэл бүлгээр нь хайх боломжтой. Хэрэглэгчийн "syslog" файлыг олохын тулд та дараахийг оруулах хэрэгтэй:

/ -хэрэглэгчийн системийн бүртгэлийг олох

Үүний нэгэн адил та "сүүдэр" бүлэгт байгаа файлуудыг хайж болно:

Сүүдрийг олох / -бүлэглэх

Та мөн тусгай зөвшөөрөлтэй файлуудыг хайж болно.

Хэрэв бид тодорхой зөвшөөрлийн багцыг тааруулах шаардлагатай бол дараах маягтыг ашиглана.

/ -пермийн 644-ийг олоорой

Хэрэв та заасан хэмжээнээс багагүй нягтралтай бүх файлыг олох шаардлагатай бол дараахь зүйлийг оруулах шаардлагатай.

Хай / -перм -644

Нэмэлт зөвшөөрөлтэй бүх файлууд энэ шалгуурыг хангана. Жишээлбэл, энэ тохиолдолд "744" зөвшөөрөлтэй файлтай тохирно.

Гүнээр шүүх

Энэ хэсгийн хувьд бид түр зуурын лавлахдаа эхний түвшний арван лавлах бүхий гурван түвшний лавлах бүтцийг бий болгох шаардлагатай болно. Лавлах бүр (түр зуурыг оруулаад) арван дэд директор, арван файлтай байна.

Дараах командуудыг ажиллуулж бүтцийг бүтээцгээе.

Mkdir -p ~/test/level1dir(1..10)/level2dir(1..10)/level3dir(1..10) хүрэх ~/test/(файл(1..10),level1dir(1..10) )/(file(1..10),level2dir(1..10)/(file(1..10),level3dir(1..10)/file(1..10)))) cd ~/test

Та ls болон cd командуудыг ашиглан бүтцийг шалгаж болно. Байгууллагыг ойлгосны дараа та тестийн лавлах руу буцах хэрэгтэй.

CD ~/туршилт

Одоо энэ бүтцээс тодорхой файлуудыг олохыг хичээцгээе. Нэрээр нь ердийн хайлтын жишээнээс эхэлцгээе:

Файлын нэр1 олох

Маш олон үр дүн гарч байна. Хэрэв бид гаралтыг тоолуур руу хөрвүүлбэл нийтдээ 1111 ийм файл байгааг харах болно.

Файлын нэр1 | хай wc -l 1111

Ихэнх тохиолдолд эдгээр үр дүн нь шаардлагагүй байдаг. Хайлтыг багасгахыг хичээцгээе.

Та дээд түвшний хайлтын санд хайлтын хамгийн дээд гүнийг тохируулж болно:

-maxdepth тоо - нэрний нэрийг ол

"file1"-ийг зөвхөн "level1" болон түүнээс дээш лавлах сангаас олохын тулд та хамгийн ихдээ 2 гүнийг (дээд түвшний лавлахад 1, 1-р түвшний лавлахуудад 1) зааж өгөх хэрэгтэй:

-maxdepth 2 - файлын нэрийг олоорой1

Хэрэв та алдаа олсон бол текстийн хэсгийг тодруулж, товшино уу Ctrl+Enter.

Хэрэв та байнга ажилладаг бол тушаалын мөрГрафик бүрхүүл байхгүй компьютер эсвэл сервер дээр эрт орой хэзээ нэгэн цагт файл хайх даалгавартай тулгарах болно. Аз болоход, Линукс нь системээс файл хайх боломжийг олгодог суурилуулсан тушаалтай болсон.

Өнөөдөр бид find командыг ашиглах талаар ярих болно - надад итгээрэй, энэ хүчирхэг, тохиромжтой хэрэгсэлтэй хэрхэн ажиллах талаар сурах нь зүйтэй юм.

Find командыг хэрхэн ашиглах вэ

Энгийнээр хэлбэл, олох командын үндсэн синтакс нь дараах байдалтай байна.

/зам параметрийн файлын нэрийг ол

Багийн чадавхийг ойлгоцгооё

Файлыг нэрээр нь хайх

Эхний параметр бол зам юм. Хэрэв та файл хаана нуугдаж байгааг мэдэхгүй бол замыг / - гэж солино уу. Гэсэн хэдий ч дискийг бүхэлд нь хайхад нэлээд цаг хугацаа шаардагддаг бөгөөд хэрэв та файл хаана байрлаж болохыг мэдэж байвал хайлтаа эхлүүлэх хавтсыг зааж өгнө үү (жишээлбэл, хэрэглэгчийн нүүр хавтсанд хайхын тулд ~).

Одоо хайлтын параметрүүд рүү шилжье. Файлыг нэрээр нь хайх хоёр сонголт байдаг:

  • нэр - жижиг үсгийн мэдрэмжтэй файлын нэрийг хайх
  • iname - том жижиг жижиг жижиг файлын нэрийг хайх

Линукс дээр файлын нэр чухал гэдгийг санах нь зүйтэй бөгөөд хэрэв та Ubuntu.txt файлыг олох шаардлагатай бол дараах тушаал ямар ч үр дүн өгөхгүй.

/ -нэр ubuntu.txt-г олоорой

Гэхдээ та iname командыг ашиглаж, жижиг үсгээр хайлт хийж болно:

/ -iname ubuntu.txt файлыг олоорой

Төрөлөөр хайх

Find команд нь зөвхөн файлаас илүү хайлт хийх боломжийг олгодог. Энд хайлтыг дэмждэг бариулуудын төрлүүд байна:

  • f - ердийн файл
  • d - лавлах
  • l - бэлгэдлийн холбоос
  • c - тэмдэгт төхөөрөмж
  • b - блок төхөөрөмж

Жишээлбэл, доторх бүх санг хайх гэрийн лавлах"config"-ээр эхэлсэн одоогийн хэрэглэгч дараах тушаалыг ажиллуулна:

~ -төрлийн d -нэрийн тохиргоог олох*

Хайлтын үр дүнг файлд гаргаж байна

Командын үр дүнг файл руу гаргах тохиромжтой функц нь хайлтын үр дүн олон байгаа эсвэл дараа нь тэдэнтэй ажиллах шаардлагатай бол маш ашигтай байх болно. Жишээлбэл, олдсон бүх тохиргооны файлуудын жагсаалтыг файлд хадгалахын тулд conf_search, дараах тушаалыг ажиллуулна уу:

/etc -type f -name “*.conf” > conf_search-ийг олоорой

Файлуудыг хэмжээгээр нь хайх

Энэ нь таны дискний зай дуусч байгаа бөгөөд хаашаа явсныг олж мэдэх шаардлагатай үед маш хэрэгтэй сонголт юм. Жишээлбэл, 1000 МБ-аас их хэмжээтэй файлуудыг олохын тулд дараах тушаалыг ажиллуулна уу:

Хай / -хэмжээ +1000M

Дараах хэмжээтэй товчлолуудыг ашиглаж болно.

  • в - байт
  • k - килобайт
  • M - мегабайт
  • G - гигабайт
  • b - 512 байт блокууд

Эдгээр нь хүчирхэг командыг ашиглах хэдхэн арга юм. Тушаалыг ажиллуулснаар гарын авлагаас илүү олон арга замыг олж болно

© 2024 ermake.ru -- Компьютер засварын тухай - Мэдээллийн портал