ผมได้แสดงความคิดเห็นแล้ว เกี่ยวกับวิธีค้นหาไฟล์บน Linux distro ของคุณ ด้วยวิธีที่ง่ายและรวดเร็วในเวลาอื่น ๆ แต่ การค้นหา เป็นหัวข้อสำคัญซึ่งมักจะทำเกือบทุกวันและบางครั้งก็ต้องใช้ความแม่นยำมากขึ้นเพื่อค้นหาสิ่งที่คุณต้องการ
ในบางครั้งเมื่อทำงาน acคำสั่งสำหรับการค้นหาสิ่งที่เกิดขึ้นคือมันจะพยายามค้นหาสิ่งที่คุณพยายามทำในขณะที่โปรแกรมเรียกใช้งานกวาดไดเร็กทอรีและไฟล์ทั้งหมดในพื้นที่ที่คุณทำการค้นหา ปัญหาเกิดจากพาร์ติชันหรือไดเร็กทอรีขนาดใหญ่ซึ่งทำให้ผลลัพธ์ล่าช้าไปเล็กน้อย ...
เพื่อหลีกเลี่ยงปัญหานี้คุณสามารถทำบางสิ่งได้เช่น ยกเว้นบางไดเรกทอรี ของการค้นหาเพื่อไม่ให้รบกวนเวลา และสำหรับสิ่งนั้นเราจะใช้คำสั่ง find เช่นเดียวกับในบทช่วยสอนอื่น ๆ ที่ฉันทิ้งไว้เมื่อนานมาแล้วใน LxA และฉันอ้างถึงในลิงก์ในย่อหน้าแรก
หากต้องการยกเว้นไดเรกทอรีจากการค้นหาและประหยัดเวลาสิ่งที่คุณทำได้คือใช้ ตัวเลือก -prune โดย find. ตัวอย่างเช่นสมมติว่าคุณต้องการค้นหาไฟล์ที่เรียกว่า แอลซ่า ด้วยนามสกุลใด ๆ ในไดเร็กทอรีปัจจุบัน แต่คุณต้องการค้นหาทุกที่ยกเว้นไดเร็กทอรีที่มีชื่อ pruebaเพราะคุณรู้ว่ามันจะไม่อยู่ที่นั่น ดังนั้นคุณควรเรียกใช้สิ่งต่อไปนี้:
find . -path './prueba' -prune -o -name 'lxa.*'
นั่นคือในกรณีนี้คุณกำลังขอให้ค้นหาเพื่อค้นหาในไดเร็กทอรีปัจจุบัน (.) ไฟล์ที่เรียกว่า แอลซ่า ด้วยนามสกุลใด ๆ แต่ในกรณีนี้ไดเร็กทอรีจะไม่รวมอยู่ด้วย ./proof.
อย่างที่คุณเห็น, find เป็นคำสั่งที่มีประสิทธิภาพในการค้นหาแต่ก็มีความยากลำบากเนื่องจากตัวเลือกและพารามิเตอร์จำนวนมากที่สามารถยอมรับเพื่อกรองการค้นหา ...