Perintah watch: Cara Pakai, Interval -n, Sorotan -d, dan Keluar Saat Output Berubah
Perintah watch adalah perintah Linux yang menjalankan ulang perintah yang ditentukan setiap 2 detik dan menggambar ulang output-nya di seluruh layar terminal. Saat file di server AlmaLinux 9 dipantau dengan watch sambil diubah dari jendela lain, opsi -d menyorot karakter yang berubah dan opsi -g mengakhiri watch setelah output berubah.
Output di bawah berasal dari folder kerja di server AlmaLinux 9.8, dijalankan sebagai root; di server Debian 12 hanya versinya yang diperiksa. Nama host di baris header di bagian atas layar diganti dengan nilai contoh server1, dan waktu ditampilkan dalam UTC.
1️⃣ Cara memakai perintah watch
Tulis perintah yang ingin dijalankan ulang setelah watch; tanpa opsi, perintah itu dijalankan setiap 2 detik dan layar diganti dengan output baru. Saat date dipantau, baris header muncul di bagian atas layar, lalu setelah satu baris kosong muncul output date.
watch dateEvery 2.0s: date server1: Thu Oct 29 02:28:07 2026
Thu Oct 29 02:28:07 UTC 2026Sisi kiri baris header berisi interval pembaruan dan perintah yang sedang berjalan, sedangkan sisi kanan berisi nama host dan waktu eksekusi terakhir. Saat layar yang sama diperiksa lagi 2 detik kemudian, waktu di header dan output date sama-sama sudah berubah.
Every 2.0s: date server1: Thu Oct 29 02:28:09 2026
Thu Oct 29 02:28:09 UTC 2026watch terus berjalan sampai Anda menghentikannya sendiri, jadi akhiri dengan Ctrl+C. Setelah Ctrl+C ditekan, layar watch hilang dan prompt kembali. Kode keluar yang diperiksa sesudahnya adalah 0.
echo $?0watch dipakai untuk mengulang perintah yang mencetak output sekali lalu selesai. Untuk melihat perubahan pemakaian CPU dan memori per proses, lebih cocok memakai perintah top, yang menggambar ulang layarnya sendiri.
watch termasuk dalam paket procps-ng. Versinya diperiksa dengan [watch -v]; di server AlmaLinux 9.8 versinya 3.3.17 dan di server Debian 12 versinya 4.0.2.
watch -vwatch from procps-ng 3.3.17watch -vwatch from procps-ng 4.0.22️⃣ Opsi interval dan sorotan watch
Angka detik setelah -n mengubah interval pembaruan. Setelah [watch -n 1 date] dijalankan, sisi kiri header berubah menjadi Every 1.0s.
watch -n 1 dateEvery 1.0s: date server1: Thu Oct 29 02:28:15 2026
Thu Oct 29 02:28:15 UTC 2026Menurut halaman man, interval tidak bisa lebih pendek dari 0,1 detik, dan nilai yang lebih kecil diubah menjadi 0,1 detik. Titik maupun koma dikenali sebagai pemisah desimal.
-d menyorot karakter yang berbeda dari pembaruan sebelumnya. Selama size.log di folder kerja dipantau dengan [ls -l], satu baris ditambahkan ke file itu dari jendela lain.
watch -d -n 1 ls -l size.logEvery 1.0s: ls -l size.log server1: Thu Oct 29 02:28:53 2026
-rw-r--r-- 1 root root 7 Oct 29 02:28 size.logprintf 'line 2\n' >> size.logSaat ukuran file berubah dari 7 menjadi 14, semua bagian dari kolom ukuran sampai akhir baris disorot. Angkanya bertambah satu digit sehingga semua karakter sesudahnya bergeser satu posisi. Pada pembaruan berikutnya nilainya tetap sehingga sorotan hilang.
Every 1.0s: ls -l size.log server1: Thu Oct 29 02:28:54 2026
-rw-r--r-- 1 root root 14 Oct 29 02:28 size.logUntuk terus menyorot semua bagian yang berubah sejak eksekusi pertama, gunakan [--differences=permanent] (menurut halaman man).
-t menghapus baris header dan baris kosong di bawahnya sehingga hanya output perintah yang tersisa.
watch -t -n 1 dateThu Oct 29 02:28:19 UTC 20263️⃣ Kondisi keluar dan opsi perintah watch
-g mengakhiri watch saat output perintah berubah. Opsi ini dipakai untuk menunggu isi file status berubah sebelum lanjut ke pekerjaan berikutnya.
watch -g -n 1 cat status.txtEvery 1.0s: cat status.txt server1: Thu Oct 29 02:29:12 2026
runningDari jendela lain, perintah di bawah mengubah isi status.txt menjadi done.
printf 'done\n' > status.txtLalu watch berakhir, prompt kembali, dan kode keluarnya 0.
echo $?0-e menghentikan pembaruan layar saat perintah selesai dengan kode keluar selain 0. Saat file yang tidak ada di folder kerja dipantau dengan ls, muncul output error ls dan, di baris paling bawah layar, pemberitahuan bahwa menekan tombol akan keluar.
watch -e -n 1 ls nofile.txtEvery 1.0s: ls nofile.txt server1: Thu Oct 29 02:29:18 2026
ls: cannot access 'nofile.txt': No such file or directory
command exit with a non-zero status, press a key to exitWaktu di header berhenti pada saat tepat setelah eksekusi, dan menekan satu tombol mengakhiri watch. Kode keluarnya kali ini 8.
echo $?8Halaman man menjelaskan kode keluar 8 sebagai nilai yang mencakup kasus perintah selesai dengan error.
📌 Opsi utama: hasil dari artikel ini
| Opsi | Fungsi | Hasil di artikel ini | |
|---|---|---|---|
| -n detik | Mengubah interval pembaruan (bawaan 2 detik) | Header berubah menjadi Every 1.0s | |
| -d | Menyorot karakter yang berbeda dari pembaruan sebelumnya | Dengan ukuran 7 → 14, disorot dari kolom itu sampai akhir baris, hilang pada pembaruan berikutnya | |
| -t | Menyembunyikan baris header dan baris kosong di bawahnya | Hanya satu baris output date yang tersisa | |
| -g | Mengakhiri watch saat output berubah | Berakhir setelah running → done, kode keluar 0 | |
| -e | Menghentikan layar saat perintah selesai dengan error | Berakhir setelah tombol ditekan, kode keluar 8 | |
| -v | Menampilkan informasi versi | Server AlmaLinux 9.8: watch from procps-ng 3.3.17, server Debian 12: watch from procps-ng 4.0.2 |
📎 Opsi lainnya: menurut manual resmi
| Opsi | Fungsi | |
|---|---|---|
| -b | Membunyikan bip saat perintah selesai dengan kode keluar selain 0 | |
| -c | Menafsirkan kode warna dan gaya ANSI agar output perintah tetap berwarna | |
| -p | Menjalankan tepat di setiap interval agar waktu pembaruan tidak bergeser mundur | |
| -x | Menjalankan perintah dengan exec, bukan sh -c, sehingga tanda kutip yang diperlukan lebih sedikit | |
| -w | Memotong baris panjang alih-alih membungkusnya ke baris berikutnya | |
| --differences=permanent | Terus menyorot semua bagian yang berubah sejak eksekusi pertama | |
| -h | Menampilkan bantuan |
4️⃣ Tanda kutip dan pipe pada perintah watch
watch menjalankan perintah yang diterimanya dengan sh -c, jadi perintah yang berisi pipe(|) atau $ harus diapit seluruhnya dengan tanda kutip tunggal. Saat jumlah file di folder kerja dipantau dengan [ls | wc -l], header menampilkan seluruh perintah, termasuk pipe.
watch -n 1 'ls | wc -l'Every 1.0s: ls | wc -l server1: Thu Oct 29 02:30:22 2026
6Saat satu file lagi dibuat dari jendela lain, angkanya berubah dari 6 menjadi 7 pada pembaruan berikutnya.
printf 'c\n' > q3.txtEvery 1.0s: ls | wc -l server1: Thu Oct 29 02:30:24 2026
7Jika [watch -n 1 ls | wc -l] diketik tanpa tanda kutip, shell memisahkan pipe lebih dulu sehingga seluruh output layar watch masuk ke wc. Karena itu, jika perintah yang dipantau berisi pipe, apit seluruh perintah dengan tanda kutip.
$ mengikuti aturan yang sama. Saat [watch -n 1 echo $$] dijalankan tanpa tanda kutip, shell saat ini lebih dulu mengubah $$ menjadi angka, dan angka itu juga muncul di perintah pada header.
watch -n 1 echo $$Every 1.0s: echo 3755802 server1: Thu Oct 29 02:29:37 2026
3755802Jika diapit tanda kutip tunggal, $$ diteruskan apa adanya, sehingga header menampilkan echo $$ dan setiap pembaruan mencetak PID sh yang baru dijalankan.
watch -n 1 'echo $$'Every 1.0s: echo $$ server1: Thu Oct 29 02:29:40 2026
3756270Every 1.0s: echo $$ server1: Thu Oct 29 02:29:41 2026
3756333PID shell saat ini yang diperiksa dengan [echo $$] sama dengan angka yang tetap saat dijalankan tanpa tanda kutip.
echo $$3755802Nilai yang berubah perlahan, seperti pemakaian disk, dipantau dengan interval beberapa detik. Perintah du: -s hanya menampilkan total dan -h menampilkan ukuran dalam satuan seperti K dan M. Selama folder kerja dipantau dengan [du -sh .], menambahkan 8.001 byte ke file log dari jendela lain mengubah 28K menjadi 36K pada pembaruan berikutnya.
watch -n 2 du -sh .Every 2.0s: du -sh . server1: Thu Oct 29 02:30:34 2026
28K .printf '000d\n' 0 >> grow.logEvery 2.0s: du -sh . server1: Thu Oct 29 02:30:36 2026
36K .🔲 Simulator perintah watch
Di simulator di bawah, jalankan watch lalu ubah file dengan chip [🖊 Jendela lain] untuk melihat sendiri bagaimana layar berubah.
🔢 FAQ & Konten yang Direkomendasikan
Status sistem
Perintah uptime Linux (memeriksa waktu aktif server&rata-rata beban 1, 5, 15 menit)
Perintah uptime menampilkan dalam satu baris berapa lama server sudah menyala serta rata-rata beban 1, 5, dan 15 menit.
Teks
Perintah head dan perintah tail Linux
Perintah head dan tail menampilkan bagian awal dan akhir file. Untuk mengikuti akhir log yang terus bertambah, gunakan [tail -f].
Disk
Perintah df
Perintah df menampilkan ukuran total, pemakaian, dan ruang kosong setiap sistem file.
ℹ️ Pemberitahuan Afiliasi
Konten di situs ini berisi tautan afiliasi. Jika pengunjung membeli produk atau layanan melalui tautan tersebut, situs ini menerima komisi dari penjual. Harga yang dibayar pembeli(turun saat ada diskon promo ↓), tidak naik karena hal ini. Harga, diskon, dan informasi stok yang ditampilkan berlaku pada saat penulisan dan bisa berbeda dengan kondisi sebenarnya, jadi pastikan kembali di situs penjual sebelum membeli. Pemilihan dan penilaian produk dibuat berdasarkan standar kami sendiri, dan ada tidaknya komisi tidak memengaruhi urutan maupun isi penilaian.