Linuxシステムの日付を変更するには?
私は変更したい:
- ちょうど1年
- たった一ヶ月
- 日付のみ
- 上記の3つを組み合わせてみてください。
答え1
使用date -s
:
date -s '2014-12-25 12:34:56'
年/月/日の1つだけをルートまたはに変更することはsudo
より難しく、現在の日付のビットを繰り返す必要があります。また、通常、時計を介してアクセスする主要なデスクトップ環境に組み込まれたGUI日付ツールもあります。
時間の一部のみを変更するには、日付文字列にコマンド置換を使用できます。
date -s "2014-12-25 $(date +%H:%M:%S)"
日付は変更されますが、時間は保持されます。バラよりman date
他の組み合わせを構成するために詳細形式を指定するために使用されます。個々のコンポーネントは%Y
、、、、およびです。%m
%d
%H
%M
%S
答え2
システム時間
これを使用してdate
システム日付を設定できます。 GNUの実装date
(組み込まれていないほとんどの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 --hctosys
またはハードウェア時計のシステム時間
hwclock --systohc
答え3
命じるシステム日付の変更はい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
制限されたユーザーによって実行されるため、日付は変更されません$
。日付を本当に変更するには、ルート(#
)または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')"
これらのいずれかを%
有効な値に置き換えると、日付が設定されます(ルートのみ)。
$ 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を使用してください。そして世紀:
$ date 112308121982
date: cannot set date: Operation not permitted
Tue Nov 23 08:12:00 EST 1982
答え4
2022年12月現在:
あなたはできますNTP同期を無効にする今後実際の日付の変更:
sudo timedatectl set-ntp 0
sudo timedatectl set-time "2022-12-03 $(date +%H:%M:%S)"
これ以上日付を変更する必要がない場合は、NTP同期を再度有効にしてシステム日付を自動的に更新する必要があります。
sudo timedatectl set-ntp 1