Линукс дээр файл хайх 3 арга

Агуулгын хүснэгт:

Линукс дээр файл хайх 3 арга
Линукс дээр файл хайх 3 арга

Видео: Линукс дээр файл хайх 3 арга

Видео: Линукс дээр файл хайх 3 арга
Видео: Атеросклероз — 3 лучших метода избавления от недуга! 2024, May
Anonim

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

Алхам

3 -р аргын 1: "олох" -ыг ашиглах

690519 1
690519 1

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

Энэ төрлийн хайлт нь хамгийн энгийн бөгөөд та үүнийг find командын тусламжтайгаар хийж болно. Доорх тушаал нь таны байгаа лавлахад оруулсан үг болон түүний доторх дэд сангуудад үндэслэн хайлт хийх болно.

"файлын нэр" нэрийг олох

Хэрэв та -name -ийн оронд -iname ашиглавал том ба жижиг түлхүүр үгийн ялгаа ямар ч нөлөө үзүүлэхгүй. -Name тушаал нь том ба жижиг үсгийг өөр өөр тэмдэгт гэж үздэг

690519 2
690519 2

Алхам 2. Хайлтыг эх директороос эхлүүлэхээр тохируулна уу

Хэрэв та системийн хэмжээнд хайлт хийхийг хүсч байвал түлхүүр үгэнд / хувиргагчийг нэмж болно. Өөрчлөгч нь үндсэн сангаас эхлэн хайх командыг сайтар хайхыг хэлдэг.

"файлын нэр" нэрийг олох

  • Та тодорхой директор дотор хайлт хийж болно.
  • Та ашиглаж болно. хайлтыг зөвхөн таны байгаа лавлах дотор болон түүний доторх дэд директоруудад хийхээс бусад тохиолдолд.
690519 3
690519 3

Алхам 3. Зэрлэг тэмдэгтүүдийг ашигла

* таны түлхүүр үгстэй хэсэгчлэн таарч байгаа зүйлийг хайх.

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

find /home /pat -iname "*.conf"

  • Дээрх тушаал нь Пат нэртэй хэрэглэгчийн лавлах дахь бүх.conf файлуудыг буцааж өгөх болно.
  • Нэр нь тухайн түлхүүр үгээр хэсэгчлэн таарч байгаа зүйлийг олохын тулд та үүнийг ашиглаж болно. Жишээлбэл, хэрэв танд wikiHow -той холбоотой олон баримт бичиг байгаа бол "*wiki*" гэж бичээд олж болно.
690519 4
690519 4

Алхам 4. Хайлтын үр дүнг удирдахад хялбар болгох

Хэрэв хайлтын үр дүн хэт их байвал хүссэн файлыг олоход танд хэцүү байх болно. | Тэмдэгтийг ашиглана уу мөн хайлтын үр дүнг "бага" шүүлтүүрийн програм руу буцааж илгээнэ үү. Ингэснээр та хайлтын үр дүнг гүйлгэж, шүүж болно.

find /home /pat -iname "*.conf" | бага

690519 5
690519 5

Алхам 5. Тодорхой төрлийн хайлтын үр дүнг хайж олох

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

find / -type f -iname "file name"

690519 6
690519 6

Алхам 6. Хайлтын үр дүнг хэмжээгээр нь шүүнэ үү

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

хайх / -хэмжээ +50M -нэр "файлын нэр"

  • Дээрх тушаал нь 50 мегабайт ба түүнээс дээш хайлтын үр дүнг буцаана. Та том эсвэл жижиг хэмжээтэй файл хайхын тулд + эсвэл - г ашиглаж болно. + Эсвэл - тэмдгийг орхигдуулснаар хайлтыг үнэхээр "зөв" хэмжээтэйгээр буцааж өгдөг.
  • Та хайлтыг байт (c), килобайт (k), мегабайт (M), гигабайт (G) эсвэл 512 байт (b) блокоор шүүж болно. Тэмдэглэгээ нь том ба жижиг үсгийг ялгадаг гэдгийг анхаарна уу.
690519 7
690519 7

Алхам 7. Хайлтын шүүлтүүрийг нэгтгэхийн тулд логик операторуудыг ашиглана уу

Та янз бүрийн хайлтыг нэгтгэхийн тулд -and, -or, -not операторуудыг ашиглаж болно.

find /travelphotos -type f -size +200k -not notinin "*2015*"

Дээрх тушаал нь "travelphotos" лавлахад 200 килобайтаас илүү хэмжээтэй файлуудыг хайх боловч нэрэнд нь "2015" гэсэн үг байхгүй байна

690519 8
690519 8

Алхам 8. Эзэмшигчийн нэр эсвэл зөвшөөрлөөр файл хайх

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

find / -user pat -iname "filename" find / -group users -iname "file name" find / -perm 777 -iname "filename"

Дээрх жишээнүүд нь түлхүүр үг доторх тодорхой хэрэглэгч, бүлэг эсвэл зөвшөөрлийг хайх болно. Та мөн энэ төрөлд тохирсон бүх файлыг буцаахын тулд файлын нэрийг орхиж болно. Жишээлбэл, find --perm 777 нь 777 зөвшөөрөлтэй бүх файлыг буцааж өгөх болно (хязгаарлалтгүй)

690519 9
690519 9

Алхам 9. Файлыг олсны дараа үйлдлийг гүйцэтгэх командуудыг нэгтгэнэ

Та Find командыг бусад командтай хослуулж, түлхүүр үгээр буцааж өгсөн файлуудыг тэр командын тусламжтайгаар боловсруулж болно. -Exec тугтай find командыг, хоёр дахь тушаалыг тусад нь салгаад дараа нь мөрийг {} -ээр төгсгөнө үү;

олох. -type f -perm 777 -exec chmod 755 {};

Дээрх тушаал нь таны байгаа директороос (мөн бүх дэд директоруудаас) 777 зөвшөөрөлтэй файлуудыг хайх болно. Дараа нь chmod тушаал нь зөвшөөрлийг 755 болгон өөрчилнө

3 -ийн 2 -р арга: "Байршуулах" -ыг ашиглах

690519 10
690519 10

Алхам 1. Суулгах

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

  • Sudo apt-get update гэж бичээд Enter дарна уу.
  • Та үүнийг Debian болон ubuntu дээр дараах байдлаар суулгаж болно: sudo apt-get install mlocate гэж бичээд Enter дарна уу. Хэрэв байршуулах функцийг өмнө нь суулгасан бол mlocate мессеж аль хэдийн хамгийн сүүлийн хувилбар болсон болохыг та харах болно.
  • Arch Linux дээр pacman багцын менежерийг ашиглана уу: pacman -Syu mlocate
  • Gentoo -ийн хувьд emerge: emerge mlocate ашиглана уу
690519 11
690519 11

Алхам 2. Шинэчлэх

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

Sudo updatedb гэж бичээд Enter дарна уу

690519 12
690519 12

Алхам 3.. -Г ашиглана уу

байршуулах энгийн хайлт хийх.

Байршуулах функц нь хурдан ажилладаг боловч хайх командын адил олон сонголт байдаггүй. Файлын үндсэн хайлтыг Find командын нэгэн адил хийж болно.

-i "*.jpg" -ийг олоорой

  • Дээрх тушаал нь-j.webp" />
  • Find командын нэгэн адил -i хувиргагч нь түлхүүр үгнүүдэд том, жижиг үсгийг ижил гэж үздэг.
690519 13
690519 13

Алхам 4. Хайлтын үр дүнг хязгаарлах

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

-n 20 -i "*.jpg" -ийг олоорой

  • Зөвхөн 20 хайлтын үр дүнг харуулах болно.
  • Та мөн | үр дүнг хялбар гүйлгэхийн тулд хайлтын үр дүнг шүүлтүүр багатай програм руу илгээх.

3 -ийн 3 -р арга: Файл дотор текст хайх

690519 14
690519 14

Алхам 1. Командыг ашиглана уу

grep файл доторх текст мөрийг олохын тулд.

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

grep -r -i "хайлтын асуулга"/path/to/directory/

  • -R хувиргагч нь хайлтыг "рекурсив" болгодог тул хайлтын түлхүүр үг бүхий текст агуулсан файлуудыг олохын тулд лавлах болон түүний доторх бүх дэд директор дотор хайлт хийх болно.
  • -I хувиргагч нь хайлтын түлхүүр үг нь том ба жижиг үсгийг ялгадаггүй болохыг харуулж байна. Хэрэв та том, жижиг үсгийг ялгахын тулд хайлтыг хүчээр хийхийг хүсч байвал -i хувиргагчийг үл тоомсорлоорой.
690519 15
690519 15

Алхам 2. Илүүдэл текстийг арилгах

Дээрх шиг grep хайлт хийхдээ тохирох үсгүүдтэй файлын нэрийг харах болно. Та тохирох текстийг нууж, зөвхөн файлын лавлахын нэр, замыг харуулах боломжтой:

grep -r -i "хайх түлхүүр үг"/path/to/директор/| хасах -d: -f1

690519 16
690519 16

Алхам 3. Алдааны мэдэгдлийг нуух

Тохирох зөвшөөрөлгүйгээр директор руу хандахыг оролдох эсвэл хоосон директор оруулах үед grep тушаал нь алдаа буцаана. Та алдааны мессежийг /dev /null руу илгээх боломжтой бөгөөд ингэснээр тэд харагдахгүй болно.

grep -r -i "хайх түлхүүр үг"/path/to/directory/2>/dev/null

Зөвлөмж болгож буй: