GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux:Datum über die Befehlszeile festlegen

Verwenden Sie date -s :

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

Führen Sie das als root oder unter sudo aus . Das Ändern von nur einem Jahr/Monat/Tag ist eine größere Herausforderung und erfordert das Wiederholen von Bits des aktuellen Datums. Es gibt auch GUI-Datumstools, die in die wichtigsten Desktop-Umgebungen integriert sind und normalerweise über die Uhr aufgerufen werden.

Um nur einen Teil der Zeit zu ändern, können Sie die Befehlsersetzung in der Datumszeichenfolge verwenden:

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

ändert das Datum, behält aber die Uhrzeit bei. Siehe man date für Formatierungsdetails, um andere Kombinationen zu konstruieren:Die einzelnen Komponenten sind %Y , %m , %d , %H , %M , und %S .


Systemzeit

Sie können date verwenden um das Systemdatum einzustellen. Die GNU-Implementierung von date (wie auf den meisten nicht eingebetteten Linux-basierten Systemen zu finden) akzeptiert viele verschiedene Formate, um die Zeit einzustellen, hier ein paar Beispiele:

Stellen Sie nur das Jahr ein:

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

nur den Monat einstellen:

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

nur den Tag einstellen:

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

alles zusammen einstellen:

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

Hardwarezeit

Jetzt ist die Systemzeit eingestellt, aber Sie möchten sie vielleicht mit der Hardware-Uhr synchronisieren:

Verwenden Sie --show um die Hardwarezeit auszudrucken:

hwclock --show

Sie können die Hardware-Uhr auf die aktuelle Systemzeit stellen:

hwclock --systohc

Oder die Systemzeit zur Hardwareuhr

hwclock --hctosys

Der Befehl, das Systemdatum zu ändern ist date .

Es gibt zwei Möglichkeiten, den date-Befehl (unter Linux) aufzurufen:

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

Einfach

Der einfachste Weg ist die Verwendung von date -s da es die Verwendung von einfach erlaubt Verwandter Termine

 $ 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

Das Datum hat sich nicht geändert, da es mit einem eingeschränkten Benutzer $ ausgeführt wurde . Wenn Sie das Datum tatsächlich ändern möchten, verwenden Sie root (# ) oder sudo:

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

Also das Ändern eines Teils eines Verwandten date ist so einfach wie es zu benennen:

 $ 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

Absolute Datumsangaben sind etwas komplexer, da sie mehr Details erfordern:

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

Oder Sie können den date-Befehl zweimal verwenden:

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

Ersetzen Sie einen der % durch einen gültigen Wert und das Datum wird gesetzt (nur als root).

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

direkt

Das zweite Date-Call-Formular wird direkt verwendet Systemdatum ändern.

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

Also :

 date 11230812              # MMDDhhmm

Stellt das Datum auf den 23. November um 08:00 Uhr und 12:00 Uhr ein.

BSD hat einen ähnlichen Befehl, aber ein anderes Format ([[[[[cc]yy]mm]dd]HH]MM[.ss]).

Versuchen Sie es mit date als eingeschränkter Benutzer sehen, was es tun würde (ohne etwas zu ändern):

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

Oder, wenn Sie das Datum tatsächlich ändern möchten, als root:

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

Beachten Sie, dass Dienste wie NTP oder Chrony betroffen sind. Und bei einem Neustart wird das Datum auf das tatsächliche Datum zurückgesetzt.

Fügen Sie ein YY hinzu, um das Jahr festzulegen:

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

Oder ein CCYY zum Einstellen von Jahr und Jahrhundert:

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

Linux
  1. 8 Tipps für die Linux-Kommandozeile

  2. 8 Beispiele für schnelle Datumsbefehle in Linux

  3. So legen Sie Proxy-Einstellungen in der Linux-Befehlszeile oder im Terminal fest

  4. Zeitzonenkonvertierung per Befehlszeile

  5. Stellen Sie die Debian-Linux-Zeitzone über die Befehlszeile ein

Diff-Befehl unter Linux

Meistern Sie die Linux-Befehlszeile

Grundlagen der Linux-Befehlszeile:sudo

7 Beispiele für Datumsbefehle in Linux

Beispiele für Linux-Datumsbefehle

12 Nützliche Beispiele für Linux-Datumsbefehle