UNIX / LINUX'ta bir komutun aldığı süreyi takip etmek?


Yanıtlar:


165

Evet, time <command>şunun gibi kullan

time ls

man timeDaha fazla seçenek için danışın . Bağlantı .


4
Ve, gerçek / kullanıcı / sys zamanlarının anlamı burada
gurur

Linux'taki bash kullanıcıları için bu cevap doğru değil. Man sayfası, Gnu zaman komutunu belgeler, ancak zaman, bash içinde bir yerleşiktir ve burada belgelenen tüm seçeneklere sahip değildir.
Ben Crowell

7

kullanım

/usr/bin/time 

bunun yerine bash'de yerleşik olan zaman: daha yapılandırılabilir AFAIK.

e.g. /usr/bin/time --format=' \n---- \nelapsed time is %e'ls

Anladığım kadarıyla bu varsayılandır. Kontrol ettiğim CentOS 6, CentOS 7 ve Debian 8 sistemlerinde durum buydu: user@host:~$ which time /usr/bin/time GNU zamanının 1.7 sürümü gibi görünüyor.
Toby

4
@Toby: "Hangisi" / usr / bin / time olduğunu söylese de, bash'da yerleşik bunu geçersiz kılar. Ben yaparsanız time -f "\t%E real" lsbash, bir hata alıyorum ama bunu yaparsam çalışır /usr/bin/time -f "\t%E real" ls.
Ben Crowell

1
Haklısın. Bu çok ilginç ve aydınlatıcı. Teşekkürler!
Toby

1
Kullanmayın which. Kullanın type -a:$ which time /usr/bin/time $ type -a time time is a shell keyword time is /usr/bin/time
Daniel-Dane

/usr/bin/timeKullanmanın bash takma adlarını kullanmanızı engellediğini unutmayın. Bunun için bash yerleşiği timegerekli, aksi takdirde hata alırsınız cannot run my_alias: No such file or directory.
Jamie S

6

sleepZamanlanmış bir saniyenin nasıl göründüğü aşağıda açıklanmıştır time:

$ time sleep 1

real    0m1.001s
user    0m0.000s
sys 0m0.000s
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.