it-swarm-id.com

Bagaimana cara mengatur waktu perintah tertentu?

(Setara linux dengan TimeThis.exe)

Sesuatu seperti:

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

wget foo.com took 3 seconds.
71
ripper234

Coba saja time alih-alih timethis.

Meskipun perlu diketahui bahwa sering kali versi builtin Shell waktu dan versi biner, yang akan memberikan hasil dalam format yang berbeda:

$ 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

Tidak seperti program "timethis" Anda, Anda mendapatkan tiga nilai kembali. Itu dipecah dalam Apa itu "waktu sistem" ketika menggunakan "waktu" di baris perintah , tetapi singkatnya: real berarti "waktu jam dinding", sementara pengguna dan sys menunjukkan jam CPU waktu, pisahkan antara kode biasa dan panggilan sistem.

103
mattdm

Dengan menggunakan time yang dapat dieksekusi alih-alih Shell builtin, Anda dapat menentukan format dan nilai output. Misalnya. dapatkan waktu berlalu sebenarnya bersama dengan nama perintah dan parameter

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

Perhatikan bahwa Anda harus menentukan path untuk time, jika tidak Anda akan menggunakan default bawaan Shell.

26
forcefsck

@ galois: Berbagai shell memiliki beberapa perintah "built-in" yang lebih diutamakan daripada apa pun di jalan. Biasanya ini menguntungkan; built-in akan cenderung berjalan lebih cepat (karena tidak memanggil file eksternal) dan biasanya memberikan hasil yang diinginkan (yaitu, dalam hal perintah waktu Anda biasanya tidak peduli versi mana yang Anda gunakan, kecuali jika Anda ingin menggunakan " --format "flag).

Jadi "waktu" tanpa karakter khusus (seperti /) untuk membuatnya terlihat seperti jalan akan berakhir dengan built-in, terlepas dari apa yang terlihat seperti PATH Anda.

Untuk memaksa Shell menggunakan perintah waktu eksternal, Anda harus menyediakan path

0
Tom Payerle