วิธีใช้คำสั่ง Find เพื่อค้นหาไฟล์ใน Linux

วิธีใช้คำสั่ง Find เพื่อค้นหาไฟล์ใน Linux

มีบางครั้งที่คุณต้องการเข้าถึงไฟล์ใดไฟล์หนึ่ง แต่หาไม่พบในระบบของคุณเนื่องจากไม่มีการจัดโฟลเดอร์ โชคดีที่ลีนุกซ์มียูทิลิตีที่มีประโยชน์ที่ช่วยให้คุณสามารถค้นหาไฟล์ในคอมพิวเตอร์ของคุณได้อย่างง่ายดาย





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





คำสั่งค้นหาคืออะไร?

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





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

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

คำสั่ง find มีตัวเลือกและฟังก์ชันมากมายที่กรองไฟล์ตามเงื่อนไขที่ระบุ



ค้นหาไวยากรณ์คำสั่ง

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

find [path] [options] [expression]

ตัวอย่างเช่น คำสั่งต่อไปนี้จะค้นหาไฟล์ข้อความในไฟล์ /บ้าน ไดเรกทอรี





find /home -type f -name '*.txt'

โปรดจำไว้ว่า ก่อนที่จะค้นหาไฟล์ในที่เก็บข้อมูลของคุณ คุณต้องมีสิทธิ์ในการอ่านสำหรับไดเร็กทอรีนั้น ๆ

วิธีย้ายไฟล์ Google Drive ไปยังบัญชีอื่น

ค้นหาไฟล์ตามชื่อ

การใช้งานทั่วไปของคำสั่ง find คือการค้นหาไฟล์โดยใช้ชื่อไฟล์ หากต้องการค้นหาไฟล์โดยใช้ชื่อไฟล์ ให้ใช้ปุ่ม -ชื่อ ตั้งค่าสถานะด้วยคำสั่งเริ่มต้น





find /home -type f -name filename.txt

คำสั่งดังกล่าวจะค้นหาไฟล์ชื่อ ชื่อไฟล์.txt ใน /บ้าน ไดเรกทอรี NS - พิมพ์ f option บอกระบบว่าเรากำลังหา a ไฟล์ .

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

find /home -type f -iname FileName

คำสั่งนี้จะระบุตำแหน่งไฟล์ที่มีชื่ออย่างใดอย่างหนึ่งต่อไปนี้: ชื่อไฟล์ ชื่อไฟล์ ชื่อไฟล์ ชื่อไฟล์ ฯลฯ

เช่นเดียวกับคำสั่ง Linux อื่น ๆ คุณสามารถใช้ . (จุด) เพื่อระบุเส้นทางสัมพัทธ์ของไดเรกทอรีปัจจุบันด้วย

find . -type f -name filename.txt

ในทำนองเดียวกัน / สำหรับ /ราก และ ~ สำหรับ /บ้าน สามารถใช้ได้เช่นกัน

ค้นหาไฟล์ตามนามสกุล

การค้นหาไฟล์ที่มีนามสกุลเฉพาะสามารถช่วยในการจำกัดผลการค้นหาของคุณให้แคบลง หากต้องการค้นหาไฟล์ตามนามสกุล ให้ใช้นิพจน์ทั่วไปต่อไปนี้ด้วยเครื่องหมาย -ชื่อ และ -ฉันชื่อ ธง.

find /home -type f -name '*.pdf'

คำสั่งนี้จะแสดงรายการไฟล์ทั้งหมดที่มี .ไฟล์ PDF ส่วนขยาย. โปรดทราบว่าคุณจะต้องหลบหนี เครื่องหมายดอกจัน ( * ) ตัวอักษรที่มีทั้ง คำพูด ( '' ) หรือ ทับหลัง ( ) เพื่อให้เทอร์มินัลตีความว่าเป็นอักขระตัวแทน

คุณยังสามารถผกผันคำสั่งข้างต้นได้โดยใช้ปุ่ม -ไม่ ธง. คำสั่งต่อไปนี้จะค้นหาไฟล์ที่ไม่มี .ไฟล์ PDF ส่วนขยาย.

find /home -type f -not -name '*.pdf'

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

find /home - type f '*.pdf' -exec chmod -777 {} ;

คำสั่งนี้จะค้นหาทั้งหมด ไฟล์ PDF ไฟล์ใน /บ้าน ไดเร็กทอรีและเปลี่ยนการอนุญาตเพื่อให้ทุกคนสามารถอ่าน เขียน และรันไฟล์เหล่านั้นได้

ค้นหาประเภทไฟล์เฉพาะ

นอกจากไฟล์แล้ว คำสั่ง find สามารถค้นหาไฟล์ประเภทอื่นได้เช่นกัน ไดเร็กทอรี ลิงก์สัญลักษณ์ ซ็อกเก็ต และอุปกรณ์อักขระเป็นไฟล์บางประเภทที่ได้รับการสนับสนุนโดย find

จนถึงขณะนี้ เราใช้ - พิมพ์ f ตัวเลือกในคำสั่ง find NS NS หมายถึง ไฟล์ . หากต้องการค้นหาไฟล์ประเภทอื่นๆ ใน Linux ให้แทนที่ NS กับตัวละครสงวนอื่นๆ

  • NS : ไฟล์ปกติ
  • NS : ไดเรกทอรี
  • NS : ลิงก์สัญลักษณ์
  • : อุปกรณ์ตัวละคร
  • NS : บล็อคอุปกรณ์
  • NS : ชื่อไปป์
  • NS : เต้ารับ

เพื่อค้นหาไดเรกทอรีย่อยที่มีอยู่ใน /บ้าน ไดเรกทอรี:

find /home -type d

ค้นหาไฟล์ตามขนาด

NS -ขนาด ธงช่วยให้คุณค้นหาไฟล์ที่ใช้พื้นที่ว่างบนดิสก์ได้ คำต่อท้ายต่อไปนี้แสดงถึงขนาดไฟล์ต่างๆ:

  • NS : บล็อกขนาด 512 ไบต์
  • : ไบต์
  • ใน : คำสองไบต์
  • ถึง : กิโลไบต์
  • NS : เมกะไบต์
  • NS : กิกะไบต์

ในการค้นหาไฟล์ทั้งหมดที่มีขนาดไฟล์ 1GB:

find /home -type f -size 1G

หากต้องการค้นหาไฟล์ที่น้อยกว่า 1GB ให้เพิ่ม ลบ ( - ) ก่อนระบุขนาด:

find /home -type f -size -1G

ในทำนองเดียวกัน ใช้ มากกว่า ( + ) ตัวดำเนินการเพื่อค้นหาไฟล์ที่มากกว่า 1GB:

find /home -type f -size +1G

หากต้องการค้นหาไฟล์ภายในช่วงขนาด:

find /home -type f -size +1M -size -10M

ค้นหาไฟล์โดยใช้การประทับเวลา

คุณคงรู้แล้วว่า Linux กำหนดการประทับเวลาเฉพาะ ไปยังทุกไฟล์ในที่เก็บข้อมูลของคุณ การประทับเวลาเหล่านี้ประกอบด้วยเวลาที่แก้ไข เวลาที่เปลี่ยนแปลง และเวลาเข้าถึง

หากต้องการค้นหาไฟล์ที่มีเวลาแก้ไขเฉพาะ:

find /home -type f -name '*.txt' -mtime 5

คำสั่งดังกล่าวจะพิมพ์ไฟล์ทั้งหมดที่แก้ไขในห้าวันที่ผ่านมา ในทำนองเดียวกัน คุณยังสามารถใช้ -เวลา และ -ctime เพื่อกรองไฟล์ตามเวลาเข้าถึงและเปลี่ยนเวลา

คุณยังสามารถใช้ มากกว่า และ ลบ สัญญาณเพื่อค้นหาไฟล์ที่มากกว่าหรือเล็กกว่าการประทับเวลาที่กำหนด

find /home -type f -name '*.txt' -mtime +5

ค้นหาไฟล์ที่มีสิทธิ์เฉพาะ

NS -ดัด ตัวเลือกอนุญาตให้ผู้ใช้ค้นหาไฟล์ด้วยชุดสิทธิ์เฉพาะ

find /home -type f -perm 777

ใช้ ไปข้างหน้าเฉือน อักขระ ( / ) เพื่อแสดงรายการไฟล์หากอย่างน้อยหนึ่งหมวดหมู่ได้แก้ไขชุดสิทธิ์ที่ให้ไว้

รีโมท roku ไม่ทำงานกับทีวี
find /home -type f -perm /777

ค้นหาไฟล์โดยเจ้าของ

ใช้ -ผู้ใช้ ตั้งค่าสถานะเพื่อรับไฟล์ที่เป็นของผู้ใช้เฉพาะ

find /home -user randomuser

ค้นหาและลบไฟล์

หากต้องการลบไฟล์ที่กรองทั้งหมดโดยใช้การค้นหา ให้เพิ่ม -ลบ แฟล็กที่ส่วนท้ายของคำสั่ง

find /home -type f -name '*.pdf' -delete

คำสั่งดังกล่าวจะลบ .ทั้งหมด ไฟล์ PDF ไฟล์ที่มีอยู่ใน /บ้าน ไดเรกทอรี

คุณจะไม่สามารถลบไดเร็กทอรีที่ไม่ว่างเปล่าด้วยการค้นหา คุณจะต้องใช้ คำสั่ง rm เพื่อลบโฟลเดอร์ดังกล่าว บนระบบ Linux ของคุณ

การจัดระเบียบไฟล์ใน Linux

การค้นหาไฟล์เป็นเรื่องยากหากคุณมีไดเรกทอรีหลายร้อยรายการในระบบของคุณโดยไม่มีชื่อที่เหมาะสม คำสั่ง find มีประโยชน์เมื่อคุณต้องการกรองไฟล์ในไดเร็กทอรีตามเกณฑ์เฉพาะ

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

แบ่งปัน แบ่งปัน ทวีต อีเมล 9 เคล็ดลับสำคัญสำหรับการจัดการและจัดระเบียบไฟล์ในคอมพิวเตอร์ของคุณ

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

อ่านต่อไป
หัวข้อที่เกี่ยวข้อง
  • ลินุกซ์
  • การจัดการไฟล์
  • ลินุกซ์
เกี่ยวกับผู้เขียน Deepesh Sharma(79 บทความที่ตีพิมพ์)

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

เพิ่มเติมจาก Deepesh Sharma

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก