问题描述
我怎样才能在终端获得当前的日期/时间。我主要以文本(控制台)模式启动我的系统,并需要命令来了解当前的日期/时间。
最佳解决方法
date
命令将显示日期和时间。
man date
将向您展示如何将输出控制为您需要的任何格式,如果您想要的不是标准输出。例如:
date "+%H:%M:%S %d/%m/%y"
将以格式14:09:22 09/06/2015
输出日期和时间
可以在Ubuntu Man Pages上找到更易于阅读的手册页
次佳解决方法
时间作为命令行提示符:
PS1="\@ \w$bk"
看起来像:11:41 AM〜
一个小鸽友,括在括号内:
PS1="[ \@ \w$bk ]"
看起来像:[11:36 AM〜]
用括号括起来的时间添加用户和本地主机:
PS1="[ \u on \h \@ \w$bk ]"
看起来像:[DrPete on LittleSorrel 10:34 AM〜]
将提示重置为默认值#:PS1="# "
要使提示永久可用,请添加您选择的提示行,即,
export PS1="\@ \w$bk "
〜/.profile。
无法帮助它,我们现在正在滚动…添加颜色,在.profile中定义它们以使它们更易于设置:
# 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
然后一个superfancy彩色提示将是:
PS1="[ $txtYellow\u on $txtCyan\h $txtRed\@ $txtWhite\w$bk ]"
第三种解决方法
有一个用于时间和日期的命令列表:
-
命令
date
$ date Tue Jun 9 18:04:30 EEST 2015
-
命令
zdump
用于在指定的时区回显时间。$ 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
-
时钟,但需要安装xview-clients
sudo apt-get install xview-clients
-
使用
ntpdate
命令。ntpdate
用于设置系统时间,但在没有sudo
的情况下使用时只会打印时间和日期。$ ntpdate 26 Jun 10:48:34 ntpdate[4748]: no servers can be used, exiting
第四种方法
有了Ubuntu 15.04(systemd),还有timedatectl
可以显示你的时间,并允许你在man timedatectl
中进行更改。
没有它提供的论据
% timedatectl
Warning: Ignoring the TZ variable. Reading the system's time zone setting only.
Local time: ke 2015-06-10 10:31:59 EEST
Universal time: ke 2015-06-10 07:31:59 UTC
RTC time: ke 2015-06-10 07:31:59
Time zone: Europe/Helsinki (EEST, +0300)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
su 2015-03-29 02:59:59 EET
su 2015-03-29 04:00:00 EEST
Next DST change: DST ends (the clock jumps one hour backwards) at
su 2015-10-25 03:59:59 EEST
su 2015-10-25 03:00:00 EET
另一个很好的功能是我使用的是timedatectl set-ntp true
,它激活了systemd-timesyncd
,它是内建的SNTP(简单网络时间协议)客户端,可将您的时钟与远程服务器同步。
第五种方法
尽管这里的所有答案都是正确的,但您需要手动使用date
命令来查看所需时间,并且输出将与命令的正常输出混合使用。这大多好,但有时并不实际。
您可以使用添加时间戳到终端提示?,每次shell准备好执行命令时都会显示(固定)时钟,或者您可以使用其中一个具有状态行的终端多路复用器。我的首选(尽管我承认最老的一个)是GNU屏幕。
在控制台或终端中,比如说通过ssh
,如果你使用screen,在不同的things you can do(我曾经认为screen
是不可避免的,因为我只有一个文本终端的时候工作)的众多节点中,你可以选择—这是正常的在默认配置中 – 在状态行中有一个时钟:
(屏幕截图位于虚拟终端上,但在虚拟控制台上也是如此)。
第六种方法
也会输出日期和时间:
sudo hwclock
更详细:
man hwclock
参考资料