本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「date」コマンドです。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、現在の日時を表示したり、変更したりする「date」コマンドです。
「date」は、現在の日時を表示したり、設定し直したりするためのコマンドです。時刻の表示形式を指定することも可能です。
dateコマンドの主なオプションは次の通りです。
短いオプション | 長いオプション | 意味 |
---|---|---|
-d 日時 | --date=日時 | 現在ではなく、文字列で指定した日時を表示する |
-R | --rfc-2822 | 日時をRFC2822形式で表示する(例:Mon, 07 Aug 2006 12:34:56 -0600) |
-I[TIMESPEC] | --iso-8601[=TIMESPEC] | 日時をISO 8601フォーマットでTIMESPEC(date、hours、minutes、seconds、ns)で指定した精度で指定する。例えば、-Insでナノ秒まで表示し、無指定時は日付まで表示する |
--rfc-3339=TIMESPEC | 日時をRFC3339形式で表示する(TIMESPECは必須) | |
-rファイル | --reference=ファイル | ファイルの最終変更時刻を表示する |
-s 日時 | --set=日時 | システム時刻を指定した日時に変更する。時刻省略時は「00:00:00」になる |
-u | --utc, --universal | 協定標準時(UTC)を表示、設定する(※「-u」は他のオプションと同時に使用できない) |
「date」を単独で実行すると、現在の日時が表示されます。表示される日時の言語とフォーマットは、環境変数「LANG」の設定に従います。
異なる言語で表示したい場合には、「LANG=設定 date」のように指定します。例えば、「LANG=C date」であれば、デフォルトの言語(「C」はCommonという意味で、通常は米国スタイルの英語表示)でdateコマンドが実行されます。
【※】コマンドラインで「変数名=設定値 コマンド」のように実行すると、“環境変数を指定した設定値にした状態でコマンドを実行する”という意味になります。この変数の設定は、コマンド実行時のみ有効です。
date
(現在の日時を表示する)(画面1の赤枠部分)
LANG=C date
(環境変数LANGの値を「C」にしてdateコマンドを実行する。現在の日時が米国スタイルで表示される)(画面1の青枠部分)
「date +フォーマット」で、指定したフォーマットで日付を表示できます。フォーマットで指定できる内容は「date --help」で確認することができます。
例えば、「date +%F」では「4桁の年-2桁の月-2桁の日付(yyyy-mm-dd)」で表示され、「date +%Y%m%d」では「yyyymmdd」の8桁で表示されます。時刻をそれぞれ2桁で「時:分:秒」のように表示したい場合は、「date +%H:%M:%S」のように指定します。また、間に空白を入れたい場合は引用符を使います。
date +%F
(現在の日付を「yyyy-mm-dd」で表示する)(画面2の赤枠部分)
date +"%Y/%m/%d %H:%M:%S"
(現在の日時を「yyyy/mm/dd HH:MM:SS」で表示する)(画面2の青枠部分)
「date -s 日時」で、現在の日時を変更することができます。root権限が必要なので、「su」コマンドでrootになるか、「sudo date -s 日時」のように「sudo」コマンド経由で実行しましょう。
なお、NTPサーバ(タイムサーバ)と同期しているなど、自動時刻合わせを使用している場合は、dateコマンドで変更しても、同期と共に元の日時に戻ります。
date -s "2017/01/01 01:02:03"
(現在の日時を変更する)(画面3)
PC-9801N/PC-386MからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、専業ライターとして活動を開始。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.