(เทียบเท่า linux ของ TimeThis.exe)
สิ่งที่ต้องการ:
timethis wget foo.com
Receiving foo.com
...
wget foo.com took 3 seconds.
(เทียบเท่า linux ของ TimeThis.exe)
สิ่งที่ต้องการ:
timethis wget foo.com
Receiving foo.com
...
wget foo.com took 3 seconds.
คำตอบ:
ลองเพียงแทนtime
timethis
แม้ว่าโปรดทราบว่ามักจะมีรุ่นของเชลล์ในตัวและรุ่นไบนารีซึ่งจะให้ผลลัพธ์ในรูปแบบที่แตกต่างกัน:
$ 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" คุณจะได้รับสามค่ากลับมา นั่นคือการแบ่งใน"เวลาของระบบ" คืออะไรเมื่อใช้ "เวลา" ในบรรทัดคำสั่งแต่ในระยะสั้น: จริงหมายถึง "เวลานาฬิกาแขวน" ในขณะที่ผู้ใช้และsysแสดงเวลานาฬิกาของ CPU แบ่งระหว่างรหัสปกติและการเรียกระบบ
โดยการใช้ไฟล์ปฏิบัติการtime
แทนเชลล์บิลด์อินคุณสามารถระบุรูปแบบเอาต์พุตและค่าได้ เช่นรับเวลาที่ผ่านไปจริงพร้อมกับชื่อคำสั่งและพารามิเตอร์
/usr/bin/time --format='%C took %e seconds' sleep 3
sleep 3 took 3.00 seconds
โปรดทราบว่าคุณต้องระบุพา ธ สำหรับtime
มิฉะนั้นคุณจะใช้เชลล์ในตัวเป็นค่าเริ่มต้น
/usr/bin
อยู่ในเส้นทางของพวกเขา
time
จะใช้ยูทิลิตี้ในตัวของเชลล์
command time
หรือ\time
เรียกใช้ยูทิลิตี้แทนการสร้างใน
@galois: เชลล์ต่าง ๆ มีคำสั่ง "built-in" จำนวนหนึ่งซึ่งมีความสำคัญเหนือกว่าสิ่งใดในพา ธ โดยปกตินี่เป็นข้อได้เปรียบ บิวด์อินมักจะทำงานได้เร็วขึ้น (เพราะไม่ได้เรียกไฟล์ภายนอก) และโดยทั่วไปจะให้ผลลัพธ์ที่ต้องการ (เช่นในกรณีที่คำสั่งเวลาคุณปกติไม่สนใจรุ่นที่คุณใช้เว้นแต่คุณต้องการใช้ " - รูปแบบ "ธง")
ดังนั้น "เวลา" โดยไม่มีอักขระพิเศษใด ๆ (เช่น /) เพื่อทำให้ดูเหมือนว่าเส้นทางจะจบลงด้วยการใช้งานบิวด์อินโดยไม่คำนึงว่า PATH ของคุณจะเป็นอย่างไร
ในการบังคับให้เชลล์ใช้คำสั่งเวลาภายนอกคุณต้องระบุพา ธ