「分かりそう」で「分からない」でも「分かった」気になれるLinuxコマンド辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるLinuxコマンド辞典

time

スポンサーリンク

何するコマンド?

コマンドプログラムの実行時間を計測するときに使うコマンド



書き方

time [オプション] [対象のコマンド・プログラム]



オプション

オプション説明
-p結果の書式が
real 【秒数】
user 【秒数】
sys 【秒数】
になる

補足事項

使い方は簡単です。
例えば

time sleep 1

を実行すると「sleep 1」コマンドの実行にかかった時間が表示されます。
ちなみに「sleep」コマンドは「一定時間処理を止めるコマンド」ね。

「-p」オプションを指定すると、出力結果の書式が変わります。
……の前に、大事なことを説明しておきましょう。

実は「time」コマンドは2種類あります。

1.シェルに組み込まれているtimeコマンド
2.単独のtimeコマンド


の2つです。

この2つのうち「-p」オプションが使えるのは「2.単独のtimeコマンド」です。
「1.シェルに組み込まれているtimeコマンド」には「-p」オプションがありません。

私の環境CentOS 7)を例に説明します。
私の環境で

which time

を実行すると、以下の結果が表示されました。

time: shell built-in command.

which」コマンドは、指定されたコマンドのパス(置き場所)を表示するコマンドです。
「which」コマンドの実行結果から、私の環境の「time」コマンドは「1.シェルに組み込まれているtimeコマンド」だと分かります。

この状況で

time sleep 1

を実行してみました。
1秒間処理を止めるコマンドの実行にかかった時間を計測する命令です。

このコマンドの実行結果は以下のようになりました。

0.000u 0.000s 0:01.00 0.0%      0+0k 0+0io 0pf+0w

次に「-p」オプションを指定して

time -p sleep 1

を実行してみました。

結果は以下の通りです。

-p: Command not found.
0.000u 0.000s 0:00.00 0.0%      0+0k 0+0io 0pf+0w


おっと、1行目に

-p: Command not found.

と書いてありますね。
どうやら「-p」をオプションではなく、実行したコマンドと認識したようです。

ここまでの結果から「1.シェルに組み込まれているtimeコマンド」に「-p」オプションがないことが分かります。

次に「2.単独のtimeコマンド」を見てみましょう。

事前準備として

yum install time

を実行して、単独の「time」コマンドを用意しました。
ちなみに「yum」は、コンピュータにソフトを追加したり消したりするときに使うコマンドです。

さて、これで準備はできました。
追加した「time」コマンドは

/usr/bin/time

にあることにして話を続けます。

まずは「-p」オプションなしで実行してみましょう。

/usr/bin/time sleep 1

を実行したところ、以下の結果が表示されました。

0.00user 0.00system 0:01.00elapsed 0%CPU (0avgtext+0avgdata 668maxresident)k
0inputs+0outputs (0major+207minor)pagefaults 0swaps


次に「-p」オプションを付けて

/usr/bin/time -p sleep 1

を実行してみます。
結果は以下のようになりました。

real 1.00
user 0.00
sys 0.00


いかがでしょう。
「-p」オプションを付けた方が簡略化されているけど見やすいですよね。

このように結果の書式を変えるのが「-p」オプションの役目です。

UNIX系の「time」コマンドの使い方は、そんな感じです。
繰り返しになりますが、UNIX系の「time」コマンドは

1.シェルに組み込まれているtimeコマンド
2.単独のtimeコマンド


の2種類あります。
一応、頭の片隅にでも置いておいてあげてください。

スポンサーリンク


書籍画像