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:
date
Komenda pokaże datę i czas.
man date
pokaż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 zdump
uż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ą ntpdate
polecenia. ntpdate
służy do ustawienia czasu systemowego, ale użycie bez sudo
spowoduje 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, timedatectl
któ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 true
aktywacja systemd-timesyncd
wbudowanego klienta SNTP (Simple Network Time Protocol), który synchronizuje zegar ze zdalnym serwerem.
$ timedatectl
działa również dobrze na Ubuntu 14.04.
Chociaż wszystkie odpowiedzi tutaj są poprawne, musisz użyć date
polecenia 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ć screen
jako 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:
time
modułlocaltime()
funkcja podaje struct
typ 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ż htpdate
zwykle 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), tlsdate
które mogą zapewnić lepszą dokładność:
tlsdate -nV ntp.org
man date