Linuxでの日付コマンドと使用例

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”

dateコマンドを使用して前の日付を表示する

日付コマンド形式オプション

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コマンドを使用してタイムゾーンを設定する

エポックコンバーターとしての使用

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

シェルスクリプトのdateコマンド

Linuxで日付を設定

dateコマンドを使用すると、Linuxシステムの日付を手動で設定できます。

にとって example、Linuxシステムの日付と時刻を2021年10月13日午後2時30分に手動で設定します。以下のコマンドを実行します。

$ date --set="20211013 05:30"

Linuxで日付を設定する

ほとんどのLinuxディストリビューションのシステム時刻は、デフォルトでNTPまたはtimedatectl / timesyncdと同期されます。 したがって、変更についてあまり心配する必要はありません。

結論

Linuxシステムでdateコマンドを使用する方法についてのチュートリアルを提供しました。 日付コマンドの詳細については、次のWebサイトをご覧ください。 日付コマンドのマニュアルページ