Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีค้นหาไฟล์ใน Linux โดยใช้คำสั่งค้นหา

วิธีค้นหาไฟล์ใน Linux โดยใช้คำสั่งค้นหา

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

find คำสั่งมีอยู่ใน Linux distro ส่วนใหญ่โดยค่าเริ่มต้น ดังนั้นคุณไม่จำเป็นต้องติดตั้งแพ็คเกจสำหรับคำสั่งนี้

ค้นหาไฟล์ตามชื่อในไดเรกทอรีปัจจุบัน

วิธีที่ชัดเจนที่สุดในการค้นหาไฟล์คือตามชื่อ หากต้องการค้นหาไฟล์ตามชื่อในไดเร็กทอรีปัจจุบัน ให้เรียกใช้:

find . -name photo.png
วิธีค้นหาไฟล์ใน Linux โดยใช้คำสั่งค้นหา

หากคุณต้องการค้นหาไฟล์ตามชื่อที่มีทั้งตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก ให้เรียกใช้:

find . -iname photo.png
วิธีค้นหาไฟล์ใน Linux โดยใช้คำสั่งค้นหา

หากคุณต้องการค้นหาไฟล์ในไดเรกทอรีราก ให้นำหน้าการค้นหาด้วย sudo ซึ่งจะทำให้คุณได้รับสิทธิ์ทั้งหมดที่จำเป็นในการทำเช่นนั้น และรวมถึง / สัญลักษณ์ซึ่งบอกให้ Linux ค้นหาในไดเร็กทอรีราก สุดท้าย -print นิพจน์แสดงไดเรกทอรีของผลการค้นหาของคุณ หากคุณกำลังมองหา Gzip ให้พิมพ์:

sudo find / -name gzip -print
วิธีค้นหาไฟล์ใน Linux โดยใช้คำสั่งค้นหา

ค้นหาไฟล์ภายใต้ไดเรกทอรีที่ระบุ

หากคุณต้องการค้นหาไฟล์ภายใต้ไดเร็กทอรีเฉพาะ เช่น “/home” ให้รัน:

find /home -name filename.txt
วิธีค้นหาไฟล์ใน Linux โดยใช้คำสั่งค้นหา

หากคุณต้องการค้นหาไฟล์ที่มีนามสกุล “.txt” ใต้ไดเร็กทอรี “/home” ให้เรียกใช้:

find /home -name "*.txt"
วิธีค้นหาไฟล์ใน Linux โดยใช้คำสั่งค้นหา

หากต้องการค้นหาไฟล์ที่มีชื่อ "test.txt" ภายใต้หลายไดเร็กทอรี เช่น "/home" และ "/opt" ให้เรียกใช้:

find /home /opt -name test.txt

หากต้องการค้นหาไฟล์ที่ซ่อนอยู่ในไดเร็กทอรี “/home” ให้เรียกใช้:

find /home -name ".*"

หากต้องการค้นหาไฟล์เดียวชื่อ “test.txt” และนำออก ให้เรียกใช้:

find /home -type f -name test.txt -exec rm -f {}

หากต้องการค้นหาไฟล์ว่างทั้งหมดภายใต้ไดเร็กทอรี “/opt” ให้เรียกใช้:

find /opt -type f -empty

ค้นหาไดเรกทอรีโดยใช้ชื่อ

หากคุณต้องการค้นหาไดเร็กทอรีทั้งหมดที่มีชื่อ "testdir" ภายใต้ไดเร็กทอรี "/home" ให้รัน:

find /home -type d -name testdir

ในการส่งไดเร็กทอรีว่างทั้งหมดภายใต้ “/home” ให้รัน:

find /home -type d -empty

ค้นหาไฟล์ที่มีสิทธิ์บางอย่าง

find คำสั่งสามารถใช้เพื่อค้นหาไฟล์ที่ได้รับอนุญาตเฉพาะโดยใช้ perm ตัวเลือก

หากต้องการค้นหาไฟล์ทั้งหมดที่มีสิทธิ์ "777" ในไดเร็กทอรี "/home" ให้เรียกใช้:

find /home -type f -perm 0777 -print

หากต้องการค้นหาไฟล์ทั้งหมดโดยไม่ได้รับอนุญาต “777” ให้เรียกใช้:

find . -type f ! -perm 777

หากต้องการค้นหาไฟล์แบบอ่านอย่างเดียวทั้งหมด ให้เรียกใช้:

find /home -perm /u=r

หากต้องการค้นหาไฟล์ปฏิบัติการทั้งหมด ให้เรียกใช้:

find /home -perm /a=x

หากต้องการค้นหาไฟล์ชุด Sticky Bit ทั้งหมดที่มีสิทธิ์ "553" ให้เรียกใช้:

find /home -perm 1553

หากต้องการค้นหาไฟล์ชุด SUID ทั้งหมด ให้เรียกใช้:

find /home -perm /u=s

หากต้องการค้นหาไฟล์ทั้งหมดที่มีสิทธิ์ "777" และเปลี่ยนการอนุญาตเป็น "700" ให้เรียกใช้:

find /home -type f -perm 0777 -print -exec chmod 700 {} ;

ค้นหาไฟล์และไดเรกทอรีตามวันที่และเวลา

หากต้องการค้นหาไฟล์ทั้งหมดภายใต้ “/opt” ซึ่งแก้ไขเมื่อ 20 วันก่อนหน้า ให้เรียกใช้:

find /opt -mtime 20

หากต้องการค้นหาไฟล์ทั้งหมดภายใต้ “/opt” ซึ่งเข้าถึงก่อนหน้า 20 วัน ให้เรียกใช้:

find /opt -atime 20

หากต้องการค้นหาไฟล์ทั้งหมดภายใต้ “/opt” ซึ่งถูกแก้ไขมากกว่า 30 วันก่อนหน้านี้และน้อยกว่า 50 วันหลังจาก:

find /opt -mtime +30 -mtime -50

หากต้องการค้นหาไฟล์ทั้งหมดภายใต้ “/opt” ซึ่งมีการเปลี่ยนแปลงในช่วงสองชั่วโมงที่ผ่านมา ให้เรียกใช้:

find /opt -cmin -120

ค้นหาไฟล์และไดเรกทอรีตามขนาด

หากต้องการค้นหาไฟล์ 10MB ทั้งหมดภายใต้ไดเร็กทอรี “/home” ให้เรียกใช้:

find /home -size 10M

หากต้องการค้นหาไฟล์ทั้งหมดภายใต้ไดเร็กทอรี “/home” ซึ่งมากกว่า 10MB และน้อยกว่า 50MB ให้เรียกใช้:

find /home -size +10M -size -50M

หากต้องการค้นหาไฟล์ “.mp4” ทั้งหมดภายใต้ไดเร็กทอรี “/home” ที่มีมากกว่า 10MB และลบออกโดยใช้คำสั่งเดียว ให้เรียกใช้:

find /home -type f -name *.mp4 -size +10M -exec rm {} ;

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