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.