0Pricing
DevOps Bootcamp · บทเรียน

การค้นหาไฟล์ (find, grep)

ค้นพบคำสั่งทรงพลังอย่าง 'find' และ 'grep' สำหรับค้นหาไฟล์และรูปแบบข้อความเฉพาะภายในไฟล์ทั่วทั้งระบบ

การค้นหาไฟล์ (find, grep) เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดจึงต้องค้นหาใน Linux

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

เราจะเรียนรู้คำสั่งทรงพลัง 2 คำสั่ง ได้แก่ find สำหรับค้นหาไฟล์และไดเรกทอรี และ grep สำหรับค้นหารูปแบบข้อความอยู่*ภายใน*ไฟล์

ทำความรู้จักคำสั่ง `find`

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

โครงสร้างพื้นฐานคือ find [path] [expression] โดย [path] ระบุจุดเริ่มต้นการค้นหา และ [expression] กำหนดสิ่งที่ต้องการค้นหา

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

วิธีใช้ find ที่พบบ่อยที่สุดคือค้นหาตามชื่อโดยใช้ตัวเลือก -name คุณสามารถใช้ไวลด์การ์ด เช่น * ได้

มาค้นหาไฟล์ทั้งหมดที่ลงท้ายด้วย .txt ในไดเรกทอรีปัจจุบันกัน

cd /tmp
touch report.txt document.pdf notes.txt
find . -name "*.txt"

ค้นหาไฟล์ตามประเภท

คุณสามารถระบุประเภทของรายการที่ find ควรค้นหาได้โดยใช้ตัวเลือก -type:

  • f สำหรับไฟล์ทั่วไป
  • d สำหรับไดเรกทอรี

มาค้นหาไดเรกทอรีทั้งหมดในตำแหน่งปัจจุบันกัน

cd /tmp
mkdir mydir anotherdir
touch file.txt
find . -type d

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

ต้องการค้นหาไฟล์ขนาดใหญ่ใช่ไหม ให้ใช้ตัวเลือก -size คุณสามารถระบุหน่วยได้ เช่น c (ไบต์), k (KB), M (MB), G (GB)

  • +10M: ใหญ่กว่า 10MB
  • -5k: เล็กกว่า 5KB
  • 100c: มีขนาด 100 ไบต์พอดี

ค้นหาไฟล์ที่มีขนาดใหญ่กว่า 1KB

cd /tmp
dd if=/dev/zero of=small_file bs=100 count=1 2>/dev/null
dd if=/dev/zero of=large_file bs=2k count=1 2>/dev/null
find . -size +1k

แนะนำ `grep`

ขณะที่ find ใช้ค้นหาไฟล์ grep (Global Regular Expression Print) จะค้นหารูปแบบข้อความที่ต้องการอยู่*ภายใน*ไฟล์

รูปแบบไวยากรณ์พื้นฐานคือ grep [pattern] [file...] โดย [pattern] คือข้อความที่คุณกำลังค้นหา และ [file...] คือไฟล์ที่จะค้นหา

`grep` สำหรับข้อความทั่วไป

มาสร้างไฟล์ข้อความง่าย ๆ แล้วใช้ grep ค้นหาคำภายในไฟล์กัน grep จะแสดงทุกบรรทัดที่มีรูปแบบข้อความนั้น

cd /tmp
echo "Hello CoddyKit learners!" > greeting.txt
echo "This is a great lesson." >> greeting.txt
echo "CoddyKit is fun." >> greeting.txt
grep "CoddyKit" greeting.txt

ตัวเลือกของ `grep`: -i และ -n

ตัวเลือกที่มีประโยชน์ 2 รายการของ grep:

  • -i: ไม่สนใจตัวพิมพ์ใหญ่เล็กขณะค้นหา
  • -n: แสดงหมายเลขบรรทัดที่พบรายการตรงกัน

มาค้นหา "coddykit" โดยไม่สนใจตัวพิมพ์ใหญ่เล็ก และดูหมายเลขบรรทัดกัน

cd /tmp
echo "Hello CoddyKit learners!" > greeting.txt
echo "This is a great lesson." >> greeting.txt
echo "coddykit is fun." >> greeting.txt
grep -i -n "coddykit" greeting.txt

ใช้ `find` และ `grep` ร่วมกัน

คุณสามารถใช้ find และ grep ร่วมกันเพื่อค้นหาไฟล์และเนื้อหาภายในไฟล์ได้ ตัวเลือก -exec ของ find ช่วยให้คุณเรียกใช้คำสั่งอื่นกับไฟล์แต่ละไฟล์ที่พบ

ในที่นี้ เราจะค้นหาไฟล์ .txt ทั้งหมด แล้วค้นหา "CoddyKit" ภายในไฟล์เหล่านั้น

cd /tmp
echo "Hello CoddyKit" > file1.txt
echo "Hello World" > file2.txt
echo "CoddyKit rocks" > file3.txt
find . -name "*.txt" -exec grep -l "CoddyKit" {} +

ตรวจสอบอย่างรวดเร็ว

คุณมีไดเรกทอรีที่มีไฟล์หลายไฟล์ คำสั่งใดจะค้นหาไฟล์ทั้งหมดที่ชื่อ log.txt หรือ error.log และมีขนาดใหญ่กว่า 50KB

สรุป: การค้นหาไฟล์

ทำได้ดีมาก! คุณได้เรียนรู้วิธีค้นหาไฟล์และเนื้อหาภายในไฟล์ใน Linux อย่างมีประสิทธิภาพแล้ว:

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

ฝึกใช้คำสั่งเหล่านี้ต่อไป เพื่อพัฒนาทักษะการใช้งาน Linux ให้เชี่ยวชาญ

คำถามที่พบบ่อย

บทเรียน “การค้นหาไฟล์ (find, grep)” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การค้นหาไฟล์ (find, grep)” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การค้นหาไฟล์ (find, grep)”

ค้นพบคำสั่งทรงพลังอย่าง 'find' และ 'grep' สำหรับค้นหาไฟล์และรูปแบบข้อความเฉพาะภายในไฟล์ทั่วทั้งระบบ คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “การค้นหาไฟล์ (find, grep)” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม

ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การดูเนื้อหาไฟล์ (cat, less, head, tail)
  2. ทำความเข้าใจสิทธิ์ไฟล์ (chmod, chown)
  3. การค้นหาไฟล์ (find, grep)
  4. การสร้างลิงก์: ลิงก์ฮาร์ดและลิงก์สัญลักษณ์
← กลับไปที่ DevOps Bootcamp