はじめに
Linuxシステムにおける**date**コマンドは、現在のシステムの日付と時刻を表示したり、特定の形式で出力したり、さらにはシステム時刻を設定したりするための、非常に基本的ながら重要なツールです。シェルスクリプトでのログ記録や、ファイル名に日時を埋め込む際など、日常の多くの場面で活用されています。
LPICレベル1の試験では、dateコマンドを使った日付と時刻の表示形式のカスタマイズ(フォーマットオプション)が重要な出題ポイントとなります。この記事では、dateコマンドの基本的な使い方から、コマンド名の由来、豊富な表示フォーマット、そしてLPIC対策として押さえるべきポイントまでを詳しく解説していきます。
dateコマンドの基本
まずは、dateコマンドの基本的な使い方と、よく使うオプションから見ていきましょう。
dateコマンドの書式
date [オプション] [+フォーマット]
- ポイント: オプションやフォーマットを指定せずに
dateと入力すると、システムが設定している標準の日付と時刻(タイムゾーンを含む)が表示されます。
主要オプション一覧
| オプション | 意味 | 補足 |
-d | 指定した文字列を元に日時を計算して表示する | display |
-s | システム時刻を指定した文字列に設定する | set (管理者権限が必要) |
-r | ファイルの最終更新時刻を表示する | reference |
+フォーマット | 表示形式を指定する |
コマンド名の由来:なぜ「date」なのか?
dateコマンドの「date」は、英語で “日付” や “日時” を意味します。
このコマンドの目的は、システムが認識している現在の日時情報(date and time)を取得し、それをユーザーに分かりやすい形で提供することにあります。その役割を直接的に表現した、シンプルで普遍的な名前です。
各オプションの詳細と実践例
ここからは、dateコマンドの主要な機能であるフォーマット指定と、実用的なオプションについて詳しく掘り下げていきます。
1. フォーマット指定
dateコマンドの最も重要な機能は、出力形式をカスタマイズすることです。出力したい形式を+記号の後に指定します。LPIC試験では、以下の代表的なフォーマット指定子を覚えておく必要があります。
| 指定子 | 意味 | 出力例 (2025/10/28 火 16:32) |
%Y | 4桁の年 | 2025 |
%m | 2桁の月 | 10 |
%d | 2桁の日 | 28 |
%H | 24時間表記の時 | 16 |
%M | 分 | 32 |
%S | 秒 | 00 |
%F | YYYY-MM-DD形式(%Y-%m-%dの短縮形) | 2025-10-28 |
%T | HH:MM:SS形式(%H:%M:%Sの短縮形) | 16:32:00 |
%a | 曜日の短縮形(例: Tue) | Tue |
%A | 曜日の完全名(例: Tuesday) | Tuesday |
%j | 年の初めからの日数(1〜366) | 301 |
実践例:
「YYYYMMDD_HHMMSS」形式で出力:
date +%Y%m%d_%H%M%S

「Today is〇〇年〇〇月〇〇日です」と出力:
date +"Today is %Y%m%d."

2. -d (display) オプション:特定の日時を表示
意味: システムの現在時刻ではなく、引数で指定した文字列に基づいて日時を計算し、その結果を表示します。
実践例:
昨日の日付を表示:
date -d "yesterday" +%F

来週の火曜日の日付を表示:
date -d "next Tuesday" +%F

オプションの由来:「-dオプションのdは、display(表示する)やdate string(日付文字列)の頭文字から来ています。現在時刻とは異なる、特定の計算された日時を表示する機能を表しています。」
3. -r (reference) オプション:ファイルの更新時刻を表示
意味: 指定したファイルの最終更新時刻(タイムスタンプ)を読み取り、それを表示します。
実践例: /etc/passwdファイルの最終更新時刻を表示:
date -r /etc/passwd

オプションの由来:「-rオプションのrは、reference(参照)の頭文字から来ています。日付の参照元をファイルに指定する機能を表しています。」
4. -s (set) オプション:システム時刻の設定
意味: 指定した日時にシステム時刻を設定します。この操作には通常、root権限(管理者権限)が必要です。
実践例: 2026年1月1日10時00分00秒にシステム時刻を設定(管理者権限で実行):
sudo date -s "2026-01-01 10:00:00"
※システムクロックの戻し方がわからない場合は実施に注意

※今回は下記の方法でハードウェアクロックを使ってシステムクロックを戻しました。
(hwclock –hctosys)

オプションの由来:「-sオプションのsは、set(設定する)の頭文字から来ています。システムの日時を設定する機能を表しています。」
LPIC対策としてのポイント
dateコマンドのフォーマット指定子は、LPIC試験で確実に得点したい箇所です。
- 大文字・小文字の区別:
%H(24時間表記)と%h(月名短縮形)のように、大文字と小文字で意味が全く異なるため、混同しないように注意しましょう。 - 短縮形:
%Fと%Tは、それぞれYYYY-MM-DDとHH:MM:SSの短縮形として非常に便利です。 date -d: 日付の計算ができる機能は、シェルスクリプトで日時を扱う上で重要です。
まとめ
今回は、システムの日時表示と操作を行うdateコマンドについて、その基本的な使い方からコマンド名の由来、そして特に重要なフォーマット指定までを詳しく解説しました。dateコマンドを使いこなすことは、シェルスクリプトでのログ管理や、正確な日時情報を必要とするあらゆる作業において必須のスキルです。
LPICレベル1の試験対策としては、主要なフォーマット指定子(%Y, %m, %d, %H, %M, %S, %F, %T)とその意味を確実に覚えておきましょう。



コメント