ในคู่มือนี้คุณจะได้เรียนรู้วิธีใช้ Linux เพื่อหาไฟล์หรือชุดของไฟล์
คุณสามารถใช้ตัวจัดการไฟล์ที่มาพร้อมกับการแจกจ่าย Linux เพื่อค้นหาไฟล์ ถ้าคุณใช้ในการใช้ Windows ผู้จัดการไฟล์จะคล้ายกับ Windows Explorer มีส่วนติดต่อผู้ใช้กับชุดของโฟลเดอร์ซึ่งเมื่อคลิกที่จะแสดงโฟลเดอร์ย่อยภายในโฟลเดอร์เหล่านั้นและไฟล์ใด ๆ ที่มีอยู่ภายใน
ผู้จัดการไฟล์ส่วนใหญ่มีคุณลักษณะการค้นหาและวิธีการกรองรายการไฟล์
วิธีที่ดีที่สุดในการค้นหาไฟล์คือการใช้บรรทัดคำสั่งของ Linux เนื่องจากมีวิธีการอื่น ๆ อีกมากมายที่สามารถค้นหาไฟล์ได้มากกว่าเครื่องมือแบบกราฟิกที่เคยพยายามรวมไว้
วิธีการเปิดหน้าต่างเทอร์มินัล
ในการค้นหาไฟล์โดยใช้บรรทัดคำสั่ง Linux คุณจะต้องเปิดหน้าต่างเทอร์มินัล
มีหลายวิธีในการ เปิดหน้าต่างเทอร์มินัล วิธีหนึ่งที่มั่นใจได้ว่าจะทำงานได้กับระบบลีนุกซ์ส่วนใหญ่คือการกดปุ่ม CTRL, ALT และ T พร้อม ๆ กัน หากไม่สามารถใช้เมนูบนเดสก์ท็อป Linux ของคุณเพื่อค้นหาตัวแก้ไขเทอร์มินัล
วิธีที่ง่ายที่สุดในการค้นหาไฟล์
คำสั่งที่ใช้ในการค้นหาไฟล์เรียกว่า find
นี่คือไวยากรณ์พื้นฐานของคำสั่ง Find
หา
จุดเริ่มต้นคือโฟลเดอร์ที่คุณต้องการเริ่มต้นค้นหา ในการเริ่มต้นค้นหาไดรฟ์ทั้งหมดคุณจะพิมพ์ต่อไปนี้:
หา /
อย่างไรก็ตามหากคุณต้องการเริ่มค้นหาโฟลเดอร์ที่คุณอยู่ในขณะนี้คุณสามารถใช้ไวยากรณ์ต่อไปนี้:
หา
โดยทั่วไปเมื่อค้นหาคุณจะต้องค้นหาตามชื่อดังนั้นการค้นหาไฟล์ที่เรียกว่า myresume.odt ในไดรฟ์ทั้งหมดคุณจะใช้ไวยากรณ์ต่อไปนี้:
ค้นหา / ชื่อ myresume.odt
ส่วนแรกของคำสั่ง find จะเห็นได้ชัดว่าคำค้นหา
ส่วนที่สองคือตำแหน่งที่จะเริ่มค้นหา
ส่วนต่อไปคือนิพจน์ที่กำหนดว่าจะหาอะไร
ในที่สุดส่วนสุดท้ายก็คือชื่อของสิ่งที่จะหา
ค้นหาจากที่ไหน
ดังที่กล่าวไว้ในส่วนก่อนหน้านี้คุณสามารถเลือกตำแหน่งใด ๆ ในระบบไฟล์เพื่อเริ่มค้นหาได้ ตัวอย่างเช่นถ้าคุณต้องการค้นหาระบบแฟ้มปัจจุบันคุณสามารถใช้แบบเต็มรูปแบบได้ดังนี้:
หา - ชื่อเกม
คำสั่งข้างต้นจะค้นหาไฟล์หรือโฟลเดอร์ที่เรียกว่าเกมในโฟลเดอร์ทั้งหมดภายใต้โฟลเดอร์ปัจจุบัน คุณสามารถค้นหาชื่อของโฟลเดอร์ปัจจุบันโดยใช้ คำสั่ง pwd
ถ้าคุณต้องการค้นหาระบบไฟล์ทั้งหมดคุณจำเป็นต้องเริ่มต้นจากโฟลเดอร์รากดังนี้:
หา / - ชื่อเกม
มีแนวโน้มว่าผลลัพธ์ที่ส่งกลับโดยคำสั่งดังกล่าวจะแสดงการปฏิเสธสิทธิ์สำหรับผลลัพธ์ที่ส่งคืนมาจำนวนมาก
คุณอาจจำเป็นต้องยกระดับสิทธิ์ของคุณโดยใช้ คำสั่ง sudo หรือเปลี่ยนไปใช้บัญชีผู้ดูแลระบบโดยใช้ คำสั่ง su
ตำแหน่งเริ่มต้นสามารถเป็นตัวอักษรได้ทุกที่ในระบบไฟล์ของคุณ ตัวอย่างเช่นหากต้องการค้นหาโฟลเดอร์บ้านให้ทำดังนี้
หา ~ -name เกม
ตัวหนอนเป็น metacharacter ที่ใช้กันโดยทั่วไปสำหรับการแสดงโฮมโฟลเดอร์ของผู้ใช้ปัจจุบัน
การแสดงออก
นิพจน์ทั่วไปที่คุณใช้คือ -name
นิพจน์ name ช่วยให้คุณสามารถค้นหาชื่อไฟล์หรือโฟลเดอร์ได้
มี แต่สำนวนอื่น ๆ ที่คุณสามารถใช้เป็นดังนี้:
- -amin n - ไฟล์ถูกเข้าถึงครั้งล่าสุดเมื่อไม่นานมานี้
- -anewer - ไฟล์ถูกเข้าถึงครั้งล่าสุดเมื่อเร็ว ๆ นี้กว่าที่ได้รับการแก้ไข
- n ครั้ง - ไฟล์ถูกเข้าถึงล่าสุดเมื่อ n วันที่ผ่านมา
- -cmin n - ไฟล์มีการเปลี่ยนแปลงครั้งล่าสุดเมื่อไม่นานมานี้
- -cnewer - ไฟล์ล่าสุดมีการเปลี่ยนแปลงล่าสุดเมื่อไฟล์ถูกแก้ไข
- n - ไฟล์มีการเปลี่ยนแปลงล่าสุดเมื่อ n วันที่ผ่านมา
- -empty - ไฟล์ว่างเปล่า
- - executable - ไฟล์เป็นไฟล์ปฏิบัติการ
- เท็จ - เท็จเสมอ
- -fstype type - ไฟล์อยู่ในระบบไฟล์ที่ระบุ
- -gid n - ไฟล์เป็นของกลุ่มที่มี ID n
- - groupname กลุ่ม - ไฟล์เป็นของกลุ่มที่มีชื่อ
- --ilname pattern - ค้นหาบรรทัดสัญลักษณ์ แต่ละเว้นกรณี
- - กำหนดรูปแบบ - ค้นหาไฟล์ แต่ละเว้นกรณี
- -inum n - ค้นหาไฟล์ที่มีโหนดที่ระบุ
- -ipath path - ค้นหาเส้นทาง แต่ละเว้นกรณี
- -exgex นิพจน์ - ค้นหานิพจน์ แต่ละเว้นกรณี
- เชื่อมโยง n - ค้นหาไฟล์ที่มีจำนวนลิงก์ที่ระบุ
- - ชื่อชื่อ - ค้นหาลิงค์สัญลักษณ์
- -mmin n - ข้อมูลของไฟล์ได้รับการแก้ไขครั้งล่าสุดเมื่อไม่นานมานี้
- - mtime n - ข้อมูลของไฟล์ได้รับการแก้ไขครั้งล่าสุดเมื่อวันที่ n
- ชื่อชื่อ - ค้นหาไฟล์ที่มีชื่อที่ระบุ
- -newer name - ค้นหาไฟล์ที่แก้ไขเมื่อเร็ว ๆ นี้กว่าไฟล์ที่ระบุ
- -nogroup - ค้นหาไฟล์ที่ไม่มี id กลุ่ม
- -nouser - ค้นหาไฟล์ที่ไม่มีผู้ใช้แนบไฟล์
- เส้นทางพา ธ - ค้นหาพา ธ
- อ่านได้ - ค้นหาไฟล์ที่สามารถอ่านได้
- -regex pattern - ค้นหาไฟล์ที่ตรงกับนิพจน์ปกติ
- ชนิดชนิด - ค้นหาประเภทเฉพาะ
- uid - id id ผู้ใช้ตัวเลขเหมือนกับ uid
- ชื่อผู้ใช้ - ไฟล์เป็นของผู้ใช้ที่ระบุ
- สามารถเขียนทับได้ - ค้นหาไฟล์ที่สามารถเขียนได้
วิธีค้นหาไฟล์ที่เข้าถึงได้มากกว่าหนึ่งวันก่อน
ลองจินตนาการว่าคุณต้องการหาไฟล์ทั้งหมดภายในโฟลเดอร์ภายในบ้านที่เข้าถึงได้มากกว่า 100 วันก่อน คุณอาจต้องการทำเช่นนี้หากต้องการสำรองข้อมูลและลบไฟล์เก่าที่คุณไม่สามารถเข้าถึงได้เป็นประจำ
ในการดำเนินการนี้ให้เรียกใช้คำสั่งต่อไปนี้:
หา ~ -atime 100
วิธีค้นหาไฟล์และโฟลเดอร์ที่ว่างเปล่า
ถ้าคุณต้องการค้นหาไฟล์และโฟลเดอร์ว่างเปล่าทั้งหมดในระบบของคุณให้ใช้คำสั่งต่อไปนี้:
หา / -empty
วิธีค้นหาไฟล์ทั้งหมดที่ปฏิบัติได้
ถ้าคุณต้องการค้นหาไฟล์ปฏิบัติการทั้งหมดในคอมพิวเตอร์ของคุณให้ใช้คำสั่งต่อไปนี้:
หา / -exec
วิธีค้นหาไฟล์ทั้งหมดที่อ่านได้
หากต้องการค้นหาไฟล์ทั้งหมดที่สามารถอ่านได้ให้ใช้คำสั่งต่อไปนี้:
ค้นหา / อ่าน
รูปแบบ
เมื่อคุณค้นหาไฟล์คุณสามารถใช้รูปแบบได้ ตัวอย่างเช่นบางทีคุณอาจกำลังค้นหาไฟล์ทั้งหมดที่มีนามสกุล mp3
คุณสามารถใช้รูปแบบต่อไปนี้:
หา / ชื่อ * .mp3
วิธีการส่งออกจากการค้นหาคำสั่งค้นหาไปยังแฟ้ม
ปัญหาหลักเกี่ยวกับคำสั่ง find คือบางครั้งอาจทำให้ผลงานมากเกินไปในหนึ่งครั้ง
คุณสามารถส่งออกผลลัพธ์ไป ยังคำสั่งหาง หรือคุณสามารถส่งออกบรรทัดไปยังแฟ้มได้ดังนี้:
หา / -name * .mp3 -fprint nameoffiletoprintto
วิธีการค้นหาและดำเนินการคำสั่งต่อไฟล์
ลองจินตนาการว่าคุณต้องการค้นหาและแก้ไขไฟล์ในเวลาเดียวกัน
คุณสามารถใช้คำสั่งต่อไปนี้:
หาชื่อไฟล์ / -name -exec nano '{}' \;
คำสั่งข้างต้นค้นหาไฟล์ชื่อ filename และเรียก ใช้ตัวแก้ไข nano สำหรับไฟล์ที่ค้นพบ
สรุป
คำสั่ง find มีประสิทธิภาพมาก คู่มือนี้ได้แสดงให้เห็นว่าจะค้นหาไฟล์ได้อย่างไร แต่มีตัวเลือกมากมายและเพื่อให้เข้าใจถึงสิ่งเหล่านี้ทั้งหมดคุณควรดูคู่มือ Linux
คุณสามารถทำได้โดยใช้คำสั่งต่อไปนี้ใน terminal:
คนหา