Skip to main content

Bir BASH Komut Dosyasını Duraklatmak için Linux "uyku" Komutu Nasıl Kullanılır

3. Buffer Overflow Exploits and Defenses (Mayıs Ayı 2024)

3. Buffer Overflow Exploits and Defenses (Mayıs Ayı 2024)
Anonim

Bu kılavuz, bir bash komut dosyasını duraklatmak için Linux uyku komutunun nasıl kullanılacağını gösterir.

Tek başına, terminal pencerenizi kilitlemeyi tercih etmedikçe uyku komutu tamamen yararsızdır, ancak bir komut dosyasının parçası olarak, bir komutu yeniden denemeden önce bir duraklatma faktörü de dahil olmak üzere birçok farklı şekilde kullanılabilir.

Örneğin, başka bir sunucudan kopyalanan dosyaları işleyen bir komut dosyası olduğunu hayal edin. Komut dosyası, tüm dosyaların indirilmesini tamamlayana kadar kopyalama işlemini başlatmamalıdır. İndirme işlemi tamamen ayrı bir komut dosyası ile gerçekleştirilir.

Dosyaların kopyalanması için komut dosyası, tüm dosyaların indirilip yüklenmediğini test etmek için bir döngü içerebilir (yani, 50 dosya olması gerektiğini ve 50 dosya bulunduğunda kopyalama işlemi başlatılır).

İşlemcinin zamanını aldığından, komut dosyasının sürekli olarak test edilmesinin bir anlamı yoktur. Bunun yerine, kopyalanan yeterli dosya olup olmadığını silmeyi deneyebilirsiniz ve eğer yoksa, birkaç dakika bekleyip tekrar deneyin. Bu durumda uyku komutu mükemmeldir.

Uyku Komutu Nasıl Kullanılır

Linux uyku komutunu kullanmak için, terminal penceresine aşağıdakileri girin:

5'li uyku

Yukarıdaki komut, terminalinizi komut satırına döndürmeden önce 5 saniyeliğine duraklatacaktır.

Uyku komutu 'uyku' anahtar kelimesini ve ardından duraklatmak istediğiniz numarayı ve sonra ölçü birimini gerektirir.

Gecikme süresini saniye, dakika, saat veya gün olarak belirtebilirsiniz.

  • s - saniye
  • m - dakika
  • saat - saat
  • d - günler

Bir şeyin gerçekleşmesi için bekleme günlerine gelindiğinde, arka planda günlerce devam eden bir betiğe sahip olmak yerine, betiği düzenli aralıklarla çalıştırmak için bir cron işi kullanmayı düşünmeye değer olabilir.

Uyku komutunun numarası tam sayı olmak zorunda değildir. Kayan nokta sayılarını da kullanabilirsiniz.

Örneğin, aşağıdaki sözdizimini kullanmak tamamen uygundur:

3.5s uyku

Uyku Komutanlığı İçin Bir Örnek

Aşağıdaki betik, terminal tabanlı geri sayım saati yapmak için uyku komutunun nasıl kullanılacağını gösterir:

#! / Bin / bashx = 10$ x -gt 0yapuyku 1saçık"patlatana kadar $ x saniye"x = $ (($ x - 1))tamam

Komut, x ile 10 arasındaki değişkeni ayarlar. While döngüsü, x değeri sıfırdan büyük iken yinelemeye devam eder.

Uyku komutu, her zaman döngü etrafında 1 saniye için komut dosyasını duraklatır.

Komut dosyasının geri kalanı her yineleme ekranını temizler, mesajı "patlayana kadar x saniye" (yani 10 saniye) görüntüler ve sonra x değerinden 1 çıkarır.

Uyku komutu olmadan, betik yakınlaşır ve mesajlar çok hızlı görüntülenir.

Anahtarlar

Uyku komutunun sadece birkaç anahtarı vardır.

--Help anahtarı, uyku komutunun yardım dosyasını gösterir. Aynı şeyi erkek komutunu kullanarak aşağıdaki gibi elde edebilirsiniz:

adam uyu

--Version komutu, sisteminizde yüklü olan uyku komutunun sürümünü gösterir.

--Version anahtarı tarafından döndürülen bilgiler şöyledir:

  • Versiyon numarası
  • Telif hakkı ayrıntıları
  • Lisans
  • Yazarlar