GNU/Linux >> Linux の 問題 >  >> Linux

Linux:コマンドラインから日付を設定

date -s を使用 :

date -s '2014-12-25 12:34:56'

それをルートとして、または sudo の下で実行します .年/月/日のうちの 1 つだけを変更することはより困難であり、現在の日付の一部を繰り返す必要があります。主要なデスクトップ環境に組み込まれている GUI 日付ツールもあり、通常は時計を介してアクセスされます。

時刻の一部のみを変更するには、日付文字列でコマンド置換を使用できます:

date -s "2014-12-25 $(date +%H:%M:%S)"

日付は変わりますが、時間は守ります。 man date を参照 詳細をフォーマットして他の組み合わせを構築する場合:個々のコンポーネントは %Y です 、 %m%d%H%M 、および %S .


システム時間

date を使用できます システム日付を設定します。 date の GNU 実装 (ほとんどの組み込みでない Linux ベースのシステムに見られるように) 時刻を設定するためのさまざまな形式を受け入れます。いくつかの例を以下に示します:

年のみを設定:

date -s 'next year'
date -s 'last year'

月のみを設定:

date -s 'last month'
date -s 'next month'

曜日のみ設定:

date -s 'next day'
date -s 'tomorrow'
date -s 'last day'
date -s 'yesterday'
date -s 'friday'

すべて一緒に設定:

date -s '2009-02-13 11:31:30' #that's a magical timestamp

ハードウェア時間

これでシステム時刻が設定されましたが、ハードウェア クロックと同期させたい場合があります:

--show を使用 ハードウェア時間を出力するには:

hwclock --show

ハードウェア クロックを現在のシステム時刻に設定できます:

hwclock --systohc

またはシステム時刻をハードウェア クロックに

hwclock --hctosys

システムの日付を変更するコマンド date です .

date コマンドを呼び出す方法は 2 つあります (Linux の場合):

   date [OPTION]... [+FORMAT]
   date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

簡単

最も簡単な方法は date -s を使用することです シンプルを使用できるため 親戚 日付

 $ date -s yesterday; date
 date: cannot set date: Operation not permitted
 Sat Jan  5 07:21:07 EST 2019
 Sun Jan  6 07:21:07 EST 2019

限られたユーザー$で実行したため、日付は変わりませんでした .実際に日付を変更したい場合は、root (# を使用) ) または sudo:

 $ sudo date -s yesterday; date
 Sat Jan  5 07:21:07 EST 2019
 Sat Jan  5 07:21:07 EST 2019

したがって、相対の任意の部分を変更する 日付は名前を付けるのと同じくらい簡単です:

 $ date -s "5 years ago"
 Mon Jan  6 08:26:26 EST 2014

 $ date -s "+6 months"
 Sat Jul  6 08:28:39 EDT 2019

 $ date -s "+3 hours -13 minutes"
 Sun Jan  6 11:16:59 AST 2019

絶対日付は詳細が必要なため、もう少し複雑です:

 $ date -s "2001-07-23 10:11:12"

または、date コマンドを 2 回使用することもできます:

 $ date -s "$(date +'%Y-%m-%d %H:%M:%S')"

% のいずれかを置き換えます 有効な値によって日付が設定されます (root としてのみ)。

 $ date -s "$(date +'%Y-11-%d %H:%M:%S')"
 Wed Nov  6 08:37:15 EST 2019

ダイレクト

2 番目の日付の電話フォームは、直接に使用されます システムの日付を変更してください。

 date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

だから:

 date 11230812              # MMDDhhmm

日付を 11 月 23 日の 08 時 12 分に設定します。

BSD にも同様のコマンドがありますが、形式が異なります ([[[[[cc]yy]mm]dd]HH]MM[.ss])。

date を試す 制限付きユーザーとして、(何も変更せずに) 何をするかを確認します:

 $ date 11230812
 date: cannot set date: Operation not permitted
 Sat Nov 23 08:12:00 EST 2019

または、実際に日付を変更したい場合は、root として:

 # date 11230812
 # date
 Sat Nov 23 08:12:00 EST 2019

NTP や chrony などのサービスが影響を受けることに注意してください。また、再起動すると、日付が実際の日付にリセットされます。

YY を追加して年を設定します:

 $ date 1123081222
 date: cannot set date: Operation not permitted
 Wed Nov 23 08:12:00 EST 2022

または年を設定する CCYY and 世紀:

 $ date 112308121982
 date: cannot set date: Operation not permitted
 Tue Nov 23 08:12:00 EST 1982

Linux
  1. Linuxコマンドラインに関する8つのヒント

  2. Linux コマンドラインまたはターミナルでプロキシ設定を設定する方法

  3. コマンドラインによるタイムゾーン変換

  1. Linuxコマンドラインで牛を飼う

  2. Linuxコマンドラインにアクセスしてください

  3. Linuxでの8つのクイック日付コマンドの例

  1. 7 システムの日付時刻を表示および設定するLinux Dateコマンドの例

  2. 7 ハードウェア クロックの日付時刻を設定する Linux hwclock コマンドの例

  3. Linux での date コマンドの例