Jak mogę uzyskać aktualną datę / godzinę w terminalu. Najczęściej uruchamiam system w trybie tekstowym (konsoli) i potrzebuję polecenia, aby poznać aktualną datę / godzinę.
Jak mogę uzyskać aktualną datę / godzinę w terminalu. Najczęściej uruchamiam system w trybie tekstowym (konsoli) i potrzebuję polecenia, aby poznać aktualną datę / godzinę.
Odpowiedzi:
dateKomenda pokaże datę i czas.
man datepokaże ci, jak kontrolować wyjście do dowolnego formatu, którego potrzebujesz, jeśli chcesz czegoś innego niż standardowe wyjście. Na przykład:
date "+%H:%M:%S %d/%m/%y"
wyświetli datę i godzinę w formacie 14:09:22 09/06/2015
Łatwiejszą do odczytania wersję strony podręcznika można znaleźć na stronach podręcznika Ubuntu
Czas jako wiersz polecenia:
PS1="\@ \w$bk"
Wygląda na: 11:41 ~
Trochę bardziej fantazyjny, zamknięty w nawiasach:
PS1="[ \@ \w$bk ]"
Wygląda na: [11:36 ~]
Dodaj użytkownika i hosta lokalnego wraz z czasem, wszystko w nawiasach:
PS1="[ \u on \h \@ \w$bk ]"
Wygląda jak: [DrPete na LittleSorrel 10:34 AM ~]
Resetuj monit do domyślnego #: PS1="# "
Aby monit był stale dostępny, dodaj wybrany wiersz zachęty, tj.
export PS1="\@ \w$bk "
do ~ / .profile.
Nic na to nie poradzimy, toczymy się teraz ... dodaj kolory, zdefiniuj je w .profile, aby ułatwić ich konfigurację:
# 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
Wtedy podpowiedź w kolorze superfancy byłaby:
PS1="[ $txtYellow\u on $txtCyan\h $txtRed\@ $txtWhite\w$bk ]"
Istnieje lista poleceń używanych dla godziny i daty:
Komenda date
$ date
Tue Jun 9 18:04:30 EEST 2015
Polecenie zdumpużywane do echa czasu w określonej strefie czasowej.
$ zdump EEST
EEST Tue Jun 9 15:05:17 2015 EEST
hwclock
$ sudo hwclock
Tue 09 Jun 2015 06:05:55 PM EEST -0.656710 seconds
zegar, ale musi zainstalować klientów xview
sudo apt-get install xview-clients
za pomocą ntpdatepolecenia. ntpdatesłuży do ustawienia czasu systemowego, ale użycie bez sudospowoduje wydrukowanie godziny i daty.
$ ntpdate
26 Jun 10:48:34 ntpdate[4748]: no servers can be used, exiting
W Ubuntu 15.04 (systemd) jest też informacja, timedatectlktóra pokazuje czas i pozwala go zmienić i nie tylko man timedatectl.
Bez argumentów daje
% timedatectl
Ostrzeżenie: ignorowanie zmiennej TZ. Czytanie tylko strefy czasowej systemu.
Czas lokalny: ke 10.06.2015 10:31:59 EEST
Czas uniwersalny: ke 10.06.2015 07:31:59 UTC
Czas RTC: ke 10.06.2015 07:31:59
Strefa czasowa: Europa / Helsinki (EEST, +0300)
Włączone NTP: tak
Zsynchronizowany NTP: tak
RTC w lokalnym TZ: nie
Aktywny czas letni: tak
Ostatnia zmiana czasu letniego: czas letni rozpoczął się o godz
su 2015-03-29 02:59:59 EET
su 2015-03-29 04:00:00 EEST
Następna zmiana czasu letniego: czas letni kończy się (zegar przeskakuje o godzinę do tyłu) o godz
su 2015-10-25 03:59:59 EEST
su 2015-10-25 03:00:00 EET
Kolejną miłą funkcją, której użyłem, jest timedatectl set-ntp trueaktywacja systemd-timesyncdwbudowanego klienta SNTP (Simple Network Time Protocol), który synchronizuje zegar ze zdalnym serwerem.
$ timedatectldziała również dobrze na Ubuntu 14.04.
Chociaż wszystkie odpowiedzi tutaj są poprawne, musisz użyć datepolecenia ręcznie, aby zobaczyć czas w dowolnym momencie, a dane wyjściowe zmieszają się z normalnym wynikiem polecenia. Jest to w większości ok, ale czasami nie jest praktyczne.
Możesz dodać komendę date do monitu, który będzie wyświetlał (stały) zegar za każdym razem, gdy powłoka jest gotowa na komendę, lub możesz użyć jednego z multiplekserów terminali, które mają linię statusu. Moim preferowanym (choć przyznaję, że najstarszym) jest ekran GNU.
W konsoli lub w terminalu, powiedzmy za pośrednictwem ssh, jeśli używasz ekranu , między zillions różnych rzeczy można zrobić (użyłem myśleć screenjako nieunikniony do pracy kiedy właśnie terminal tekstowy) masz opcję --- co jest zwykle w domyślnej konfiguracji --- posiadania zegara w linii statusu:
(Zrzut ekranu znajduje się na wirtualnym terminalu, ale jest taki sam na wirtualnej konsoli).
Wyświetli również datę i godzinę:
sudo hwclock
Bardziej szczegółowe:
man hwclock
Nie było wzmianki o pytonie, więc wyrzucę to tutaj:
$ python -c 'import time;print(time.asctime(time.localtime()))'
Tue Nov 29 20:25:27 2016
Sposób działania jest dość prosty:
timemodułlocaltime()funkcja podaje structtyp danych ze wszystkimi potrzebnymi informacjami, takimi jak pora dnia, dzień, rok itp.asctime() konwertuje wszystkie te informacje na ciąg, a my drukujemy je ładnie sformatowane Działa zarówno w Pythonie 2, jak i 3.
jeśli szukasz czegoś takiego jak RRRRMMDDGGMMSS , 20160804020100 użyj tego:
date +%Y%m%d%H%M%S
obsługuje większość celów, takich jak tworzenie kopii zapasowych plików lub filtrowanie dzienników.
Jeśli nie masz pewności co do dokładności zegara systemowego lub chcesz użyć zewnętrznego źródła czasu, możesz uzyskać czas przez Internet. Aby uzyskać najlepszą dokładność, możesz użyć sntp(instalowany domyślnie w systemie MacOS i dostarczany jako część dystrybucji NTTP), aby uzyskać datę:
sntp pool.ntp.org
Jeśli masz dostęp do Internetu tylko wtedy, możesz go uzyskać przez HTTP za pomocą HTP, który jest dostępny w wielu systemach, ponieważ htpdatezwykle ma dokładność z dokładnością do najbliższej sekundy, lub możesz uzyskać do niego dostęp za pomocą TLS (który wyodrębnia znacznik czasu z TLS wymiany), tlsdatektóre mogą zapewnić lepszą dokładność:
tlsdate -nV ntp.org
man date