การค้นหาไฟล์และไดเร็กทอรีนั้นค่อนข้างง่ายด้วยเครื่องมือค้นหาปัจจุบันที่รวมอยู่ในตัวจัดการไฟล์ แต่บางครั้งเราอาจต้องการใช้เทอร์มินัลมากกว่านี้หรือเราอาจไม่มีทางเลือกอื่นนอกจากใช้เทอร์มินัลเนื่องจากเราไม่มีสภาพแวดล้อมแบบกราฟิก ดังนั้น, ฉันคิดว่ามันน่าสนใจที่จะตรวจสอบการค้นหาซึ่งเป็นคำสั่งที่รู้จักกันดี แต่มีบางอย่างที่ลืมไปจากการใช้สภาพแวดล้อมแบบกราฟิกจำนวนมาก
หาตามชื่อของมันไม่มีประโยชน์สำหรับสิ่งอื่นใดนอกจาก เพื่อค้นหาไฟล์แม้ว่าจะมีทางเลือกอื่นเช่นค้นหา ฯลฯ แต่เราจะเน้นไปที่การค้นหาเนื่องจากมีประสิทธิภาพมากและช่วยให้เรามีตัวเลือกที่น่าสนใจมากมายเพื่อให้การค้นหาของเราประสบความสำเร็จ หากเราใช้มันตามที่เป็นอยู่โดยไม่มีตัวเลือกใด ๆ สิ่งที่จะทำคือเปิดรายการที่คล้ายกับที่เราจะได้รับด้วย ls ของเนื้อหาของไดเร็กทอรีทั้งหมด (และไดเร็กทอรีย่อย)
แต่นี่ไม่ใช่สิ่งที่เราสนใจ สิ่งที่เราต้องการคือปรับแต่งและปรับแต่งเพิ่มเติมอีกเล็กน้อย การค้นหาให้แม่นยำยิ่งขึ้นและช่วยให้เราพบสิ่งที่ต้องการจริงๆ เพื่อให้เข้าใจว่ามันทำงานอย่างไรฉันคิดว่าไม่มีวิธีใดดีไปกว่าการแสดงตัวอย่างที่ใช้ได้จริงของ find:
- เพื่อค้นหาตามชื่อเราสามารถใช้ตัวเลือกหรือเกณฑ์การค้นหา« -name » ตัวอย่างเช่นตัวอย่างแรกค้นหาไฟล์ / ไดเร็กทอรีที่มีชื่อที่ขึ้นต้นด้วย "musi" อันที่สองที่ลงท้ายด้วย "eon" และอันสุดท้ายที่มีคำว่า "found" อยู่ในรูท / ไดเร็กทอรี:
find / -name "musi*" find / -name "*eon" find / -name "fundar"
- มีตัวเลือกที่เรียกว่า -type ซึ่งสามารถใช้เป็นตัวกรองและสามารถใช้ร่วมกับ -name ในกรณีนี้จะทำหน้าที่ ระบุประเภทของไฟล์ที่ต้องการค้นหา. ด้วย B เราค้นหาไฟล์พิเศษในโหมดบล็อกโดย C สำหรับไฟล์พิเศษในโหมดอักขระ, D สำหรับไดเร็กทอรี, F สำหรับไฟล์ธรรมดา, L สำหรับลิงก์สัญลักษณ์, P สำหรับไพพ์ที่ตั้งชื่อและ S สำหรับซ็อกเก็ตหรือการเชื่อมต่อเครือข่าย ตัวอย่างเช่นสมมติว่าคุณต้องการค้นหาไดเร็กทอรีที่มี "hello" ต่อท้ายชื่อและในไดเร็กทอรี Home / user:
find /Home/usuario -name "*hola" -type D
- นอกจากนี้เรายังสามารถ ค้นหาโดยผู้ใช้หรือกลุ่มที่เป็นสมาชิก ไดเร็กทอรีหรือไฟล์บนระบบ สำหรับสิ่งนั้นเราสามารถใช้เกณฑ์ -user และ -group ตอนนี้จินตนาการว่าคุณต้องการค้นหาไฟล์ที่มี« .mp3 »ของผู้ใช้« Rosa »และกลุ่ม« Cats »ในไดเร็กทอรีดาวน์โหลด:
find /Descargas -name ".mp3" -user Rosa -group Gatos
- ขนาดสามารถช่วยให้เราค้นหาตามขนาดได้. ในกรณีนี้เรามีตัวเลือกที่แตกต่างกันในการสมัคร A B จะระบุบล็อกหากไม่ได้ระบุขนาดโดยค่าเริ่มต้นจะเป็น 512 ไบต์ C สำหรับอักขระ ASCII 1 ไบต์ W สำหรับคำ 2 ไบต์ (เก่า) และ K สำหรับ KiloBytes หรือ 1024 ไบต์ ตัวอย่างเช่นหากเราต้องการค้นหาใน / สำหรับไฟล์ขนาด 2560 ไบต์ (5 บล็อก· 512) อักขระ ASCII อีก 10 ตัวอักขระ 100KB อีกตัวหนึ่งที่มีขนาดน้อยกว่า 5MB และอีกไฟล์หนึ่งมากกว่า 30KB ให้ทำดังนี้
find / -size 5 find / -size 10c find / -size 100K find / -size -5000K find / -size +30K
แน่นอน - ขนาดจะเป็น สามารถใช้ร่วมกับเกณฑ์การค้นหาทั้งหมด ด้านหน้าและด้านหลังดังนั้นเราจะได้ผลลัพธ์ที่แม่นยำยิ่งขึ้น ...
- คุณสามารถทำได้ ค้นหาตามเกณฑ์ชั่วคราว. ด้วย - เวลาคุณสามารถค้นหาตามวันที่เข้าถึงครั้งล่าสุด - เวลาตามวันที่แก้ไขเนื้อหาและ - เวลาตามวันที่แก้ไขไอโหนดครั้งล่าสุด ตัวอย่างเช่นเราต้องการค้นหา / Home สำหรับไดเรกทอรีชื่อ "hello" ซึ่งเป็นของผู้ใช้ "Zaca" และมีการแก้ไขเมื่อไม่ถึง 3 วันที่ผ่านมา:
find /Home -name "hola" -user Zaca -mtime -3
- มีเกณฑ์มากขึ้น ค้นหาเป็น -perm เพื่อค้นหาการอนุญาตการเข้าถึงหรือการอนุญาต - ลิงก์เพื่อค้นหาฮาร์ดลิงก์ -inum สำหรับหมายเลขไอโหนด ไปกับตัวอย่างสุดท้ายของเราในกรณีนี้เราจะค้นหาไดเร็กทอรีในไดเร็กทอรีปัจจุบันซึ่งมีสิทธิ์ทั้งหมดสำหรับผู้ใช้และกลุ่มที่เป็นเจ้าของและการดำเนินการสำหรับส่วนที่เหลือ:
find -type d -perm 771
บางครั้งเราไม่ทราบถึงศักยภาพของเทอร์มินัลและใช้เครื่องมืออื่น ๆ ที่อาจไม่อนุญาตให้มีความยืดหยุ่นในสิ่งที่มีอยู่แล้วโดยกำเนิด ดังนั้นฉันหวังว่าฉันจะช่วยอะไรบางอย่างกับบทความที่ต่ำต้อยนี้ ขอให้สนุกและแสดงความคิดเห็นของคุณ...
ฉันไม่ได้รู้สึกขบขัน แต่มันช่วยฉันได้เล็กน้อย