สั่งค้นหาไฟล์ และ ข้อความในไฟล์ command linux รูปแบบต่างๆ

แชร์ความรู้ Linux Ubuntu Web Server บทความ การ config server Linux FreeBSD Apache
การติดตั้ง XAMPP Mysql PHP ใครต้องการแชร์ความรู้เรื่องต่างๆ เหล่านี้ให้ ท่านหรืออื่น โพสที่หมวดนี้ได้

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 47799
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

สั่งค้นหาไฟล์ และ ข้อความในไฟล์ command linux รูปแบบต่างๆ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

Linux Search Commands Guide

1. `find`
คำสั่ง `find` ใช้สำหรับค้นหาไฟล์และไดเรกทอรีในระบบไฟล์ตามเงื่อนไขต่าง ๆ เช่น ชื่อไฟล์, ขนาด, วันที่แก้ไขล่าสุด เป็นต้น

ตัวอย่างการใช้งาน:

โค้ด: เลือกทั้งหมด

# ค้นหาไฟล์ทั้งหมดที่มีชื่อขึ้นต้นด้วย "example" ในไดเรกทอรี /home
find /home -name "example*"
2. `grep`
คำสั่ง `grep` ใช้สำหรับค้นหาข้อความภายในไฟล์ต่าง ๆ โดยสามารถกำหนดรูปแบบของข้อความที่ต้องการค้นหาได้

ตัวอย่างการใช้งาน:

โค้ด: เลือกทั้งหมด

# ค้นหาบรรทัดที่มีคำว่า "error" ในไฟล์ system.log
grep "error" /var/log/system.log
3. `locate`
คำสั่ง `locate` ใช้ในการค้นหาไฟล์และไดเรกทอรีโดยอิงจากฐานข้อมูลที่ถูกสร้างขึ้นล่วงหน้า ทำให้การค้นหาเป็นไปอย่างรวดเร็ว

ตัวอย่างการใช้งาน:

โค้ด: เลือกทั้งหมด

# ค้นหาไฟล์ที่มีคำว่า "config" ในชื่อไฟล์
locate config
4. `which`
คำสั่ง `which` ใช้เพื่อค้นหาตำแหน่งของ executable files (ไฟล์ที่สามารถรันได้) ในระบบ

ตัวอย่างการใช้งาน:

โค้ด: เลือกทั้งหมด

# ค้นหาตำแหน่งของโปรแกรม `python3`
which python3
5. `whereis`
คำสั่ง `whereis` ใช้สำหรับค้นหาไฟล์ที่เกี่ยวข้องกับโปรแกรมต่าง ๆ เช่น binary files, source code, และ manual pages

ตัวอย่างการใช้งาน:

โค้ด: เลือกทั้งหมด

# ค้นหาไฟล์ที่เกี่ยวข้องกับ `bash`
whereis bash
6. `findmnt`
คำสั่ง `findmnt` ใช้สำหรับค้นหาข้อมูลการเมานต์ (mount) ของไฟล์ระบบ เช่น พาร์ติชันและอุปกรณ์ที่เมานต์ไว้

ตัวอย่างการใช้งาน:

โค้ด: เลือกทั้งหมด

# แสดงข้อมูลการเมานต์ทั้งหมดในรูปแบบ tree
findmnt -t
7. `df`
คำสั่ง `df` ใช้สำหรับแสดงข้อมูลเกี่ยวกับพื้นที่ว่างในดิสก์ (disk space) ของระบบไฟล์

ตัวอย่างการใช้งาน:

โค้ด: เลือกทั้งหมด

# แสดงพื้นที่ว่างในดิสก์ในรูปแบบ human-readable
df -h
8. `du`
คำสั่ง `du` ใช้สำหรับตรวจสอบขนาดของไฟล์และไดเรกทอรีในระบบ

ตัวอย่างการใช้งาน:

โค้ด: เลือกทั้งหมด

# แสดงขนาดของไฟล์และไดเรกทอรีในไดเรกทอรีปัจจุบัน
du -h --max-depth=1
Note: คำสั่ง `locate` อาจต้องรันคำสั่ง updatedb ก่อนการค้นหาครั้งแรกเพื่ออัพเดตฐานข้อมูล
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 47799
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สั่งค้นหาไฟล์ และ ข้อความในไฟล์ command linux รูปแบบต่างๆ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

การค้นหาข้อความในไฟล์ด้วย และ ไฟล์ด้วย `find` Command in Linux

1. Find Files by Name
ค้นหาไฟล์ในไดเรกทอรีและใต้ไดเรกทอรีที่กำหนดตามชื่อไฟล์

โค้ด: เลือกทั้งหมด

find /home/user/documents -name "example.txt"
คำอธิบาย: ค้นหาไฟล์ที่ชื่อ "example.txt" ในไดเรกทอรี /home/user/documents

2. Find Files by Extension
ค้นหาไฟล์ตามนามสกุล (extension) ของไฟล์

โค้ด: เลือกทั้งหมด

find /var/log -name "*.log"
คำอธิบาย: ค้นหาไฟล์ทั้งหมดที่มีนามสกุล .log ในไดเรกทอรี /var/log

3. Find Files Modified in the Last 7 Days
ค้นหาไฟล์ที่ถูกแก้ไขในช่วง 7 วันที่ผ่านมา

โค้ด: เลือกทั้งหมด

find /etc -mtime -7
คำอธิบาย: ค้นหาไฟล์ในไดเรกทอรี /etc ที่ถูกแก้ไขในช่วง 7 วันที่ผ่านมา

4. Find Files Modified More Than 30 Days Ago
ค้นหาไฟล์ที่ถูกแก้ไขมากกว่า 30 วันที่ผ่านมา

โค้ด: เลือกทั้งหมด

find /usr/local -mtime +30
คำอธิบาย: ค้นหาไฟล์ในไดเรกทอรี /usr/local ที่ถูกแก้ไขมากกว่า 30 วันที่ผ่านมา

5. Find and Delete Files
ค้นหาและลบไฟล์

โค้ด: เลือกทั้งหมด

find /tmp -name "oldfile.txt" -delete
คำอธิบาย: ค้นหาและลบไฟล์ที่ชื่อ "oldfile.txt" ในไดเรกทอรี /tmp

6. Find Empty Files or Directories
ค้นหาไฟล์หรือไดเรกทอรีที่ว่างเปล่า

โค้ด: เลือกทั้งหมด

find /var/www -empty
คำอธิบาย: ค้นหาไฟล์หรือไดเรกทอรีที่ว่างเปล่าในไดเรกทอรี /var/www

7. Find Files Larger Than 100MB
ค้นหาไฟล์ที่มีขนาดใหญ่กว่า 100MB

โค้ด: เลือกทั้งหมด

find /home/user/downloads -size +100M
คำอธิบาย: ค้นหาไฟล์ที่มีขนาดใหญ่กว่า 100MB ในไดเรกทอรี /home/user/downloads

8. Find Files Owned by a Specific User
ค้นหาไฟล์ที่เป็นเจ้าของโดยผู้ใช้ที่ระบุ

โค้ด: เลือกทั้งหมด

find /home -user username
คำอธิบาย: ค้นหาไฟล์ในไดเรกทอรี /home ที่เป็นของผู้ใช้ชื่อ "username"

9. Find Files with 0644 Permissions
ค้นหาไฟล์ที่มีสิทธิ์ (permissions) 0644

โค้ด: เลือกทั้งหมด

find /etc -perm 0644
คำอธิบาย: ค้นหาไฟล์ในไดเรกทอรี /etc ที่มีสิทธิ์การเข้าถึง 0644

10. Find Files and Execute a Command (Gzip Log Files)
ค้นหาไฟล์และรันคำสั่ง (เช่น การบีบอัดไฟล์ log ด้วย gzip)

โค้ด: เลือกทั้งหมด

find /var/log -name "*.log" -exec gzip {} \;
คำอธิบาย: ค้นหาไฟล์ log (.log) ใน /var/log และบีบอัดไฟล์ด้วย gzip

11. Find Files and Execute a Command (Delete Empty Files)
ค้นหาไฟล์และรันคำสั่ง (เช่น การลบไฟล์ว่าง)

โค้ด: เลือกทั้งหมด

find /home/user/documents -type f -empty -exec rm {} \;
คำอธิบาย: ค้นหาและลบไฟล์ว่างในไดเรกทอรี /home/user/documents

12. Find Files and Print Their Details
ค้นหาไฟล์และแสดงรายละเอียดของไฟล์

โค้ด: เลือกทั้งหมด

find /home/user/documents -type f -exec ls -lh {} \;
คำอธิบาย: ค้นหาไฟล์ทั้งหมดใน /home/user/documents และแสดงรายละเอียดของไฟล์ (ขนาด, สิทธิ์การเข้าถึง, เป็นต้น)

13. Find Files Excluding a Specific Directory
ค้นหาไฟล์แต่ยกเว้นไดเรกทอรีที่กำหนด

โค้ด: เลือกทั้งหมด

find / -path "/proc" -prune -o -name "*.conf" -print
คำอธิบาย: ค้นหาไฟล์ที่มีนามสกุล .conf แต่ไม่ค้นหาในไดเรกทอรี /proc

14. Find Files Modified in the Last 60 Minutes
ค้นหาไฟล์ที่ถูกแก้ไขในช่วง 60 นาทีที่ผ่านมา

โค้ด: เลือกทั้งหมด

find /var/www -mmin -60
คำอธิบาย: ค้นหาไฟล์ในไดเรกทอรี /var/www ที่ถูกแก้ไขในช่วง 60 นาทีที่ผ่านมา

15. Find and Archive Files with a Specific Extension
ค้นหาและบีบอัดไฟล์ที่มีนามสกุลที่กำหนด

โค้ด: เลือกทั้งหมด

find /home/user/pictures -name "*.jpg" | xargs tar -czvf archive.tar.gz
คำอธิบาย: ค้นหาไฟล์รูปภาพ (.jpg) ใน /home/user/pictures และบีบอัดไฟล์ทั้งหมดลงใน archive.tar.gz

16. Find Symbolic Links
ค้นหา symbolic links

โค้ด: เลือกทั้งหมด

find /usr/bin -type l
คำอธิบาย: ค้นหา symbolic links ในไดเรกทอรี /usr/bin
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 47799
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สั่งค้นหาไฟล์ และ ข้อความในไฟล์ command linux รูปแบบต่างๆ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ค้นหาข้อความในไฟล์ .php และ .txt ที่อยู่ในโฟลเดอร์และโฟลเดอร์ย่อยๆ
รูปแบบ

โค้ด: เลือกทั้งหมด

grep -r --include=\*.{php,txt} 'ข้อความที่ต้องการค้นหา' /path/to/โฟลเดอร์
ตัวอย่าง

โค้ด: เลือกทั้งหมด

grep -r --include=\*.{php,txt} 'error' .
หรือ กรณีค้นหาแบบระบุ Folder หลัก

โค้ด: เลือกทั้งหมด

grep -r --include=\*.{php,txt} 'error' /home
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 7