मैं एक विशिष्ट आदेश कैसे दे सकता हूं?


66

(TimeThis.exe के समकक्ष)

कुछ इस तरह:

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

wget foo.com took 3 seconds.

जवाबों:


92

timeइसके बजाय बस कोशिश करें timethis

हालाँकि इस बात से अवगत रहें कि अक्सर शेल शेल टाइम संस्करण होता है और बाइनरी संस्करण, जो विभिन्न स्वरूपों में परिणाम देगा:

$ time wget -q -O /dev/null https://unix.stackexchange.com/

real    0m0.178s
user    0m0.003s
sys     0m0.005s

बनाम

$ \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

आपके "टाइमथिस" कार्यक्रम के विपरीत, आपको तीन मान वापस मिल जाते हैं। कमांड लाइन में "समय" का उपयोग करते समय "सिस्टम टाइम" क्या है , यह टूट गया है , लेकिन संक्षेप में: वास्तविक का अर्थ "दीवार-घड़ी का समय" है, जबकि उपयोगकर्ता और एसआईएस सीपीयू घड़ी समय दिखाते हैं, नियमित कोड और सिस्टम कॉल के बीच विभाजन करते हैं।


26

timeशेल बिलिन के बजाय निष्पादन योग्य का उपयोग करके , आप आउटपुट स्वरूप और मान निर्दिष्ट कर सकते हैं। जैसे कमांड नाम और मापदंडों के साथ वास्तविक बीता हुआ समय प्राप्त करें

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

ध्यान दें कि आपको इसके लिए पथ निर्दिष्ट करना होगा time, अन्यथा आप शेल निर्मित में उपयोग करने के लिए डिफ़ॉल्ट होंगे।


4
ध्यान दें कि: पथ महत्वपूर्ण है। बस 'समय' का उपयोग बश में न करें। इसके बजाय, उपयोग / usr / बिन / समय
CodeFarmer

1
क्या फर्क है अगर /usr/binउनके पेट में है?
गैलोज

@galois अंतर यह है कि स्पष्ट पथ के बिना, शेल की अंतर्निहित timeउपयोगिता का उपयोग किया जाएगा।
Kusalananda

बिल्ड-इन के बजाय उपयोगिता का उपयोग command timeया \timeनिष्पादित करने के लिए भी कर सकते हैं ।
Forcefsck

0

@galois: विभिन्न गोले में "निर्मित" कमांड का एक मुट्ठी भर होता है जो रास्ते में किसी भी चीज पर पूर्वता लेता है। आम तौर पर यह फायदेमंद है; बिल्ट-इन तेज़ गति से चलेगा (क्योंकि किसी बाहरी फ़ाइल को कॉल नहीं करना) और आम तौर पर वांछित परिणाम (यानी, समय कमांड के मामले में आप आमतौर पर परवाह नहीं करते हैं कि आप किस संस्करण का उपयोग कर रहे हैं, जब तक कि आप "उपयोग नहीं करना चाहते" --फॉर्म "ध्वज"।

तो "समय" बिना किसी विशेष वर्ण (जैसे /) के इसे पथ की तरह दिखने के लिए बिल्ट-इन चलाना समाप्त हो जाएगा, भले ही आपका पेट कैसा दिखता हो।

बाहरी समय कमांड का उपयोग करने के लिए शेल को बाध्य करने के लिए, आपको पथ प्रदान करना होगा

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.