3.2. date コマンドの使用
date
ユーティリティーはすべての Linux システムで利用可能で、システムの現在日時の表示および設定を可能にします。システムクロックに関する詳細情報をカスタマイズされた形式で表示するために、スクリプト内で使用されることがよくあります。
タイムゾーンの変更、またはシステムクロックとリモートサーバーの自動同期を有効にする方法は 「timedatectl
コマンドの使用」 を参照してください。
3.2.1. システムの現在日時の表示
現在の日時を表示するには、date
コマンドをオプションを付けずに実行します。
date
このコマンドを実行すると、曜日、日付、ローカルタイム、タイムゾーンの省略形、年が表示されます。
date
コマンドは、デフォルトではローカルタイムを表示します。UTC の時間を表示するには、コマンドラインオプション --utc
または -u
を指定してコマンドを実行します。
date
--utc
また、+"format"
オプションをコマンドラインに指定することで、表示される情報のフォーマットをカスタマイズすることもできます。
date +"format"
例3.6「システムの現在日時の表示」 を参考にして、フォーマットを、サポートされる 1 つまたは複数のコントロールシーケンスに置き換えます。よく使用されるフォーマットオプションのリストは 表3.1「よく使われるコントロールシーケンス」 を参照してください。これらのオプションの完全なリストは、man ページの date
(1) を参照してください。
コントロールシーケンス | 詳細 |
---|---|
|
HH フォーマットでの時間 (例: |
|
MM フォーマットでの分 (例: |
|
SS フォーマットでの秒 (例: |
|
DD フォーマットでの日 (例: |
|
MM フォーマットでの月 (例: |
|
YYYY フォーマットでの年 (例: |
|
タイムゾーンの省略形 (例: |
|
非省略形の YYYY-MM-DD フォーマットでの日付 (例: |
|
非省略形の HH:MM:SS フォーマットでの時間 (例: 17:30:24)。このオプションは、 |
例3.6 システムの現在日時の表示
現在日とローカル時間を表示するには、シェルプロンプトで以下を入力します。
~]$ date
Mon Sep 16 17:30:24 CEST 2016
UTC で現在日時を表示するには、シェルプロンプトで以下を入力します。
~]$ date --utc
Mon Sep 16 15:30:34 UTC 2016
date
コマンドの出力をカスタマイズするには、以下を入力します。
~]$ date +"%Y-%m-%d %H:%M" 2016-09-16 17:30
3.2.2. システムの現在時刻の変更
システムの現在時刻を変更するには、root
で date
コマンドに --set
オプションまたは -s
オプションを指定して実行します。
date
--set
HH:MM:SS
HH は時間、MM は分、SS は秒 (すべて 2 桁) の数字に置き換えます。
date
コマンドは、デフォルトでは、システムクロックをローカルタイムに設定します。システムクロックを UTC で設定するには、コマンドラインオプション --utc
または -u
を指定してコマンドを実行します。
date
--set
HH:MM:SS--utc
例3.7 システムの現在時刻の変更
システムの現在時刻を午後 11 時 26 分に変更するには、root
で以下のコマンドを実行します。
~]# date --set 23:26:00
3.2.3. システムの現在日の変更
現在の日付を変更するには、root
で --set
または -s
を指定して date
コマンドを実行します。
date
--set
YYYY-MM-DD
YYYY は 4 桁の年に、MM と DD は 2 桁の月と日に置き換えます。
時間を指定せずに日付を変更すると、時間は 00:00:00 に設定されることに注意してください。
例3.8 システムの現在日の変更
システムの現在日を 2017 年 6 月 2 日に変更し、現在時刻は変更しない (午後 11:26) 場合は、root
で以下のコマンドを実行します。
~]# date --set "2017-06-02 23:26:00"