FIND COMMAND
FIND COMMAND
คำสั่ง find เป็นคำสั่งที่ใช้ในการค้นหา object ใดๆในเครื่องไม่ว่าจะเป็น link, file, directory ก็ตาม โดยผู้ใช้งานจะเป็นผู้ตั้งเงื่อนไขในการค้นหานั้นๆว่าต้องการ object ประเภทไหนและอย่างไร โดยเราสามารถใช้ -exec option ในการสั่งงานคำสั่งใดๆ ร่วมกับ object ที่เราค้นเจอได้อีกด้วย โดย find command จะมี syntax เป็น
find [-H] [-L] [-P] [-Olevel] [-D debugopts] [path...] [expression]
การใช้งาน File ในการหาไฟล์และ Directory
เราสามารถใช้ find ในการหาไฟล์ โดยระบุชื่อหรือสกุลของไฟล์ได้ โดยใช้เป็น
find /[path] -name [ชื่อที่ต้องการค้นหา]
เช่น หากเราต้องการค้นหาไฟล์ .log ภายใน path /var จะใช้คำสั่งเป็น
find /var -name "*.log"
การค้นหา Symbolic Link
เราสามารถใช้ -L option ในการหา Symbolic Link ได้ โดยจะใช้คำสั่งเป็น
find -L /var/
การค้นหาระบุด้วย type ของ object
เราสามารถค้นหาแบบระบุได้ว่าจะเป็น file หรือ directory ได้โดยใช้ -type option ซึ่งจะมี type ดังต่อไปนี้
- bblock (buffered) special
- ccharacter (unbuffered) special
- ddirectory
- pnamed pipe (FIFO)
- fFile
- lsymbolic link;
- ssocket
- Ddoor (สำหรับ Solaris)
โดยหากเราต้องการค้นหาไฟล์ จะใช้คำสั่งเป็น
find /var/ -type f
หากต้องการค้นหาเป็น directory จะใช้คำสั่งเป็น
find /var/ -type d
การค้นหาโดยระบุจากเวลาการเปลี่ยนแปลงของ object
find command สามารถกรองผลลัพธ์ตามเวลาของการเปลี่ยนแปลงล่าสุดของไฟล์หรือ directory ได้ โดยใช้คำสั่งเป็น
find / -name "*.php" -mtime 7
จะเป็นการค้นหาไฟล์ php ที่มีการเปลี่ยนแปลงแก้ไขภายใน 7 วันหลังนี้
การค้นหาโดยระบุขนาดของไฟล์
เราสามารถกรองได้โดยระบุ size ของไฟล์โดยใช้ -size option โดยใช้คำสั่งเป็น
find /var -size <ขนาดของไฟล์>
เช่น ค้นหาไฟล์ 8 byte จะใช้คำสั่งเป็น
find /var -size 8c
โดยหน่วยที่ใช้กับ -size option จะเป็น
- cคือ bytes
- wคือ words
- Kคือ kibibytes (KiB, หรือก็คือ 1024 bytes)
- Mคือ mebibytes (MiB, หรือก็คือ 1024 * 1024 = 1048576 bytes)
- Gคือ gibibytes (GiB, หรือก็คือ 1024 * 1024 * 1024 = 1073741824 bytes)
การค้นหาไฟล์ที่ user อ่านได้
เราสามารถใช้คำสั่ง -readable option เพื่อค้นหาไฟล์ที่ user ที่ใช้คำสั่งนี้สามารถอ่านได้ โดยใช้คำสั่งเป็น
find -readable /var
การค้นหาไฟล์ที่ user รันได้
เราสามารถใช้คำสั่ง -executable option เพื่อค้นหาไฟล์ที่ user ที่ใช้คำสั่งนี้สามารถรันได้ โดยใช้คำสั่งเป็น
find -executable /var
การค้นหาไฟล์ที่ user ใดๆเป็นเจ้าของ
เราสามารถใช้คำสั่ง -user option เพื่อระบุเจ้าของไฟล์ที่เราต้องการค้นหาได้ และ -group option เพื่อค้นหาไฟล์ที่ group ใดๆเป็นเจ้าของ โดยใช้คำสั่งเป็น
find /var -user target -group target
จากตัวอย่างจะเป็นการค้นหาไฟล์ที่มี user target และ group เป็น target นั่นเอง
Comments
Post a Comment