このチュートリアルでは、 dateの基本について説明します。 コマンド。
日付コード> コマンドは、システム日付を表示または設定します。日付と時刻をさまざまな形式で印刷し、将来と過去の日付を計算するために最も一般的に使用されます。
Linuxのdateの使用 コマンド#
dateの構文 コマンドは次のとおりです:
date [OPTION]... [+FORMAT]
デフォルトのフォーマットを使用して現在のシステムの時刻と日付を表示するには、オプションと引数を指定せずにコマンドを呼び出します。
date 出力には、曜日、月、曜日、時間、タイムゾーン、および年が含まれます。
Sat Jun 1 14:31:01 CEST 2019
日付フォーマットオプション#
dateの出力 コマンドは、 +が前に付いた一連のフォーマット制御文字でフォーマットできます。 サイン。フォーマットコントロールは%で始まります 記号であり、それらの値に置き換えられます。
date +"Year: %Y, Month: %m, Day: %d"
%Y 文字は年、%d 月の日:
Year: 2019, Month: 06, Day: 02
別の例を次に示します。
date "+DATE: %D%nTIME: %T"
DATE: 06/02/19
TIME: 01:47:04
以下は、最も一般的なフォーマット文字のいくつかの小さなリストです:
-
%a-ロケールの省略された平日の短い名前(例:月) -
%A-ロケールの省略された完全な平日の名前(例:月曜日) -
%b-ロケールの省略形の短い月の名前(例:1月) -
%B-ロケールの省略された長い月の名前(例:1月) -
%d-曜日(例:01) -
%H-時間(00..23) -
%I-時間(01..12) -
%j-年の日(001..366) -
%m-月(01..12) -
%M-分(00..59) -
%S-秒(00..60) -
%u-曜日(1..7) -
%Y-通年(例:2019)
すべてのフォーマットオプションの完全なリストを取得するには、 date --helpを実行します。 またはmandate ターミナルで。
日付文字列#
-d オプションを使用すると、特定の日付に操作できます。日付は、次のように人間が読める形式の日付文字列として指定できます。
date -d "2010-02-07 12:10:53" Sun Feb 7 12:10:53 CET 2010
カスタムフォーマットの使用:
date -d '16 Dec 1974' +'%A, %d %B %Y' Monday, 16 December 1974
日付文字列は、「明日」、「金曜日」、「最後の金曜日」、「次の金曜日」、「来月」、「来週」などの値を受け入れます。
date -d "last week" Sat May 25 14:31:42 CEST 2019
日付文字列オプションを使用して、さまざまなタイムゾーンの現地時間を表示することもできます。たとえば、オーストラリアの東海岸で次の月曜日の午前6時30分の現地時間を表示するには、次のように入力します。
date -d 'TZ="Australia/Sydney" 06:30 next Monday' Sun Jun 2 22:30:00 CEST 2019 タイムゾーンを上書きする#
日付コード> コマンドは、デフォルトのシステムタイムゾーンの日付を返します。別のタイムゾーンを使用するには、環境変数 TZを設定します 希望のタイムゾーンに移動します。
たとえば、オーストラリアのメルボルンの時間を表示するには、次のように入力します。
TZ='Australia/Melbourne' date Sat Jun 1 22:35:10 AEST 2019
使用可能なすべてのタイムゾーンを一覧表示するには、 / usr / share / zoneinfo内のファイルを一覧表示します。 ディレクトリを作成するか、 timedatectl list-timezonesを使用します コマンド。
Epoch Converter#
日付コード> コマンドはエポックコンバーターとして使用できます。エポック(Unixタイムスタンプ)は、1970年1月1日00:00:00UTCから経過した秒数です。
エポックから現在の日までの秒数を出力するには、 dateを呼び出します。 %sを使用 フォーマット制御:
date +%s 1559393792
エポックからの秒数を日付に変換するには、秒を @で始まる日付文字列として設定します。 :
date -d @1234567890 Sat Feb 14 00:31:30 CET 2009
dateの使用 他のコマンドで#
日付コード> コマンドは、現在の時刻と日付を含むファイル名を作成するために最も頻繁に使用されます。
以下のコマンドは、次の形式のMysqlバックアップファイルを作成します database_name-20190601.sql
mysqldump database_name > database_name-$(date +%Y%m%d).sql
dateを使用することもできます シェルスクリプトのコマンド。以下の例では、 dateの出力を割り当てています。 date_nowへ 変数:
date_now=$(date "+%F-%H-%M-%S")
echo $date_now
2019-06-01-15-02-27
ファイルの最終変更時刻を表示する#
日付コード> -rを使用したコマンド オプションは、ファイルの最終変更時刻を示します。例:
date -r /etc/hosts Tue Jul 24 11:11:48 CEST 2018
ファイルのタイムスタンプを変更する場合は、 touchを使用してください コマンド。
dateを使用してシステムの日時を手動で設定する ほとんどのLinuxディストリビューションでは、システムクロックは ntp を使用して同期されるため、このコマンドはお勧めしません。 またはsystemd-timesyncd サービス。
ただし、システムクロックを手動で設定する場合は、-set =を使用できます。 オプション。たとえば、日時を2019年6月1日の午後5時30分に設定する場合は、次のように入力します。
date --set="20190601 17:30" 結論#
Linuxのdate コマンドは、システムの日付と時刻を表示または設定します。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。