Flat lay of business concept
Linuxを使っていると、ターミナル上で「現在の日付や時刻を確認したい」と思うことがあります。そんなときに便利なのが、date
コマンドです。date
コマンドを使えば、シンプルに現在の日時を確認するだけでなく、自分好みにフォーマットを変更したり、未来や過去の日付を表示することも可能です。
この記事では、date
コマンドの基本的な使い方から、応用的な使い方までを初心者にもわかりやすく解説します。Linux学習中の方や、日付管理をシェルスクリプトなどで扱いたい方は必見です。
date
コマンドは、LinuxやUnix系OSで現在の「日付と時刻」を表示・設定するための標準的なコマンドです。
単に現在の時刻を知るだけでなく、時刻の形式をカスタマイズしたり、スクリプトの中で使うことで、ログ出力やファイル名の自動生成などに役立ちます。
例えば、ターミナルで以下のように打ち込むと:
$ date
以下のような出力が得られます:
Sat Apr 6 14:30:15 JST 2025
この出力は、英語表記で曜日・月・日・時刻・タイムゾーン・年が含まれています。
最もシンプルな使い方は、date
コマンドをそのまま実行するだけです。
$ date
これにより、現在のシステム時刻が出力されます。システムクロックがずれている場合は、表示もずれてしまうので注意が必要です。
環境によっては、出力が英語になっていることがあります。日本語で表示したい場合は、LANG
変数を設定してから実行します。
$ LANG=ja_JP.UTF-8 date
例:
2025年 04月 06日 日曜日 14時35分10秒 JST
日本語の曜日や月を確認したいときには便利です。
date
コマンドでは、+
オプションを使うことで、出力形式を自由にカスタマイズできます。
例:年月日だけを表示したい場合
$ date "+%Y-%m-%d"
出力:
2025-04-06
例:時刻だけを表示したい場合
$ date "+%H:%M:%S"
出力:
14:36:22
指定子 | 意味 | 例 |
---|---|---|
%Y | 年(4桁) | 2025 |
%m | 月(2桁) | 04 |
%d | 日(2桁) | 06 |
%H | 時(00-23) | 14 |
%M | 分(00-59) | 36 |
%S | 秒(00-59) | 22 |
%A | 曜日(英語) | Sunday |
%a | 曜日(短縮) | Sun |
これらを組み合わせて、ログ用のタイムスタンプやファイル名に応用することもできます。
date
コマンドでは、-d
オプションを使って、任意の日時を指定して表示できます。
$ date -d "1 day ago"
出力:
Fri Apr 5 14:37:10 JST 2025
$ date -d "3 days"
出力:
Tue Apr 9 14:37:10 JST 2025
$ date -d "2022-12-25"
出力:
Sun Dec 25 00:00:00 JST 2022
これは、スクリプトなどで指定の日付の処理をしたいときに便利です。
日付や時刻をファイル名に付けて保存することで、ログの管理がしやすくなります。
$ touch "backup_$(date +%Y%m%d).txt"
これにより、たとえば backup_20250406.txt
というファイルが作成されます。
$ echo "$(date '+%Y-%m-%d %H:%M:%S') バックアップ開始" >> log.txt
ログファイルの中身:
2025-04-06 14:40:10 バックアップ開始
このように、スクリプトの中で使えば、何がいつ行われたかを記録するのに非常に役立ちます。
デフォルトではシステムのタイムゾーンが使われますが、特定のタイムゾーンで日時を表示したい場合には、TZ
変数を使います。
例:UTCで表示
$ TZ=UTC date
出力:
Sat Apr 6 05:41:00 UTC 2025
この方法は、ログをUTCで統一したい場合や、海外のサーバーと時刻を合わせたい場合に便利です。
date
コマンドは、日時の「表示」だけでなく「設定」も可能です(ただしroot権限が必要)。
$ sudo date -s "2025-04-06 12:00:00"
このコマンドで、システムの時刻を手動で変更できます。ただし、ほとんどのシステムではNTP(ネットワーク時刻プロトコル)で時刻を自動同期しているため、通常は変更する必要はありません。
date
コマンドは一見シンプルに見えますが、実はとても柔軟で多機能なコマンドです。
これらをマスターすれば、日付や時刻に関する操作を自在に扱えるようになります。ログの管理や自動バックアップ、スクリプトの作成など、日常のLinux操作がさらに快適になります。
ぜひ日頃からdate
コマンドを使って、操作に慣れていきましょう!