Linuxのdateコマンドは、システムの日付と時刻を表示または設定するために使用されます。 これにより、ユーザーは時間をさまざまな形式で表示し、過去と未来の日付を計算できます。
このチュートリアルでは、 日付コマンド Linuxでは 使用例。
Linuxのdateコマンドの使い方は?
Linuxターミナルでのdateコマンドの構文は次のとおりです。
date [option]... [+format]
デフォルトでは、dateコマンドはシステムが構成されているタイムゾーンの日付を出力します。 日付と時刻を変更するには、rootまたは sudo 特権。
表示日
dateコマンドをオプションや引数なしで使用すると、現在の日付と時刻がデフォルトの形式で次のように表示されます。
$ date
出力には、曜日、月の日、現在の月、年、現在の時刻、および年を含むタイムゾーンが表示されます。 dateコマンドは、オペレーティングシステムに設定されているデフォルトのタイムゾーンを表示します。
将来の日付を表示する
日付文字列-dまたは–dateオプションを使用すると、将来または今後の日付を印刷できます。 将来の日付を印刷するには、「次の金曜日」、「明日」などの文字列に値を入力します。
にとって example、明日の日付を印刷するには、次のコマンドを入力します。
$ date -d ”tomorrow”

次の金曜日の日付を表示します。
$ date -d "next Friday"

過去の日付を表示する
-dオプションを使用すると、Linuxシステムで過去の日付を表示できます。 日付文字列を使用すると、「昨日」、「土曜日」、「先週の金曜日」、「3年前」などの値を入力できます。 したがって、次の日付文字列を使用すると、過去の日付を表示できます。
$ date -date "1 year ago"

昨日の日付を表示するには、dateコマンドで次の文字列を使用します。
$ date -d ”yesterday”

同様に、最終金曜日の日付を表示するには、以下のコマンドを実行します。
$ date -d ”last Friday”

日付コマンド形式オプション
Linux dateコマンドの表示される端末出力は、「+」記号が前に付いたフォーマット制御文字を使用してフォーマットできます。 これらのフォーマットコントロールはすべて「%」記号で始まり、その後に値が続きます。
にとって example、dateコマンドの出力を次のようにフォーマットします。
$ date +"Year: %Y, Month: %m, Day: %d"

次の最も一般的なフォーマット文字のリストを使用して、出力を希望のフォーマットで表示できます。
- %a-平日の名前を短い形式で出力します(例:月)
- %A-完全な平日の名前を表示するために使用されます(例:月曜日)
- %b-月の名前を短い形式で表示します(例:Jan)
- %B-完全な月の名前を表示するために使用されます(例:1月)
- %d-月の日を表示します(例:05)
- %H-表示時間(00..23)
- %I-時間を(01..12)形式で表示
- %j-年の日を表示します(001..366)
- %m-月を数値で表示します(01..12)
- %M-議事録を00..59秒で印刷します。
- %S-秒を表示します(00..60)
- %u-曜日を数値で表示します(1..7)
- %Y-通年を表示するために使用されます(例:2019)
次のコマンドを使用して、dateコマンドのフォーマットオプションの完全なリストを調べることができます。
$ date --help
$ man date
文字列値から日付を表示
-dateまたは-dオプションを使用すると、特定の日付を表示できます。 日付文字列から特定の日付を表示するには、次のコマンドのように、人間が読める形式の日付文字列を指定します。
$ date -d "2020-10-09 10:22:47"

-dオプションを使用すると、次のようにカスタム形式で日付を表示することもできます。
$ date -d '12 Jan 2021' +'%A, %d %B %Y'

ファイルの最終変更時刻を表示する
場合によっては、ファイルの最終変更時刻を表示する必要があります。 Linuxシステムのdateコマンドは、ファイルの最後の変更時刻を印刷するのに役立ちます。 dateコマンドに続けて「-r」オプションを使用すると、ファイルの最終変更時刻が出力されます。
にとって example、 ‘/ etc / hosts’ファイルの最終変更日を表示するには、以下のコマンドを使用します。
$ date -r /etc/hosts

タイムゾーンを設定する日付コマンド
dateコマンドは、「/ etc / localtime」ファイルで定義されているシステムのデフォルトのタイムゾーンを表示します。 ただし、別の国のタイムゾーンを印刷するには、「TZ」環境変数を目的のタイムゾーンに設定します。
次のコマンドを実行して、使用可能なすべてのタイムゾーンリストを表示するには:
$ timedatectl list-timezones

にとって example、シドニーからオーストラリアの時刻を表示するタイムゾーンを設定するには、次のコマンドを実行します。
$ TZ='Australia/Melbourne' date

エポックコンバーターとしての使用
dateコマンドは、エポックコンバーターとしても機能します。 エポックは、1975年2月2日00:00:00UTCから経過した秒数で時間を表示します。 現在の日付までの経過時間を秒単位で表示するには、フォーマットコントロール%sとともにdateコマンドを使用します。
$ date +%s

にとって example、エポックから特定の日付までに経過した秒数を表示するには、次のコマンドを使用します。
$ date -d "1980-10-25" +"%s"

他のコマンドで日付を使用する
Linuxシステムの「date」コマンドを他のコマンドと一緒に実装して、現在の日付と時刻に関する情報を含むさまざまなファイル名を作成できます。
以下で作成しました example 以下のコマンドを使用して、新しいSQLバックアップファイルを作成します。
$ mysqldump database_name > database_name-$(date +%Y%m%d).sql
dateコマンドは、シェルスクリプトでも使用できます。 以下では example、dateコマンドの出力を新しい変数 ‘date_now’に割り当てました。
$ date_current=$(date "+%F-%H-%M-%S")
$ echo $date_current

Linuxで日付を設定
dateコマンドを使用すると、Linuxシステムの日付を手動で設定できます。
にとって example、Linuxシステムの日付と時刻を2021年10月13日午後2時30分に手動で設定します。以下のコマンドを実行します。
$ date --set="20211013 05:30"

ほとんどのLinuxディストリビューションのシステム時刻は、デフォルトでNTPまたはtimedatectl / timesyncdと同期されます。 したがって、変更についてあまり心配する必要はありません。
結論
Linuxシステムでdateコマンドを使用する方法についてのチュートリアルを提供しました。 日付コマンドの詳細については、次のWebサイトをご覧ください。 日付コマンドのマニュアルページ。