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

วิธีค้นหาไฟล์ใน Linux

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

ใช้คำสั่ง 'find' เพื่อค้นหาไฟล์ใน Linux

คำสั่งที่ใช้ค้นหาไฟล์เรียกว่า find .

ไวยากรณ์พื้นฐานของคำสั่ง find มีดังนี้:

เส้นทางที่ใช้งานอยู่ในปัจจุบันจะทำเครื่องหมายตำแหน่งการค้นหาโดยค่าเริ่มต้น หากต้องการค้นหาทั้งไดรฟ์ ให้พิมพ์ดังต่อไปนี้:

อย่างไรก็ตาม หากคุณต้องการค้นหาโฟลเดอร์ที่คุณอยู่ ให้ใช้ไวยากรณ์ต่อไปนี้:

วิธีค้นหาไฟล์ใน Linux

เมื่อคุณค้นหาตามชื่อทั่วทั้งไดรฟ์ ให้ใช้ไวยากรณ์ต่อไปนี้:

  • ส่วนแรกของคำสั่ง find คือคำสั่ง find
  • ส่วนที่สองคือจุดเริ่มต้นการค้นหา
  • ส่วนต่อไปคือนิพจน์ที่กำหนดสิ่งที่จะค้นหา
  • ส่วนสุดท้ายคือชื่อไฟล์ที่จะค้นหา

ในการเข้าถึงเชลล์ (บางครั้งเรียกว่าหน้าต่างเทอร์มินัล) ในการแจกแจงส่วนใหญ่ ให้คลิกไอคอนที่เกี่ยวข้องหรือกด Ctrl+Alt+T .

ค้นหาทางลัดตำแหน่ง

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

  • ระยะเวลา (.) :ระบุโฟลเดอร์ปัจจุบันและโฟลเดอร์ที่ซ้อนกันทั้งหมด
  • ฟอร์เวิร์ดสแลช (/) :ระบุทั้งระบบไฟล์
  • ตัวหนอน (~) :ระบุโฮมไดเร็กทอรีของผู้ใช้ที่ใช้งานอยู่

การค้นหาระบบไฟล์ทั้งหมดอาจทำให้เกิดข้อผิดพลาดในการปฏิเสธการเข้าถึง เรียกใช้คำสั่งด้วยสิทธิ์ระดับสูง (โดยใช้คำสั่ง sudo) หากคุณต้องการค้นหาในที่ที่บัญชีมาตรฐานของคุณไม่สามารถเข้าถึงได้ตามปกติ

นิพจน์ที่คุณสามารถใช้ได้

นิพจน์ทั่วไปที่คุณจะใช้คือ -name ซึ่งค้นหาชื่อไฟล์หรือโฟลเดอร์

อย่างไรก็ตาม มีนิพจน์อื่นๆ ที่คุณสามารถใช้ได้:

  • -อามิน n :ไฟล์ถูกเข้าถึงล่าสุด +/- n นาทีที่แล้วขึ้นอยู่กับว่าคุณป้อนเวลาอย่างไร
  • -anewer :ใช้ไฟล์อื่นเป็นข้อมูลอ้างอิงเพื่อค้นหาไฟล์ใด ๆ ที่มีการเข้าถึงล่าสุดและไฟล์อ้างอิง
  • -เวลา n :ไฟล์มีการเข้าถึงล่าสุดมากกว่า/น้อยกว่า n วันที่ผ่านมาขึ้นอยู่กับว่าคุณป้อนเวลาเป้าหมาย (n) อย่างไร
  • -cmin n :ไฟล์ถูกแก้ไขล่าสุด n นาทีที่แล้ว ขึ้นอยู่กับว่าคุณป้อนเวลาเป้าหมายอย่างไร (n)
  • -กรงเล็บ :ใช้ไฟล์อื่นเป็นข้อมูลอ้างอิงเพื่อค้นหาไฟล์ที่เข้าถึงล่าสุดและไฟล์อ้างอิง
  • -ctime n :ไฟล์มีการเข้าถึงล่าสุดมากกว่า/น้อยกว่า n วันที่ผ่านมาขึ้นอยู่กับว่าคุณป้อนเวลาเป้าหมาย (n) อย่างไร
  • ว่างเปล่า : ไฟล์ว่างเปล่า
  • -ปฏิบัติการได้ :ไฟล์นี้สามารถใช้งานได้
  • -เท็จ :เท็จเสมอ
  • -ประเภท fstype :ไฟล์อยู่ในระบบไฟล์ที่ระบุ
  • -gid n :ไฟล์อยู่ในกลุ่มที่มี ID n .
  • -ชื่อกลุ่ม :ไฟล์อยู่ในกลุ่มที่มีชื่อ
  • รูปแบบ ilname :ค้นหาลิงก์สัญลักษณ์แต่ไม่ต้องสนใจกรณีนี้
  • -รูปแบบ iname :ค้นหาไฟล์แต่ไม่ต้องสนใจกรณีนี้
  • -inum n :ค้นหาไฟล์ที่มีไอโหนดที่ระบุ
  • เส้นทางไอพาธ :ค้นหาเส้นทางแต่ละเว้นกรณี
  • นิพจน์ -iregex :ค้นหานิพจน์แต่ละเว้นกรณี
  • -ลิงค์ n :ค้นหาไฟล์ที่มีจำนวนลิงก์ที่ระบุ
  • -lname :ค้นหาลิงก์สัญลักษณ์
  • -mmin n :ไฟล์ถูกเข้าถึงล่าสุด +/- n นาทีที่แล้วขึ้นอยู่กับว่าคุณป้อนเวลาอย่างไร
  • -mtime n :ไฟล์มีการเข้าถึงล่าสุดมากกว่า/น้อยกว่า n วันที่ผ่านมาขึ้นอยู่กับว่าคุณป้อนเวลาเป้าหมาย (n) อย่างไร
  • -ชื่อ :ค้นหาไฟล์ที่มีชื่อที่ระบุ
  • -ชื่อใหม่กว่า :ค้นหาไฟล์ที่แก้ไขใหม่กว่าไฟล์อ้างอิงที่ให้มา
  • -nogroup :ค้นหาไฟล์ที่ไม่มีรหัสกลุ่ม
  • -nouser :ค้นหาไฟล์ที่ไม่มีผู้ใช้แนบมา
  • เส้นทางเส้นทาง :ค้นหาเส้นทาง
  • -อ่านได้ :ค้นหาไฟล์ที่สามารถอ่านได้
  • -รูปแบบ regex :ค้นหาไฟล์ที่ตรงกับนิพจน์ทั่วไป
  • ประเภท-ประเภท :ค้นหาประเภทเฉพาะ ประเภทตัวเลือกได้แก่:
    • -type d :ไดเร็กทอรี
    • -type f :ไฟล์
    • -type l :ซิมลิงค์
  • -uid uid :รหัสผู้ใช้ที่เป็นตัวเลขของไฟล์เหมือนกับ uid
  • -ชื่อผู้ใช้ :ไฟล์นี้เป็นของผู้ใช้ที่ระบุ
  • -เขียนได้ :ค้นหาไฟล์ที่สามารถเขียนได้

ตัวอย่างการใช้งานคำสั่ง Find

คุณสามารถใช้คำสั่ง find ได้ด้วยวิธีต่อไปนี้

วิธีค้นหาไฟล์ที่มีการเข้าถึงมากกว่าจำนวนวันที่กำหนด

วิธีค้นหาไฟล์ทั้งหมดภายในโฟลเดอร์เริ่มต้นของคุณที่เข้าถึงมานานกว่า 100 วันที่ผ่านมา:

วิธีค้นหาไฟล์และโฟลเดอร์ว่าง

วิธีค้นหาไฟล์และโฟลเดอร์ว่างทั้งหมดในระบบของคุณ:

วิธีค้นหาไฟล์ปฏิบัติการทั้งหมด

วิธีค้นหาไฟล์ปฏิบัติการทั้งหมดในคอมพิวเตอร์ของคุณ:

วิธีค้นหาไฟล์ที่อ่านได้ทั้งหมด

วิธีค้นหาไฟล์ทั้งหมดที่สามารถอ่านได้:

ใช้รูปแบบเพื่อค้นหาไฟล์

เมื่อคุณค้นหาไฟล์ คุณสามารถใช้รูปแบบได้ ตัวอย่างเช่น ค้นหาไฟล์ทั้งหมดที่มีนามสกุล MP3:

คุณอาจต้องหลีกเลี่ยงเครื่องหมายดอกจัน ทั้งนี้ขึ้นอยู่กับเชลล์ที่คุณใช้ หากคุณเรียกใช้คำสั่งและไม่ได้รับผลลัพธ์ตามที่คาดไว้ ให้ลองอ้างอิงรูปแบบทั้งหมดเพื่อหลีกเลี่ยงเครื่องหมายดอกจัน เช่น find / -name '*.mp3'

วิธีค้นหาไฟล์ใน Linux

วิธีการส่งผลลัพธ์จากคำสั่งค้นหาไปยังไฟล์

ปัญหาหลักของคำสั่ง find คือบางครั้งอาจส่งกลับผลลัพธ์มากเกินไปที่จะดูในครั้งเดียว ไพพ์เอาต์พุตไปยังคำสั่ง tail หรือเอาต์พุตบรรทัดไปยังไฟล์ดังนี้:

วิธีค้นหาและดำเนินการคำสั่งกับไฟล์

หากต้องการค้นหาและแก้ไขไฟล์พร้อมกัน ให้พิมพ์:

คำสั่งด้านบนจะค้นหาไฟล์ชื่อ filename จากนั้นเรียกใช้โปรแกรมแก้ไข nano สำหรับไฟล์ที่พบ

นาโนคือชื่อของคำสั่ง ไม่ใช่ส่วนที่แน่นอนของไวยากรณ์นี้