(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
対
$ \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」プログラムとは異なり、3つの値が返されます。 コマンドラインで「time」を使用する場合の「システム時間」とは に分解されますが、簡単に言うと:realは「壁時計時間」、userおよびsysがCPUクロックを表示時間、通常のコードとシステムコールの間で分割されます。
ビルトインシェルの代わりに実行可能ファイルtime
を使用すると、出力形式と値を指定できます。例えば。コマンド名とパラメーターとともに実際の経過時間を取得する
/usr/bin/time --format='%C took %e seconds' sleep 3
sleep 3 took 3.00 seconds
mustはtime
のパスを指定することに注意してください。そうでない場合、デフォルトで組み込みのシェルを使用します。
@galois:さまざまなシェルには、パス内のすべてのものよりも優先される少数の「組み込み」コマンドがあります。通常、これは有利です。ビルトインは(外部ファイルを呼び出さないため)より高速に実行される傾向があり、通常は望ましい結果が得られます(つまり、timeコマンドの場合、通常は使用するバージョンを気にしませんが、「 --format "フラグ)。
したがって、パスのように見えるようにするための特殊文字(/など)なしの「時間」は、PATHがどのように見えるかに関係なく、組み込みを実行することになります。
シェルに外部時間コマンドを使用させるには、パスを指定する必要があります