นี่คือเครื่องมืออื่นสำหรับกล่องเครื่องมือค้นหาไฟล์ Linux ของคุณ – ระบุตำแหน่ง สั่งการ. ซึ่งจะอธิบายวิธีใช้งาน
ค้นหา คำสั่งทำขึ้นโดยเฉพาะสำหรับการค้นหาไฟล์และโฟลเดอร์ตามชื่อ ใช้งานง่ายและสามารถค้นหาไฟล์โดยใช้รูปแบบได้ สิ่งนี้มีประโยชน์หากคุณกำลังมองหาไฟล์ที่มีประเภท/นามสกุลไฟล์เฉพาะ
กำลังติดตั้ง ค้นหา
ค้นหา อาจไม่ได้รับการติดตั้งตามค่าเริ่มต้นในระบบของคุณ
ในการติดตั้งบนการแจกแจงแบบ Debian/Ubuntu ให้รัน:
sudo apt install mlocate
หรือบน Redhat/CentOS/Fedora:
sudo yum install mlocate
Linux ค้นหา ไวยากรณ์คำสั่ง
ค้นหา คำสั่งเป็นไปอย่างรวดเร็ว นั่นเป็นเพราะแทนที่จะค้นหาระบบไฟล์โดยตรง มันจะค้นหาฐานข้อมูลของไฟล์ที่มีการอัพเดทเป็นระยะๆ ทำให้การค้นหารวดเร็วขึ้นมาก
อย่างไรก็ตาม หมายความว่าหากไฟล์ถูกย้าย เปลี่ยนชื่อ หรือลบออกจากการรีเฟรชฐานข้อมูลครั้งล่าสุด ไฟล์นั้นจะยังคงปรากฏในผลลัพธ์
โดยค่าเริ่มต้น ฐานข้อมูลที่ใช้โดยค้นหา ในการค้นหาไฟล์จะมีกำหนดการอัปเดตทุกวัน แต่คุณสามารถเรียกใช้การอัปเดตด้วยตนเองได้หากคุณจัดเรียงไฟล์ใหม่และต้องการค้นหาในบันทึกที่เป็นปัจจุบัน
กำลังปรับปรุงฐานข้อมูล
วิธีอัปเดตฐานข้อมูลที่ใช้โดย ค้นหา เพื่อค้นหาไฟล์ เรียกใช้:
sudo updatedb
การค้นหาไฟล์
ไวยากรณ์สำหรับการค้นหาไฟล์โดยใช้ระบุตำแหน่ง เป็นดังนี้:
locate OPTIONS PATTERN
โปรดทราบว่า:
- ตัวเลือก เป็นตัวเลือกและสามารถระบุได้จากตารางด้านล่างเพื่อแก้ไขการทำงานเริ่มต้นของ ระบุตำแหน่ง คำสั่ง
- รูปแบบ คือชื่อไฟล์รูปแบบจะต้องตรงกันจึงจะถือว่าตรงกันสำหรับการค้นหา
- ผลลัพธ์สำหรับไฟล์ที่ตรงกันจะมาจาก ระบบไฟล์ทั้งหมด โดยค่าเริ่มต้น – ไม่ใช่แค่ไดเร็กทอรีการทำงานปัจจุบัน
- หากไม่มีการสร้างฐานข้อมูลสำหรับค้นหา คำสั่งที่จะใช้ คุณอาจได้รับแจ้งให้สร้าง
- ค้นหา คำสั่งจะส่งคืนรหัสสถานะ 0 หากพบไฟล์ที่ตรงกันและ 1 หากไม่พบไฟล์หรือมีข้อผิดพลาดเกิดขึ้น
ตัวเลือกคำสั่ง
ต่อไปนี้คือตัวเลือกที่ใช้กันทั่วไปสำหรับค้นหา คำสั่งตรงจากเอกสารอย่างเป็นทางการ:
-b | จับคู่เฉพาะชื่อฐานกับรูปแบบที่ระบุ |
-c | แทนที่จะเขียนชื่อไฟล์บนเอาต์พุตมาตรฐาน ให้เขียนจำนวนรายการที่ตรงกันเท่านั้น |
-e | พิมพ์เฉพาะรายการที่อ้างถึงไฟล์ที่มีอยู่ ณ เวลาที่กำหนดเท่านั้นที่เรียกใช้ |
-i | ละเว้นความแตกต่างของตัวพิมพ์เมื่อจับคู่รูปแบบ |
-l | ออกได้สำเร็จหลังจากพบ LIMIT รายการ หากระบุอ็อพชัน –count การนับผลลัพธ์จะถูกจำกัดที่ LIMIT ด้วย |
-P | เมื่อตรวจสอบว่ามีไฟล์อยู่หรือไม่ (หากระบุตัวเลือก –existing) อย่าทำตามลิงก์สัญลักษณ์ต่อท้าย ซึ่งทำให้มีการรายงานลิงก์สัญลักษณ์ที่ใช้งานไม่ได้เหมือนไฟล์อื่นๆ |
-q | ไม่เขียนข้อความเกี่ยวกับข้อผิดพลาดที่พบขณะอ่านและประมวลผลฐานข้อมูล |
-r | ค้นหา regexp พื้นฐาน REGEXP ไม่อนุญาตให้ใช้ PATTERN หากใช้ตัวเลือกนี้ แต่สามารถระบุตัวเลือกนี้ได้หลายครั้ง |
–regex | ตีความ PATTERN ทั้งหมดเป็น regexp เพิ่มเติม |
หากต้องการดูรายการตัวเลือกทั้งหมด คุณสามารถดูคู่มือผู้ใช้สำหรับคำสั่งค้นหาโดยเรียกใช้:
man locate
ค้นหา ตัวอย่างคำสั่ง
การใช้งานพื้นฐานที่สุดสำหรับระบุตำแหน่ง ฟังก์ชันคือการค้นหาไฟล์ที่ตรงกับชื่อที่กำหนด:
locate filename
รายการพาธไฟล์สำหรับแต่ละไฟล์ที่ตรงกันในระบบไฟล์จะถูกส่งคืน
ตามที่อธิบายไว้ข้างต้น ระบบไฟล์ไม่ได้ค้นหาโดยค้นหา – แต่มีการค้นหาฐานข้อมูลที่สร้างดัชนีระบบไฟล์และอัปเดตเป็นระยะ วิธีนี้ช่วยให้ทุกอย่างรวดเร็วแต่อาจทำให้เกิดปัญหาได้หากคุณเพิ่งย้ายไฟล์จำนวนมากไปรอบๆ เสร็จแล้วและยังไม่ได้อัปเดตฐานข้อมูล
ที่ -e ตัวเลือกจะบังคับให้ค้นหา เพื่อตรวจสอบว่าไฟล์ยังคงอยู่ในระบบไฟล์ก่อนที่จะเพิ่มลงในรายการผลลัพธ์:
locate -e filename
วิธีนี้ไม่ได้แก้ปัญหาของไฟล์ที่สร้างขึ้นใหม่หรือย้ายที่ไม่อยู่ในผลลัพธ์ (หรือปรากฏที่ตำแหน่งเดิม) แต่แก้ปัญหาไฟล์ที่ถูกลบซึ่งปรากฏในผลลัพธ์
สามารถจัดหารูปแบบเพื่อให้คุณสามารถค้นหาตามนามสกุลไฟล์ได้อย่างง่ายดาย:
locate *.mp3
ตัวอย่างข้างต้นจะคืนค่าไฟล์ mp3 ทั้งหมดที่พบในฐานข้อมูล
ค้นหา คำสั่งจะคำนึงถึงขนาดตัวพิมพ์โดยค่าเริ่มต้น – สามารถแทนที่ได้โดยใช้ -i ตัวเลือก:
locate -i FILENAME
คุณยังสามารถนับจำนวนไฟล์ที่ตรงกันโดยใช้ -c ตัวเลือก:
locate -c filename