Linuxシステムで正確な日付を維持することは、Linuxユーザーがすぐに使える重要なスキルの1つです。 Linux dateコマンドは、Linuxシステムの日付と時刻の設定を表示および設定するために使用されます。このチュートリアルでは、dateコマンドを使用してLinuxシステムで日付を表示および設定する方法を垣間見ることができます。
基本構文
dateコマンドの基本的な構文を以下に示します
$日付[オプション]…[+フォーマット]
1)オプションなしの日付コマンド
基本的な形式では、コマンドオプションなしで、dateコマンドは、曜日、月、年、hh:mm:ss形式の時刻、および以下に示すタイムゾーンを含む現在の日付と時刻を表示します。
>$ date Sun May 9 15:41:17 IST 2021 $
2)UTCで日付と時刻を表示します
以前はGMT(グリニッジ標準時)と呼ばれていたUTC(協定世界時)で時刻を表示するには、-uオプションを追加します。
$ date -u Sun May 9 10:11:59 UTC 2021 $
3)特定の日付を文字列形式で表示します
以下に示すように、–dateオプションを使用して、特定の日付を文字列形式で表示できます。これはシステムの日付と時刻には影響せず、日付形式を文字列に変換するだけであることに注意してください。
$ date --date="10/10/2021" Sun Oct 10 00:00:00 IST 2021 $
4)dateコマンドを使用して過去の日付を確認します
dateコマンドは、現在の日付を基準にした過去の日付と時刻を印刷することもできます。
たとえば、9日前の日付を確認するには、コマンドを実行します。
$ date --date="9 days ago" Fri Apr 30 15:45:28 IST 2021 $
2週間前の日付を表示するには、次のコマンドを実行します。
$ date --date="2 weeks ago" Sun Apr 25 15:47:11 IST 2021 $
3か月前の日付を確認するには、次を実行します。
$ date --date="3 months ago" Tue Feb 9 15:47:52 IST 2021 $
3年前の日付を印刷するには、次のコマンドを実行します:
$ date --date="3 years ago" Wed May 9 15:49:04 IST 2018 $
5)dateコマンドを使用して将来の日付を確認します
過去の日付を確認できるのと同じように、dateコマンドを使用して将来の日付を表示することもできます。
たとえば、明日の実行日を確認するには:
$ date --date="tomorrow" Mon May 10 15:50:14 IST 2021 $
今から正確に1週間後の日付を確認するには、次のコマンドを実行します。
$ date --date="next week" Sun May 16 15:51:03 IST 2021 $
2週間後の日付を表示するには、次のコマンドを実行します。
$ date --date="2 weeks" Sun May 23 15:51:46 IST 2021 $
今から4か月後の日付を表示するには:
$ date --date="4 months" Thu Sep 9 15:52:33 IST 2021 $
そして、今から2年後の日付を確認するには:
$ date --date="2 years" Tue May 9 15:53:20 IST 2023 $
6)日付の書式設定オプション
dateコマンドには、日付出力をカスタマイズできる多くのオプションが付属しています。以下に、使用可能なフォーマットオプションの一部を示します。
- %D –日付をmm / dd/yyの形式で表示
- %Y –年(例:2021)
- %m –月(01-12)
- %B –完全な文字列形式の月の名前(2月など)
- %b –短縮された文字列形式の月の名前(例:2月)
- %d –月の日(例:01)
- %j –年の日(001-366)
- %u –曜日(1〜7)
- %A –完全な文字列形式の平日(例:金曜日)
- %a –短縮形式の平日(例:金)
- %H –時間(00-23)
- %I –時間(01-12)
- %M –分(00-59)
- %S – 2番目(00-60)
日付オプションを使用するための構文は非常に単純です:
$日付「+%オプション」
たとえば、日付をyy / mm / dd形式で印刷するには、
を実行します。$ date "+%Y-%m-%m" 2021-05-05 $
曜日、月、年、および現在の実行時刻を印刷するには:
$ date "+%A %B %Y %T" Sunday May 2021 15:55:56 $
7)日時の設定方法
dateコマンドを使用すると、日付と時刻を設定することもできます。たとえば、日付と時刻を2021年6月25日の午前11時15分に設定するには、次のコマンドを実行します。
$ sudo date --set="20210625 11:15" Fri Jun 25 11:15:00 IST 2021 $
注:
システムの日付と時刻をこのように設定することは、時刻が不正確である可能性が最も高いため、お勧めできません。これを実現するためのより良い方法は、現在廃止されているntpdデーモンの代わりとなるchronyユーティリティを使用することです。実際、CentOS 8 /RHEL8などの最新のシステムはNTPをサポートしていません。 chronyを使用して時刻と日付を同期する方法の詳細なガイドがあります。
タイムゾーンを変更する場合は、timedatectlコマンドを使用します。例を以下に示します。
$ sudo timedatectl set-timezone Asia/Kolkata
8)変数でのDateコマンドの使用
シェルスクリプトの作成中に、dateコマンドを変数に保存し、後でその変数を使用してログファイルを作成する場合があります。例を以下に示します。
#!/bin/bash LOGFILE=/tmp/logs-$(date +%d-%m-%Y_%T) echo "##Check Cluster for Failed Resources##" >> $LOGFILE crm_mon -1 -rf | grep FAILED >> $LOGFILE echo -e "\n\n" >> $LOGFILE echo "##Check Cluster for Stopped Resources##" >> $LOGFILE crm_mon -1 -rf | grep -i STOPPED >> $LOGFILE echo -e "\n\n" >> $LOGFILE
概要
Linuxのdateコマンドの使用法が明らかになったと思います。このコマンドを使用して、システムの日付を表示し、出力を好みに合わせてカスタマイズできると確信しています。
また読む :Linuxでの9つのteeコマンドの例