Wie erhalte ich Datum und Uhrzeit über die Befehlszeilenschnittstelle?

98

Wie kann ich das aktuelle Datum und die aktuelle Uhrzeit im Terminal abrufen? Ich starte mein System meist im Textmodus (Konsole) und benötige den Befehl, um das aktuelle Datum und die aktuelle Uhrzeit zu kennen.

Sharad Gautam
quelle

Antworten:

173

Der dateBefehl zeigt Ihnen Datum und Uhrzeit an.

man datezeigt Ihnen, wie Sie die Ausgabe auf das gewünschte Format einstellen können, wenn Sie etwas anderes als die Standardausgabe wünschen. Zum Beispiel:

date "+%H:%M:%S   %d/%m/%y"

gibt Datum und Uhrzeit im Format aus 14:09:22 09/06/2015

Eine besser lesbare Version der Manpage finden Sie auf den Ubuntu-Manpages

Carl H
quelle
6
+1 nur um zu sagenman date
jshthornton
Wie kann ich Zeitzonenunterschiede ermitteln?
Ali D.
19

Zeit als Eingabeaufforderung:

PS1="\@ \w$bk"

Sieht so aus: 11:41 ~

Ein bisschen schicker, in Klammern eingeschlossen:

PS1="[ \@ \w$bk ]"

Sieht so aus: [11:36 AM ~]

Fügen Sie den Benutzer und localhost mit der Zeit hinzu, alle in Klammern:

PS1="[ \u on \h \@ \w$bk ]"

Sieht aus wie: [DrPete auf LittleSorrel 10:34 AM ~]

Eingabeaufforderung auf Standard zurücksetzen #: PS1="# "

Um die Eingabeaufforderung dauerhaft verfügbar zu machen, fügen Sie die Eingabeaufforderungszeile Ihrer Wahl hinzu, dh

export PS1="\@ \w$bk "

zu ~ / .profile.

Kann nicht anders, wir rollen jetzt ... füge Farben hinzu, definiere sie in .profile , um sie einfacher einzurichten:

 # Install GNU coreutils
    bk="\[\033[0;38m\]" #means no background and white lines
    txtBlue="\[\033[0;34m\]"   #letter color blue
    txtRed="\[\033[0;31m\]"    #letter color red
    txtCyan="\[\033[1;36m\]"   #letter color cyan
    txtWhite="\[\033[1;37m\]"  #letter color white
    txtYellow="\[\033[1;33m\]" #letter color yellow

Dann wäre eine farbenprächtige Eingabeaufforderung:

PS1="[ $txtYellow\u on $txtCyan\h $txtRed\@ $txtWhite\w$bk ]"
drPete
quelle
sehr gute antwort =) aber ein bisschen kurz.
AB
Meine erste Antwort - so dass ich jetzt keine Jungfrau mehr bin - wie erweitern, Erzählung oder Link zur CLI-Eingabeaufforderung?
drPete
Wie kann ich das dauerhaft machen, z.
AB
einfach exportieren @AB Clevere Antwort BTW :)
Sharad Gautam
1
Bessere Antwort = mehr Upvotes
AB
16

Es gibt eine Liste von Befehlen, die für Uhrzeit und Datum verwendet werden:

  1. Der Befehl date

    $ date 
    Tue Jun  9 18:04:30 EEST 2015
    
  2. Der Befehl zdump, mit dem die Zeit in einer bestimmten Zeitzone wiedergegeben wird.

    $ zdump EEST
    EEST  Tue Jun  9 15:05:17 2015 EEST
    
  3. hwclock

    $ sudo hwclock
    Tue 09 Jun 2015 06:05:55 PM EEST  -0.656710 seconds
    
  4. uhr muss aber xview-clients installieren

    sudo apt-get install xview-clients
    
  5. mit ntpdateBefehl. ntpdatewird zum Einstellen der Systemzeit verwendet, aber bei Verwendung von ohne sudowerden nur Uhrzeit und Datum gedruckt.

    $ ntpdate
    
    26 Jun 10:48:34 ntpdate[4748]: no servers can be used, exiting
    
Maythux
quelle
11

Mit Ubuntu 15.04 (systemd) gibt es auch timedatectlwelche, die dir die Zeit anzeigt und es dir erlaubt, sie und mehr zu ändern man timedatectl.

Ohne Argumente gibt es

% timedatectl
Warnung: Die TZ-Variable wird ignoriert. Nur die Zeitzoneneinstellung des Systems lesen.

      Ortszeit: ke 2015-06-10 10:31:59 EEST
  Weltzeit: ke 2015-06-10 07:31:59 UTC
        RTC-Zeit: ke 2015-06-10 07:31:59
       Zeitzone: Europe / Helsinki (EEST, +0300)
     NTP aktiviert: ja
NTP synchronisiert: ja
 RTC in lokaler TZ: nein
      Sommerzeit aktiv: ja
 Letzte Sommerzeitumstellung: Die Sommerzeit begann um
                  am 2015-03-29 02:59:59 EET
                  so 29.03.2015 04:00:00 EEST
 Nächste Sommerzeitumstellung: Die Sommerzeit endet um (die Uhr springt eine Stunde zurück)
                  so 25.10.2015 03:59:59 EEST
                  so 25.10.2015 03:00:00 EET

Und eine andere nette Funktion, die ich verwendet habe, ist timedatectl set-ntp truedie, systemd-timesyncddie den eingebauten SNTP-Client (Simple Network Time Protocol) aktiviert, der Ihre Uhr mit dem Remote-Server synchronisiert.

Mikaela
quelle
1
$ timedatectlFunktioniert auch hier auf Ubuntu 14.04.
Türknauf
8

Obwohl alle Antworten hier korrekt sind, müssen Sie den dateBefehl manuell verwenden, um die Zeit zu sehen, wann immer Sie möchten, und die Ausgabe wird mit der normalen Ausgabe Ihres Befehls gemischt. Dies ist meistens in Ordnung, aber manchmal ist es nicht praktikabel.

Sie können der Eingabeaufforderung den Befehl date hinzufügen, der jedes Mal, wenn die Shell für den Befehl bereit ist, eine (feste) Uhr anzeigt, oder Sie können einen Terminal-Multiplexer mit einer Statuszeile verwenden. Mein bevorzugter Bildschirm (obwohl ich den ältesten zugebe) ist der GNU-Bildschirm.

In der Konsole oder in einem Terminal, sagen wir über ssh, wenn Sie den Bildschirm verwenden , haben Sie die Möglichkeit , unter zig verschiedenen Dingen, die Sie tun können (ich dachte früher, dass es screenfür die Arbeit unvermeidlich ist, wenn ich nur ein Textterminal hatte) --- das ist Normalerweise in der Standardkonfiguration --- mit einer Uhr in der Statuszeile:

Bildschirm auf einem Terminal

(Der Screenshot befindet sich auf einem virtuellen Terminal, ist jedoch auf einer virtuellen Konsole identisch).

Rmano
quelle
1
Byobu (das sich um den Bildschirm dreht) macht das auch sofort. Just FYI
Sergiy Kolodyazhnyy
4

Gibt auch das Datum und die Uhrzeit aus:

sudo hwclock

Genauer:

man hwclock
Joker
quelle
Kurz aber fein!
Sharad Gautam,
1

Da Python nicht erwähnt wurde, werde ich es hier rauswerfen:

$ python -c 'import time;print(time.asctime(time.localtime()))'                                                                       
Tue Nov 29 20:25:27 2016

So funktioniert es ganz einfach:

  • Wir importieren timeModul
  • localtime()Die Funktion liefert dem structDatentyp alle benötigten Informationen wie Uhrzeit, Tag, Jahr usw.
  • asctime() wandelt all diese Informationen in einen String um und wir drucken ihn schön formatiert aus

Funktioniert in Python 2 und 3 gleichermaßen.

Sergiy Kolodyazhnyy
quelle
0

Wenn Sie suchen sometting wie YYYYMMDDHHMMSS , 20160804020100 Verwendung dieses:

date +%Y%m%d%H%M%S

Es dient den meisten Zwecken wie Dateisicherung oder Protokollfilterung.

Computerfreak
quelle
2
Willkommen bei AskUbuntu. Während diese Antwort versucht, die gestellte Frage zu lösen, wurde die Lösung bereits von mehreren anderen Benutzern in der Antwort erwähnt. Persönlich finde ich diese Antwort nicht hilfreich. Bitte verbessern Sie Ihren Beitrag
Sergiy Kolodyazhnyy
0

Wenn Sie sich über die Genauigkeit der Systemuhr nicht sicher sind oder eine externe Zeitquelle verwenden möchten, können Sie die Uhrzeit über das Internet abrufen. Um die bestmögliche Genauigkeit zu sntperzielen, können Sie Folgendes verwenden (standardmäßig unter MacOS installiert und Teil der NTP-Distributionen), um das Datum zu ermitteln:

sntp pool.ntp.org 

Wenn Sie nur über einen Webzugriff auf das Internet verfügen, kann dieser über HTTP mit HTP abgerufen werden, das auf vielen Systemen verfügbar ist, da htpdatenormalerweise nur eine sekundengenaue Genauigkeit vorliegt , oder Sie können mit TLS (das den Zeitstempel aus dem TLS extrahiert) darauf zugreifen Austausch), tlsdatedie eine bessere Genauigkeit bieten können:

tlsdate -nV ntp.org
Pierz
quelle