Belirli bir komutu nasıl zamanlayabilirim?


67

(TimeThis.exe'nin linux eşdeğeri)

Gibi bir şey:

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

wget foo.com took 3 seconds.

Yanıtlar:


93

timeBunun yerine sadece deneyin timethis.

Her ne kadar sık ​​sık zamanın yerleşik bir versiyonunun ve farklı formatlarda sonuç verecek ikili bir versiyonun 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ızdan farklı olarak, üç değeri geri alırsınız. Bu , komut satırında "zaman" kullanılırken kısaca "sistem zamanı" dır , fakat kısaca: gerçek "duvar saati zamanı" anlamına gelir, kullanıcı ve sys normal saat ve sistem çağrıları arasında bölünmüş CPU saat zamanını gösterir.


26

timeKabuk yerleşik yerine yürütülebilir dosyayı kullanarak çıktı biçimini ve değerlerini belirleyebilirsiniz. Örn. Gerçek geçen zamanı komut adı ve parametreleriyle birlikte alın

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

Eğer unutmayın gerekir yolunu belirtin time, başka kabuk yerleşik kullanarak ayarlı olacaktır.


4
dikkat edin: yol önemlidir. Sadece bashta 'zaman' kullanmayın. Bunun yerine, / usr / bin / time
komutunu

1
PATH'lerinde ise fark /usr/binnedir?
galois

@ galois Fark, açık yol olmadan, kabuğun yerleşik timeyardımcı programının kullanılmasıdır.
Kusalananda

Yerleşik yerine, yardımcı programı çalıştırmak command timeveya kullanmak \timeiçin de kullanabilir .
forcefsck

0

@ galois: Çeşitli mermiler, yoldaki herhangi bir şeyden öncelikli olan bir avuç “yerleşik” komuta sahiptir. Normalde bu avantajlıdır; Yerleşikler daha hızlı çalışma eğilimindedir (çünkü harici bir dosya çağırmaz) ve genellikle istenen sonucu verir (yani, zaman komutunda normalde hangi sürümü kullandığınızı umursamıyorsanız, " - biçim "bayrağı".

Bu nedenle, PATH'nizin neye benzediğinden bağımsız olarak, herhangi bir özel karakter ("/" gibi) olmadan bir yol gibi görünmesi için "zaman", yerleşik olarak çalışacaktır.

Kabuğu harici zaman komutunu kullanmaya zorlamak için yolu sağlamalısınız

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.