คำสั่ง watch ใน Linux ทำหน้าที่เดียว – รันคำสั่งซ้ำๆ และแสดงผลลัพธ์ซ้ำๆ ให้คุณดูการเปลี่ยนแปลง นี่คือวิธีใช้งาน
ไวยากรณ์คำสั่ง watch
ไวยากรณ์สำหรับคำสั่ง watch มีดังนี้:
watch OPTIONS COMMAND
โปรดทราบว่า:
- OPTIONS ควรเป็นรายการตัวเลือกจากตารางด้านล่าง ซึ่งจะเปลี่ยนพฤติกรรมเริ่มต้นของคำสั่ง watch
- COMMAND คือคำสั่งที่ watch ควรทำซ้ำ ซึ่งคุณจะติดตามผลลัพธ์ของมัน
- watch จะทำงานจนกว่าจะถูกขัดจังหวะ (So กด CTRL+C เพื่อออก)
ตัวเลือก (Options)
นี่คือตัวเลือกที่ใช้บ่อยสำหรับคำสั่ง watch:
| ตัวเลือก | คำอธิบาย |
|---|---|
| -n | ระบุช่วงเวลาที่คำสั่งควรทำงานในวินาที |
| -d | ไฮไลท์ความแตกต่างระหว่างการอัปเดตซ้ำๆ |
| --differences=cumulative | แสดงการแสดงผลสะสมของตำแหน่งทั้งหมดที่เปลี่ยนแปลง |
คุณสามารถดูคู่มือผู้ใช้เต็มรูปแบบสำหรับคำสั่ง watch โดยรัน:
man watch
ตัวอย่างคำสั่ง Watch ใน Linux
ตัวอย่างที่มีประสิทธิภาพที่สุดของความมีประโยชน์ของคำสั่ง watch คือการใช้กับคำสั่ง date และ free
คำสั่ง date ส่งคืนวันที่และเวลาปัจจุบัน แล้วจบการทำงาน เมื่อรวมกับคำสั่ง watch คุณจะได้การอัปเดตแบบต่อเนื่องของวันที่และเวลาปัจจุบัน เนื่องจาก watch จะรันคำสั่ง date ซ้ำๆ และพิมพ์ผลลัพธ์:
watch date
คุณจะเห็นอย่างเช่นด้านล่าง:

คุณเห็นได้ว่า watch กำลังทำงาน แสดงว่ามันรันคำสั่ง date ทุก 2 วินาที (เห็นที่มุมซ้ายบน) พร้อมกับเวลาที่ watch รันคำสั่งที่ให้มาล่าสุด แล้วบรรทัดที่สอง เราเห็นผลลัพธ์ของคำสั่ง date ซึ่งจะรีเฟรชทุกครั้งที่คำสั่งถูกรัน
คำสั่ง free แสดงว่าหน่วยความจำมีอยู่เท่าไรบนคอมพิวเตอร์ของคุณ รวมกับคำสั่ง watch คุณจะได้มุมมองแบบสด (live view) ของการใช้หน่วยความจำของคอมพิวเตอร์:
watch free

อีกครั้ง คุณเห็นได้ว่า watch กำลังรันคำสั่ง free ทุก 2 วินาที ตามที่แสดงในมุมซ้ายบน วันที่และเวลาปัจจุบัน พร้อม hostname แสดงในมุมขวาบน
ด้านล่างนั้น คุณเห็นผลลัพธ์ของคำสั่ง free อัปเดตทุก 2 วินาที ขณะที่ watch รันคำสั่งซ้ำๆ และดึงผลลัพธ์
การระบุช่วงเวลา (Interval)
โดยค่าเริ่มต้น watch จะรันคำสั่งที่ให้มาและพิมพ์ผลลัพธ์ทุก 2 วินาที สามารถเปลี่ยนได้ด้วยตัวเลือก -n:
watch -n 5 free
คำสั่งด้านบนจะทำเหมือนตัวอย่างก่อนหน้า แต่รันทุก 5 วินาที แทนที่จะเป็นทุก 2 วินาที
การดูความแตกต่าง (Watching for Differences)
หากคุณต้องการดูว่าค่าไหนในผลลัพธ์กำลังเปลี่ยนแปลงระหว่างแต่ละการรัน ใช้ตัวเลือก -d:
watch -d free

ตัวอักษรที่เปลี่ยนแปลงในผลลัพธ์นับจากการรันล่าสุดจะถูกไฮไลท์ – ซึ่งมีประโยชน์สำหรับติดตามสถานะบริการระบบ
หากคุณต้องการดูความแตกต่างในผลลัพธ์นับจากการรันครั้งแรก แทนที่จะเป็นจากครั้งล่าสุด:
watch --differences=cumulative free