watch komutu: Kullanımı, -n aralığı, -d vurgulama ve çıktı değişince çıkma

Test ortamıRHEL ailesiAlmaLinux 9.8procps-ng 3.3.17root hesabıDebian 12 · procps-ng 4.0.2 normal hesap
Süreç · görev zamanlama komutlarıwatchKonum/usr/bin/watch2026-11-05 tarihinde kontrol edildi
Komut çıktısındaki değişiklikleri izleme

watch komutu, verilen bir komutu 2 saniyede bir yeniden çalıştırıp çıktısını tüm terminal ekranına yeniden çizen bir Linux komutudur. Bir AlmaLinux 9 sunucusunda dosyalar başka bir pencereden değiştirilirken watch ile izlendiğinde -d seçeneği değişen karakterleri vurguladı, -g seçeneği ise çıktı değiştikten sonra watch komutunu sonlandırdı.

Aşağıdaki çıktılar, AlmaLinux 9.8 sunucusunda root hesabıyla bir çalışma klasöründe alınmıştır; Debian 12 sunucusunda yalnızca sürüm kontrol edilmiştir. Ekranın en üstündeki başlık satırında ana makine adı örnek değer server1 ile değiştirilmiştir ve saatler UTC'dir.

1️⃣ watch komutu nasıl kullanılır

  • ↪️ Varsayılan 2 saniyelik aralık ve Ctrl+C ile çıkma

watch'tan sonra yeniden çalıştırılacak komutu yazarsanız, seçenek yoksa bu komut 2 saniyede bir çalıştırılır ve ekran yeni çıktıyla değiştirilir. date izlendiğinde ekranın en üstünde bir başlık satırı çıktı, bir boş satırın ardından date çıktısı geldi.

watch date
Every 2.0s: date                                                   server1: Thu Oct 29 02:28:07 2026

Thu Oct 29 02:28:07 UTC 2026

Başlık satırının solunda yenileme aralığı ve çalışan komut, sağında ana makine adı ve son çalıştırma saati bulunur. Aynı ekrana 2 saniye sonra yeniden bakıldığında başlık satırındaki saat ile date çıktısı birlikte değişmişti.

Every 2.0s: date                                                   server1: Thu Oct 29 02:28:09 2026

Thu Oct 29 02:28:09 UTC 2026

watch siz sonlandırana kadar çalışmaya devam ettiği için Ctrl+C ile sonlandırılır. Ctrl+C'ye basılınca watch ekranı kayboldu ve komut istemi geri geldi. Hemen ardından kontrol edilen çıkış kodu 0'dı.

echo $?
0

watch, bir kez çıktı verip biten komutları tekrar tekrar çalıştırmak için kullanılır. Süreç başına CPU ve bellek kullanımının nasıl değiştiğini görmek için ekranını kendisi yeniden çizen top komutu daha uygundur.

watch, procps-ng paketinde bulunan bir komuttur. Sürüm [watch -v] ile kontrol edilir; AlmaLinux 9.8 sunucusunda 3.3.17, Debian 12 sunucusunda 4.0.2 idi.

watch -v
watch from procps-ng 3.3.17
watch -v
watch from procps-ng 4.0.2

2️⃣ watch aralık ve vurgulama seçenekleri

  • ↪️ -n aralığı, -d vurgulama, -t ile başlık satırını kapatma

-n'den sonra saniye yazarsanız yenileme aralığı değişir. [watch -n 1 date] ile çalıştırıldığında başlık satırının sol tarafı Every 1.0s oldu.

watch -n 1 date
Every 1.0s: date                                                   server1: Thu Oct 29 02:28:15 2026

Thu Oct 29 02:28:15 UTC 2026

man sayfasına göre aralık 0,1 saniyeden kısa ayarlanamaz; daha küçük değerler 0,1 saniyeye çevrilir. Ondalık ayırıcı olarak hem nokta hem virgül tanınır.

-d, bir önceki yenilemeden farklı olan karakterleri vurgular. Çalışma klasöründeki size.log [ls -l] ile izlenirken başka bir pencereden dosyaya bir satır eklendi.

watch -d -n 1 ls -l size.log
Every 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.log
printf 'line 2\n' >> size.log

Dosya boyutu 7'den 14'e çıkınca boyut sütunundan satır sonuna kadar her şey vurgulandı. Sayı bir basamak uzadığı için ardındaki bütün karakterler birer konum kaydı. Sonraki yenilemede değer aynı kaldığı için vurgu kayboldu.

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.log

İlk çalıştırmaya göre değişen yerleri vurgulamaya devam etmek için [--differences=permanent] kullanılır (man sayfasına göre).

-t, başlık satırını ve altındaki boş satırı kaldırıp yalnızca komutun çıktısını bırakır.

watch -t -n 1 date
Thu Oct 29 02:28:19 UTC 2026

3️⃣ watch komutunun çıkış koşulları ve seçenekleri

  • ↪️ -g ile çıktı değişikliği ve -e ile hata

-g, komutun çıktısı değişince watch komutunu sonlandırır. Bir durum dosyasının içeriğinin değişmesini bekleyip sonraki işe geçerken kullanılır.

watch -g -n 1 cat status.txt
Every 1.0s: cat status.txt                                         server1: Thu Oct 29 02:29:12 2026

running

Başka bir pencereden, aşağıdaki komutla status.txt dosyasının içeriği done olarak değiştirildi.

printf 'done\n' > status.txt

Bunun üzerine watch sona erdi, komut istemi geri geldi ve çıkış kodu 0 oldu.

echo $?
0

-e, komut 0 dışında bir çıkış koduyla bitince ekran yenilemesini durdurur. Çalışma klasöründe olmayan bir dosya ls ile izlendiğinde, ls'in hata çıktısıyla birlikte ekranın en alt satırında bir tuşa basınca çıkılacağını söyleyen bir uyarı çıktı.

watch -e -n 1 ls nofile.txt
Every 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 exit

Başlık satırındaki saat çalıştırmanın hemen sonrasında donup kaldı ve bir tuşa basınca watch sona erdi. Bu seferki çıkış kodu 8'di.

echo $?
8

man sayfası 8 çıkış kodunu, komutun hatayla bittiği durumu da kapsayan bir değer olarak açıklar.

📌 Başlıca seçenekler: bu yazıda çalıştırılan sonuçlar

SeçenekGörevBu yazıdaki sonuç
-n saniyeYenileme aralığını değiştirir (varsayılan 2 saniye)Başlık satırı Every 1.0s oldu
-dBir önceki yenilemeden farklı karakterleri vurgularBoyut 7 → 14 olunca o sütundan satır sonuna kadar vurgulandı, sonraki yenilemede kayboldu
-tBaşlık satırını ve altındaki boş satırı kapatırYalnızca bir satır date çıktısı kaldı
-gÇıktı değişince watch komutunu sonlandırırrunning → done sonrasında sona erdi, çıkış kodu 0
-eKomut hatayla bitince ekranı durdururBir tuşa basınca sona erdi, çıkış kodu 8
-vSürüm bilgisini yazdırırAlmaLinux 9.8 sunucusu: watch from procps-ng 3.3.17, Debian 12 sunucusu: watch from procps-ng 4.0.2

📎 Diğer seçenekler: resmî kılavuza göre

SeçenekGörev
-bKomut 0 dışında bir çıkış koduyla bitince bip sesi çıkarır
-cANSI renk ve stil kodlarını yorumlayıp komut çıktısını renkleriyle gösterir
-pHer aralıkta çalışacak şekilde ayarlayarak yenileme saatinin kaymasını önler
-xKomutu sh -c yerine exec ile çalıştırır, böylece daha az tırnak gerekir
-wUzun satırları alt satıra kaydırmadan keserek yazdırır
--differences=permanentİlk çalıştırmadan bu yana değişen her yeri vurgulamaya devam eder
-hYardımı yazdırır

4️⃣ watch komutunda tırnak işaretleri ve pipe

  • ↪️ Tek tırnak içine alma ve disk kullanımını izleme

watch aldığı komutu sh -c ile çalıştırdığından, pipe(|) veya $ içeren bir komutun tamamı tek tırnak içine alınır. Çalışma klasöründeki dosya sayısı [ls | wc -l] ile izlendiğinde başlık satırında pipe dahil komutun tamamı göründü.

watch -n 1 'ls | wc -l'
Every 1.0s: ls | wc -l                                             server1: Thu Oct 29 02:30:22 2026

6

Başka bir pencereden bir dosya daha oluşturulunca sonraki yenilemede sayı 6'dan 7'ye çıktı.

printf 'c\n' > q3.txt
Every 1.0s: ls | wc -l                                             server1: Thu Oct 29 02:30:24 2026

7

[watch -n 1 ls | wc -l] tırnaksız girilirse kabuk önce pipe'ı ayırır ve watch'ın tüm ekran çıktısı wc'ye gider. Bu yüzden izlenecek komutta pipe varsa komutun tamamı tırnak içine alınır.

$ da aynı kurala uyar. [watch -n 1 echo $$] tırnaksız çalıştırıldığında geçerli kabuk $$ ifadesini önce bir sayıya çevirdi ve başlık satırındaki komutta da o sayı göründü.

watch -n 1 echo $$
Every 1.0s: echo 3755802                                           server1: Thu Oct 29 02:29:37 2026

3755802

Tek tırnak içine alınınca $$ olduğu gibi aktarılır; bu yüzden başlık satırında echo $$ göründü ve her yenilemede yeni çalıştırılan sh'nin PID'si yazdırıldı.

watch -n 1 'echo $$'
Every 1.0s: echo $$                                                server1: Thu Oct 29 02:29:40 2026

3756270
Every 1.0s: echo $$                                                server1: Thu Oct 29 02:29:41 2026

3756333

Geçerli kabuğun PID'si [echo $$] ile kontrol edildiğinde, tırnaksız çalıştırmada sabit kalan sayıyla aynıydı.

echo $$
3755802

Disk kullanımı gibi yavaş değişen değerler birkaç saniyelik aralıkla izlenir. du komutu: -s yalnızca toplamı, -h ise boyutları K ve M gibi birimlerle yazdırır. Çalışma klasörü [du -sh .] ile izlenirken başka bir pencereden bir günlük dosyasına 8.001 bayt eklenince sonraki yenilemede 28K, 36K oldu.

watch -n 2 du -sh .
Every 2.0s: du -sh .                                               server1: Thu Oct 29 02:30:34 2026

28K     .
printf '%08000d\n' 0 >> grow.log
Every 2.0s: du -sh .                                               server1: Thu Oct 29 02:30:36 2026

36K     .

🔲 watch komutu simülatörü

Aşağıdaki simülatörde watch komutunu çalıştırdıktan sonra [🖊 Diğer pencere] çipleriyle dosyaları değiştirerek ekranın nasıl değiştiğini kendiniz görebilirsiniz.

watch komutu simülatörüprocps-ng 3.3.17
[root@server work]#
Yalnızca tarayıcınızda çalışır. watch ekranında [Diğer pencere] çipleriyle dosyaları değiştirin ve Ctrl+C ile çıkın.

🔢 SSS & önerilen içerikler

man sayfasına göre WATCH_INTERVAL ortam değişkenine saniye yazılırsa, -n verilmediğinde bu değer aralık olarak kullanılır. Değer -n ile aynı kurallara uyar, yani 0,1 saniyeden kısa olamaz.

man sayfasına göre watch, çıktıdaki kontrol karakterlerini silip öyle çizer. Renkli çıktı veren bir komutu izlerken renkleri de görmek için [watch -c] gibi -c seçeneğini ekleyin.

man sayfasına göre normal çalıştırmada yenileme saatinin saniye altı kısmı her yenilemede biraz artar. -p eklenirse watch her aralıkta çalışacak şekilde ayarlanır ve bu kısım neredeyse aynı kalır.

ℹ️ Satış ortaklığı bildirimi
Bu sitenin içeriklerinde satış ortaklığı bağlantıları bulunur. Bir ziyaretçi bu bağlantılar üzerinden ürün veya hizmet satın alırsa bu site satıcıdan komisyon alır. Bu süreçte alıcının ödediği tutar (kampanya indirimlerinde tutar düşer↓) artmaz. Yayımlanan fiyat, indirim ve stok bilgileri yazının yazıldığı zamana aittir ve gerçek durumdan farklı olabilir; bu yüzden satın almadan önce son bilgiyi satıcıdan kontrol etmenizi rica ederiz. Ürünler kendi ölçütlerimize göre seçilir ve değerlendirilir; komisyon alınıp alınmaması tanıtım sırasını veya değerlendirme içeriğini etkilemez.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İnsan olduğunuzu kanıtlayın: 10   +   8   =