Linuxのdateコマンドを実行します。いいえ、ロマンチックな夜を過ごすことはできません。しかし、それはあなたがターミナルで書いたラブレターの上部にある日付をフォーマットすることができます。十分近い?始めましょう。
Bashでスクリプトを作成しているときは、必然的に日付または時刻を印刷する必要があり、その日付または時刻は、他の関数の要件を満たすために特定の形式である必要があります。そのとき、日付コマンドが機能します。
ご覧のとおり、Linuxのdateコマンドはシンプルで用途が広いため、あらゆる種類の入力を受け入れ、さまざまな形式で日付を生成します。また、さまざまな時間関連のコンピューティングタスクのための他の特別な機能もあります。日付のオプションと構文を学ぶことで、間違いなくスクリプトのスキルが向上し、時間厳守になる可能性があります。
日付コマンドの基本構文
dateコマンドの基本的な構文は次のとおりです。
date [OPTION]... [+FORMAT]
つまり、入った後 日にち 、次のようなオプションを入力できます -NS また -NS 、特定の関数を呼び出すために、以下で説明します。
また、フォーマット文字列でフォローアップすることもできます。フォーマット文字列は常に + キャラクター。これらの文字列は、出力を定義するために、以下にリストされている特定のフォーマット文字を取ります。
Linuxdateコマンドの実用例
いくつかの方法で使用するdateコマンドを置くことができます。同じものの最も一般的で有用なユースケースを考えてみましょう。
1.現在の日付と時刻を取得します
dateコマンドを単独で渡すことにより、現在のローカルの日付と時刻をデフォルトの形式で取得できます。
$ date
Mon 19 Apr 2021 12:41:17 PM CDT
ご覧のとおり、dateは、関連する日付と時刻の情報をシンプルで予測可能な形式で提供します。
2.過去または未来の日付を取得します
スクリプトで、ちょうど1週間後の日時を計算する必要があるとします。日付コマンドはあなたをカバーしました。このコマンドを発行するには、 -NS 将来の日付に関連する詳細情報を取得するオプション:
$ date -d 'next week'
Tue 27 Apr 2021 05:21:07 PM CDT
NS -NS 日付の略であるオプションは、日付コマンドが本当に輝くところです。さまざまなカスタム日付文字列を受け入れます。彼らは技術的である可能性があります 20200315 、 03/15/20 、またはのように読むことができます 2020年3月15日 。ただし、次のような相対的な用語を使用することもできます 明日 、 昨日 、 次の日曜日 、 もっと。それをいじって、dateがさまざまな入力文字列をどのように解釈するかを確認してください。
3.日付をフォーマットします
前の2つの例で、日付のデフォルトが非常に特定の時間形式になっていることに気付いたかもしれません。では、別の形式で必要な場合はどうでしょうか。
次のように出力をフォーマットできます printfコマンド 。たとえば、次のコマンドを使用して現在の年を印刷できます。
写真を1つにする方法
date +'Year: %Y'
NS + フォーマットされた文字列が必要であることを通知し、その後、 見積もり マーク、日付が処理され、出力用にフォーマットされます。
使用する可能性が最も高いフォーマット文字のリストは次のとおりです。
文字のフォーマット | 出力 |
---|---|
%NS | 時間(00-24) |
%私 | 時間(01-12) |
%NS | 分(00-59) |
%NS | 2番目(00-60) |
%NS | 午前または午後 |
%に | 平日のフルネーム(例:日曜日) |
%に | 平日の省略名(例:Sun) |
%の | 平日番号(0-6) |
%NS | 月の日(01-31) |
%NS | 年間最優秀日(001-366) |
% NS | 月のフルネーム(例:1月) |
% NS | 月の省略名(例:1月) |
%NS | 月番号(01-12) |
を使用して、書式設定文字の完全なリストを取得できます。 - ヘルプ ターミナルのオプション。
date --help
4.曜日を取得します
日付フォーマットの非常に一般的で実用的な使用法の1つは、特定の日付の曜日を取得することです。たとえば、1995年11月4日の曜日を確認するには、次のようなコマンドを入力します。
$ date -d '1996-04-11' +'%A'
Friday
NS -NS オプションは、特定の日付が必要であることを示します。 '1996-04-11' 文字列は必要な日付を示し、 + '%A' 書式設定は、出力に曜日が必要であることを示します。日付文字列は、ここで指定した形式だけでなく、さまざまな形式にすることができることに注意してください。
5.協定世界時を取得する
発行することにより -u フラグを立てると、協定世界時(UTC)で現在の時刻を取得できます。
$ date -u
Wed 21 Apr 2021 12:46:59 PM UTC
6.別のタイムゾーンで現地時間を出力する
他のタイムゾーンで日付を取得する必要がある場合は、 TZ = dateコマンドの前の環境変数。
たとえば、次のコマンドを使用して、山岳部標準時(MST)で現在の日付と時刻を確認できます。
$ TZ=MST date
Tue 20 Apr 2021 03:45:29 PM MST
あなたの目的のために、単に交換してください MST 好みのタイムゾーンのイニシャルを使用します。 UTC表記を使用することもできます。たとえば、同じタイムゾーンを取得するには、 MST と UTC + 7 。
さらに、大陸と主要都市に名前を付けて、その特定の都市の現地時間を取得することができます。例えば:
$ TZ=America/Phoenix date
Tue 20 Apr 2021 03:45:29 PM MST
7.ファイルの最終変更時刻を取得します
たとえば、バックアップを作成する場合、ファイルの最終変更日を取得する必要があることがよくあります。あなたは渡すことによってこれを行うことができます -NS オプションとファイルの命名。
$ date -r /etc/shadow
Wed 14 Apr 2021 07:53:02 AM CDT
を使用してファイルのタイムスタンプを変更できます Linuxのtouchコマンド 同様に。
8.エポックタイムの出力と変換
からの秒数を計算できます Unixエポック 次のコマンドを使用します。
$ date +%s
1618955631
また、プロセスを逆にして、Unix時間を人間が読める形式に変換することもできます。 -NS オプションと @ キャラクター。
$ date -d @1618955631
Tue 20 Apr 2021 04:53:51 PM CDT
Unix時間の計算は、他のデバイスの同期を確実に維持する正確な秒数が必要な場合に役立ちます。
9.システム時刻を一時的に設定します
日付コマンドを使用して、ターミナルからシステムクロックを変更するには、 -NS 引数の後に必要な時間が続きます。たとえば、次のコマンドを使用して、システムクロックを将来24時間に設定できます。
date -s 'tomorrow'
このコマンドを渡すには、sudo権限が必要であることに注意してください。さらに、ほとんどのディストリビューションは他のユーティリティを使用してシステムクロックを管理し、起動時に変更を上書きするため、変更はおそらく永続的ではありません(つまり、再起動後にクロックが前の時刻に戻ります)。
Linuxの日付コマンドの説明
人生と同じように、Linuxでは時間を逃れることはできません。そのため、dateコマンドを使用してフォーマットおよび使用する方法を理解することが重要です。 Linuxファイル管理で必ず遭遇することの1つは、ファイルに付随するさまざまなタイムスタンプです。
共有 共有 つぶやき Eメール Linuxファイルのタイムスタンプについて:mtime、ctime、およびatimeLinuxがファイルの変更を追跡する方法についてもっと知りたいですか? Linuxファイルのタイムスタンプについて知っておくべきことは次のとおりです。
Macでスクリーンショットを切り抜く方法次を読む 関連トピック
- Linux
- Linuxコマンド
ジョーダンはMUOのスタッフライターであり、誰もがLinuxにアクセスしてストレスを感じさせないようにすることに情熱を注いでいます。彼はまた、プライバシーと生産性に関するガイドを書いています。
ヨルダングローアのその他の作品ニュースレターを購読する
ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。
購読するにはここをクリックしてください