3 วิธีในการค้นหาไฟล์บน Linux

สารบัญ:

3 วิธีในการค้นหาไฟล์บน Linux
3 วิธีในการค้นหาไฟล์บน Linux

วีดีโอ: 3 วิธีในการค้นหาไฟล์บน Linux

วีดีโอ: 3 วิธีในการค้นหาไฟล์บน Linux
วีดีโอ: วิธียกเลิกข้อความ SMS ที่ถูกคิดเงิน ใช้ได้ทุกเครือข่าย แค่โทร *137 โดยละเอียดทุกขั้นตอน 2024, อาจ
Anonim

การค้นหาไฟล์บนระบบ Linux อาจเป็นเรื่องยากหากคุณไม่ทราบวิธี วิธีที่ดีที่สุดในการค้นหาไฟล์บน Linux คือการใช้คำสั่งเทอร์มินัลสองสามคำสั่ง การใช้คำสั่งเหล่านี้อย่างเชี่ยวชาญจะทำให้คุณสามารถควบคุมไฟล์ได้อย่างสมบูรณ์ และมีประโยชน์มากกว่าฟังก์ชันการค้นหาทั่วไปของระบบปฏิบัติการอื่นๆ

ขั้นตอน

วิธีที่ 1 จาก 3: การใช้ "find"

690519 1
690519 1

ขั้นตอนที่ 1. ค้นหาไฟล์ตามชื่อ

การค้นหาประเภทนี้เป็นการค้นหาพื้นฐานที่สุด และคุณสามารถทำได้ด้วยคำสั่ง find คำสั่งด้านล่างจะทำการค้นหาตามคำที่ป้อนในไดเร็กทอรีที่คุณอยู่ เช่นเดียวกับไดเร็กทอรีย่อยภายใน

ค้นหา -iname "ชื่อไฟล์"

หากคุณใช้ -iname แทน -name ความแตกต่างระหว่างคีย์เวิร์ดตัวพิมพ์ใหญ่และตัวพิมพ์เล็กจะไม่มีผล คำสั่ง -name จะพิจารณาอักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็กเป็นอักขระที่แตกต่างกัน

690519 2
690519 2

ขั้นตอนที่ 2 ตั้งค่าการค้นหาเพื่อเริ่มต้นในไดเรกทอรีราก

หากคุณต้องการค้นหาทั้งระบบ คุณสามารถเพิ่ม / modifier ให้กับคำหลักได้ โมดิฟายเออร์จะบอกคำสั่ง find ให้ค้นหาอย่างละเอียด โดยเริ่มจากไดเร็กทอรีราก

ค้นหา / -iname "ชื่อไฟล์"

  • คุณสามารถเริ่มการค้นหาในไดเร็กทอรีเฉพาะโดยแทนที่ / modifier ด้วยพาธไดเร็กทอรี เช่น /home/pat
  • คุณสามารถใช้ได้. นอกเหนือจาก / เพื่อให้การค้นหาดำเนินการได้เฉพาะในไดเร็กทอรีที่คุณอยู่และรวมถึงไดเร็กทอรีย่อยภายใน
690519 3
690519 3

ขั้นตอนที่ 3 ใช้อักขระตัวแทน

* เพื่อค้นหาสิ่งที่ตรงกับคำหลักของคุณเพียงบางส่วน

อักขระตัวแทน * สามารถใช้เพื่อค้นหาไฟล์ที่คุณไม่ทราบชื่อเต็ม หรือหากคุณต้องการค้นหาไฟล์ทั้งหมดที่มีนามสกุลเฉพาะ

ค้นหา /home/pat -iname "*.conf"

  • คำสั่งดังกล่าวจะส่งคืนไฟล์.conf ทั้งหมดในไดเร็กทอรีผู้ใช้ชื่อ Pat (รวมถึงไดเร็กทอรีย่อยในนั้น)
  • คุณยังสามารถใช้เพื่อค้นหาสิ่งใดก็ได้ที่มีชื่อตรงกับคำหลักนั้นเพียงบางส่วน ตัวอย่างเช่น หากคุณมีเอกสารที่เกี่ยวข้องกับ wikiHow จำนวนมาก คุณสามารถค้นหาได้โดยพิมพ์ "*wiki*"
690519 4
690519 4

ขั้นตอนที่ 4 ทำให้ผลการค้นหาง่ายต่อการจัดการ

หากผลการค้นหามากเกินไป คุณจะค้นหาไฟล์ที่ต้องการได้ยาก ใช้อักขระ | และส่งผลการค้นหากลับไปที่โปรแกรมกรอง "น้อย" ด้วยวิธีนี้ คุณสามารถเลื่อนดูและกรองผลการค้นหาได้ง่ายขึ้น

find /home/pat -iname "*.conf" | น้อย

690519 5
690519 5

ขั้นตอนที่ 5. ค้นหาผลการค้นหาด้วยประเภทเฉพาะ

คุณสามารถใช้ตัวแก้ไขเพื่อส่งคืนผลลัพธ์บางประเภทเท่านั้น คุณสามารถค้นหาไฟล์ปกติ (f) ไดเร็กทอรี (d) ลิงก์สัญลักษณ์ (l) อุปกรณ์อักขระ (c) และอุปกรณ์บล็อก (b) โดยใช้ตัวปรับแต่งที่เหมาะสม

ค้นหา / -type f -iname "ชื่อไฟล์"

690519 6
690519 6

ขั้นตอนที่ 6 กรองผลการค้นหาตามขนาด

หากคุณมีไฟล์จำนวนมากที่มีชื่อคล้ายกัน แต่ทราบขนาดของไฟล์ที่คุณต้องการ คุณสามารถกรองการค้นหาตามขนาดได้

ค้นหา / -ขนาด +50M -iname "ชื่อไฟล์"

  • คำสั่งดังกล่าวจะส่งคืนผลการค้นหาตั้งแต่ 50 เมกะไบต์ขึ้นไป คุณสามารถใช้ + หรือ - เพื่อค้นหาไฟล์ที่มีขนาดใหญ่กว่าหรือเล็กกว่าได้ การละเว้นเครื่องหมาย + หรือ - ทำให้การค้นหาส่งคืนเฉพาะผลลัพธ์ที่มีขนาด "ถูกต้อง" อย่างแท้จริง
  • คุณสามารถกรองการค้นหาตามไบต์ (c), กิโลไบต์ (k), เมกะไบต์ (M), กิกะไบต์ (G) หรือ 512 ไบต์ (b) บล็อก โปรดทราบว่าเครื่องหมายแยกความแตกต่างระหว่างตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก
690519 7
690519 7

ขั้นตอนที่ 7 ใช้ตัวดำเนินการบูลีนเพื่อรวมตัวกรองการค้นหา

คุณสามารถใช้ตัวดำเนินการ -and, -or และ -not เพื่อรวมการค้นหาต่างๆ

ค้นหา /travelphotos -type f -size +200k -not -iname "*2015*"

คำสั่งด้านบนจะค้นหาไฟล์ในไดเร็กทอรี "travelphotos" ที่มีขนาดมากกว่า 200 กิโลไบต์ แต่ไม่มีคำว่า "2015" อยู่ในชื่อ

690519 8
690519 8

ขั้นตอนที่ 8 ทำการค้นหาไฟล์ตามชื่อเจ้าของหรือการอนุญาต

หากคุณกำลังพยายามค้นหาไฟล์เฉพาะที่เป็นของผู้ใช้รายใดรายหนึ่ง หรือกำลังมองหาไฟล์ที่มีสิทธิ์บางอย่าง คุณสามารถจำกัดการค้นหาให้แคบลงได้

find / -user pat -iname "filename" ค้นหา / -group users -iname "filename" find / -perm 777 -iname "filename"

ตัวอย่างข้างต้นจะทำการค้นหาผู้ใช้ กลุ่ม หรือสิทธิ์เฉพาะภายในคำสำคัญ คุณยังสามารถละเว้นชื่อไฟล์เพื่อส่งคืนไฟล์ทั้งหมดที่ตรงกับประเภทนั้น ตัวอย่างเช่น find / -perm 777 จะส่งคืนไฟล์ทั้งหมดด้วยการอนุญาต 777 (ไม่มีข้อจำกัด)

690519 9
690519 9

ขั้นตอนที่ 9 เชื่อมต่อคำสั่งเพื่อดำเนินการเมื่อพบไฟล์

คุณสามารถรวมคำสั่ง find กับคำสั่งอื่นๆ เพื่อให้คุณสามารถประมวลผลไฟล์ที่ส่งคืนโดยคีย์เวิร์ดด้วยคำสั่งนั้น แยกคำสั่ง find และคำสั่งที่สองด้วยแฟล็ก -exec จากนั้นจบบรรทัดด้วย {};

หา. -type f -perm 777 -exec chmod 755 {};

(และไดเรกทอรีย่อยทั้งหมดในนั้น) สำหรับไฟล์ที่มีสิทธิ์ 777 จากนั้นคำสั่ง chmod จะเปลี่ยนการอนุญาตเป็น 755

วิธีที่ 2 จาก 3: การใช้ "ค้นหา"

690519 10
690519 10

ขั้นตอนที่ 1. ติดตั้ง

ค้นหา ฟังก์ชั่น. คำสั่ง find โดยทั่วไปจะเร็วกว่าคำสั่ง find เนื่องจากการใช้ฐานข้อมูลของระบบไฟล์ของคุณ Linux บางประเภทไม่ได้ติดตั้งฟังก์ชันระบุตำแหน่ง ดังนั้นให้ป้อนคำสั่งต่อไปนี้เพื่อติดตั้ง:

  • พิมพ์ sudo apt-get update จากนั้นกด Enter
  • คุณสามารถติดตั้งบน Debian และ ubuntu ได้ดังนี้: พิมพ์ sudo apt-get install mlocate จากนั้นกด Enter หากติดตั้งฟังก์ชันระบุตำแหน่งไว้ก่อนหน้านี้ คุณจะเห็นข้อความ mlocate เป็นเวอร์ชันใหม่ล่าสุดอยู่แล้ว
  • บน Arch Linux ให้ใช้ pacman package manager: pacman -Syu mlocate
  • สำหรับ Gentoo ให้ใช้excel:emamlocate
690519 11
690519 11

ขั้นตอนที่ 2. อัปเดต

ค้นหา ฐานข้อมูล คุณ. คำสั่งค้นหาจะไม่พบสิ่งใดจนกว่าจะสร้างและอัปเดต กระบวนการนี้มักจะทำโดยอัตโนมัติทุกวัน แต่คุณสามารถอัปเดตได้ด้วยตนเอง คุณต้องทำเช่นนี้หากคุณต้องการใช้ฟังก์ชันค้นหาโดยเร็วที่สุด

พิมพ์ sudo updatedb แล้วกด Enter

690519 12
690519 12

ขั้นตอนที่ 3 ใช้นามสกุล

ค้นหา เพื่อทำการค้นหาอย่างง่าย

ฟังก์ชัน find ทำงานได้อย่างรวดเร็ว แต่ไม่มีตัวเลือกมากเท่ากับคำสั่ง find คุณสามารถค้นหาไฟล์พื้นฐานได้ในลักษณะเดียวกับคำสั่ง 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/directory/ | ตัด -d: -f1

690519 16
690519 16

ขั้นตอนที่ 3 ซ่อนข้อความแสดงข้อผิดพลาด

คำสั่ง grep จะส่งคืนข้อผิดพลาดเมื่อพยายามเข้าถึงไดเร็กทอรีโดยไม่มีการอนุญาตที่เหมาะสมหรือเมื่อเข้าสู่ไดเร็กทอรีว่าง คุณสามารถส่งข้อความแสดงข้อผิดพลาดไปที่ /dev/null เพื่อไม่ให้ปรากฏ

grep -r -i "คำค้นหา" /path/to/directory/ 2>/dev/null

แนะนำ: