[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

time【コマンド】

pointこの用語のポイント

pointWindowsとUNIX系で使えるコマンドだよ

pointコマンドの実行時間を計測するよ(UNIX系)

pointコンピュータの時刻を表示・設定するよ(Windows系)

スポンサーリンク

簡単に書くよ

time【コマンド】とは

コマンドやプログラムの実行時間を計測するときに使うコマンド(UNIX系のOS)。
もしくは

コンピュータの時刻を表示・設定するときに使うコマンド(Windows系のOS)
です。

image piyo

詳しく書くよ

「time」コマンドUNIX系(LinuxとかMacとか)およびWindows系で使えます。
UNIX系とWindows系でコマンドの内容が違いますけどね。

まずは、UNIX系における「time」コマンドについて説明します。

UNIX系の「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種類あります。
一応、頭の片隅にでも置いておいてください。

次にWindows系の「time」コマンドを説明します。

Windows系の「time」コマンドはコンピュータの時刻を表示・設定する際に使います。
書き方は

time [オプション]

です。
オプションは少しだけあります。

オプション説明
/T時刻を表示する(設定はしない)

ですね。

それでは、実際の使い方を見てみましょう。

オプション未指定で

time

を実行すると、新しい時刻を入力するように指示が出ます。
私の環境では以下のメッセージが表示されました。

現在の時刻: 14:53:36.91
新しい時刻を入力してください:


新しい時刻を入力してエンターキーを押せば、完了です。

「/T」オプションを付けて

time /T

を実行すると、時刻の確認のみが行えます。
私の環境では以下の結果が表示されました。

14:56

Windows系の「time」コマンドは、そんな感じです。

image piyo2

一言でまとめるよ

まぁ「time」ってコマンドが出てきたら「実行時間を計測する(UNIX系)、もしくは時刻を設定する(Windows系)ときに使うんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク