Lacak waktu yang dibutuhkan perintah di UNIX / LINUX?

118

Di UNIX / LINUX, apakah ada cara mudah untuk melacak waktu yang dibutuhkan perintah?

OneChillDude
sumber

Jawaban:

165

Ya, gunakan time <command>, seperti

time ls

Konsultasikan man timeuntuk lebih banyak pilihan. Tautan .

squiguy
sumber
4
Dan, arti waktu / pengguna / sys yang sebenarnya dibahas dengan baik di sini
kebanggaan
Jawaban ini tidak akurat untuk pengguna bash di linux. Halaman manual mendokumentasikan perintah waktu Gnu, tetapi waktu adalah bawaan dalam bash, yang tidak memiliki semua opsi yang didokumentasikan di sana.
Ben Crowell
7

Menggunakan

/usr/bin/time 

alih-alih waktu yang dibangun di bash: itu adalah AFAIK yang lebih dapat dikonfigurasi.

e.g. /usr/bin/time --format=' \n---- \nelapsed time is %e'ls
Paolinux
sumber
Sejauh yang saya tahu, ini adalah default. Ini adalah kasus pada sistem CentOS 6, CentOS 7 dan Debian 8 yang saya periksa: user@host:~$ which time /usr/bin/time Sepertinya waktu GNU versi 1.7.
Toby
4
@Toby: Meskipun "yang" mengatakan itu / usr / bin / waktu, dalam bash, bawaan menimpanya. Jika saya melakukannya time -f "\t%E real" lsdi bash, saya mendapatkan kesalahan, tetapi berfungsi jika saya melakukannya /usr/bin/time -f "\t%E real" ls.
Ben Crowell
1
Kamu benar. Itu sangat menarik dan mencerahkan. Terima kasih!
Toby
1
Jangan gunakan which. Gunakan type -a:$ which time /usr/bin/time $ type -a time time is a shell keyword time is /usr/bin/time
Daniel-Dane
Perhatikan bahwa menggunakan /usr/bin/timemencegah Anda menggunakan alias bash. Bash builtin timediperlukan untuk itu, kalau tidak Anda akan mendapatkan kesalahan cannot run my_alias: No such file or directory.
Jamie S
6

Berikut adalah tampilan sleepsatu detik, waktunya dengan time:

$ time sleep 1

real    0m1.001s
user    0m0.000s
sys 0m0.000s
Guillaume Chevalier
sumber