it-swarm-tr.com

Belirli bir komutu nasıl zamanlayabilirim?

(TimeThis.exe dosyasının linux eşdeğeri)

Gibi bir şey:

timethis wget foo.com
Receiving foo.com  
...

wget foo.com took 3 seconds.
71
ripper234

time yerine timethis öğesini deneyin.

Her ne kadar çoğu zaman farklı bir formatta sonuç verecek bir Shell versiyonunun ve ikili versiyonunun olduğunu unutmayın.

$ time wget -q -O /dev/null https://unix.stackexchange.com/

real    0m0.178s
user    0m0.003s
sys     0m0.005s

vs

$ \time wget -q -O /dev/null https://unix.stackexchange.com/
0.00user 0.00system 0:00.17elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+613minor)pagefaults 0swaps

"Timethis" programınızın aksine, üç değer geri alırsınız. Bu, Komut satırında "zaman" kullanılırken "sistem zamanı" nedir , ancak kısaca: real anlamına gelir "duvar saati zamanı", kullanıcı ve sys CPU saatini gösterir zaman, normal kod ve sistem çağrıları arasında bölünür.

103
mattdm

Shell yerleşik yerine time yürütülebilir dosyasını kullanarak çıktı biçimini ve değerlerini belirleyebilirsiniz. Örneğin. komut adı ve parametreleriyle birlikte gerçek geçen zamanı elde edin

/usr/bin/time --format='%C took %e seconds' sleep 3
sleep 3 took 3.00 seconds

time için yolu belirtmeniz gerektiğini, aksi takdirde varsayılan olarak Shell yerleşik özelliğini kullanacağınızı unutmayın.

26
forcefsck

@galois: Çeşitli mermilerin yoldaki herhangi bir şeyden öncelikli olan bir avuç "yerleşik" komutu vardır. Normalde bu avantajlıdır; yerleşikler daha hızlı çalışma eğilimindedir (çünkü harici bir dosya çağırmıyor) ve genellikle istenen sonucu verir (yani, zaman komutunda, normalde " --format "bayrağı).

Böylece herhangi bir özel karakter olmadan (/ gibi) bir yol gibi görünmesi için "zaman", PATH'nizin nasıl göründüğüne bakılmaksızın yerleşik olarak çalışacaktır.

Kabuğu harici zaman komutunu kullanmaya zorlamak için yolu sağlamanız gerekir

0
Tom Payerle