Skip to main content

การใช้ File Search ใน Linux

บทนำ​

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

1. การใช้คำสั่ง find​

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

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

สามารถใช้คำสั่ง find เพื่อค้นหาไฟล์ตามชื่อได้โดยการใช้พารามิเตอร์ -name:

find /path/to/directory -name "filename.txt"

คำสั่งนี้จะค้นหาไฟล์ที่ชื่อ filename.txt ในไดเรกทอรีที่กำหนด

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

การค้นหาตามประเภทไฟล์ เช่น ไฟล์ธรรมดา, ไดเรกทอรี, ลิงก์ เป็นต้น สามารถทำได้โดยใช้พารามิเตอร์ -type:

  • ค้นหาไฟล์ธรรมดา:
find /path/to/directory -type f -name "*.txt"
  • ค้นหาไดเรกทอรี:
find /path/to/directory -type d -name "mydir"

1.3 ค้นหาไฟล์ที่มีขนาดเฉพาะ​

สามารถค้นหาไฟล์ที่มีขนาดใหญ่หรือเล็กกว่าไฟล์ที่กำหนดได้โดยใช้พารามิเตอร์ -size:

  • ค้นหาไฟล์ที่มีขนาดใหญ่กว่า 1GB:
find /path/to/directory -size +1G
  • ค้นหาไฟล์ที่มีขนาดเล็กกว่า 100KB:
find /path/to/directory -size -100k

1.4 ค้นหาไฟล์ที่มีการแก้ไขในช่วงเวลาที่กำหนด​

สามารถค้นหาไฟล์ที่ถูกแก้ไขในช่วงเวลาที่กำหนดได้โดยใช้พารามิเตอร์ -mtime (แก้ไขเมื่อวันที่):

  • ค้นหาไฟล์ที่ถูกแก้ไขใน 7 วันที่ผ่านมา:
find /path/to/directory -mtime -7
  • ค้นหาไฟล์ที่ถูกแก้ไขในช่วงเวลา 7-30 วัน:
find /path/to/directory -mtime +7 -mtime -30

2. การใช้คำสั่ง locate​

คำสั่ง locate ใช้ฐานข้อมูลที่สร้างขึ้นโดยคำสั่ง updatedb เพื่อค้นหาไฟล์ที่มีชื่อที่ตรงกับคำค้นหา โดย locate จะทำให้การค้นหาไฟล์ในระบบเร็วขึ้นมาก เนื่องจากไม่ต้องค้นหาในไฟล์ทั้งหมดในระบบ

2.1 การค้นหาไฟล์ด้วย locate​

locate filename

คำสั่งนี้จะค้นหาไฟล์ที่มีชื่อ filename ในฐานข้อมูลที่ถูกสร้างไว้

2.2 การใช้คำสั่ง updatedb​

ก่อนที่ locate จะทำงานได้ คุณต้องรันคำสั่ง updatedb เพื่อสร้างฐานข้อมูลของไฟล์ในระบบ

sudo updatedb

3. การใช้คำสั่ง grep สำหรับการค้นหาข้อความในไฟล์​

คำสั่ง grep ใช้สำหรับค้นหาข้อความที่ตรงกับคำค้นในไฟล์ที่กำหนด

3.1 การค้นหาข้อความในไฟล์​

grep "search_string" filename.txt

คำสั่งนี้จะค้นหาคำว่า search_string ในไฟล์ filename.txt

3.2 การค้นหาข้อความในไฟล์หลายไฟล์​

grep "search_string" *.txt

คำสั่งนี้จะค้นหาคำว่า search_string ในไฟล์ทั้งหมดที่มีนามสกุล .txt

3.3 การค้นหาข้อความในไฟล์ทั้งหมดในไดเรกทอรี​

grep -r "search_string" /path/to/directory

คำสั่งนี้จะค้นหาคำว่า search_string ในไฟล์ทั้งหมดในไดเรกทอรี /path/to/directory รวมถึงไดเรกทอรีย่อย

4. การใช้คำสั่ง which​

คำสั่ง which ใช้ในการค้นหาตำแหน่งของคำสั่งหรือโปรแกรมที่ถูกติดตั้งในระบบ

4.1 การค้นหาคำสั่งหรือโปรแกรม​

which python

คำสั่งนี้จะบอกตำแหน่งที่โปรแกรม python ถูกติดตั้งในระบบ

5. การใช้คำสั่ง whereis​

คำสั่ง whereis ใช้ในการค้นหาตำแหน่งของไฟล์คำสั่ง, ไฟล์แหล่งที่มา, และไฟล์คู่มือ

5.1 การค้นหาคำสั่ง​

whereis python

คำสั่งนี้จะบอกตำแหน่งของคำสั่ง python และไฟล์ที่เกี่ยวข้อง

สรุป​

การค้นหาไฟล์ใน Linux สามารถทำได้หลายวิธี ทั้งจากการใช้คำสั่งพื้นฐานอย่าง find, locate, และ grep ไปจนถึงการใช้คำสั่งเฉพาะเช่น which และ whereis ที่ช่วยให้ค้นหาตำแหน่งของโปรแกรมและไฟล์ต่างๆ ในระบบได้ง่ายขึ้น การเลือกใช้คำสั่งที่เหมาะสมจะช่วยให้การค้นหาไฟล์ในระบบ Linux เป็นไปอย่างมีประสิทธิภาพและรวดเร็ว