如何在终端中获取当前日期/时间。我主要以文本(控制台)模式启动系统,并且需要命令来知道当前日期/时间。
如何在终端中获取当前日期/时间。我主要以文本(控制台)模式启动系统,并且需要命令来知道当前日期/时间。
Answers:
时间作为命令行提示符:
PS1="\@ \w$bk"
看起来像:上午11:41〜
包括在方括号中的一些鸽友:
PS1="[ \@ \w$bk ]"
看起来像:[11:36 AM〜]
将用户和本地主机以及时间添加到方括号中:
PS1="[ \u on \h \@ \w$bk ]"
看起来像:[DrPete在LittleSorrel上午10:34〜]
将提示重置为默认编号: 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
然后,彩色的提示将是:
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
时钟
$ 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 警告:忽略TZ变量。仅读取系统的时区设置。 当地时间:ke 2015-06-10 10:31:59 EEST 通用时间:ke 2015-06-10 07:31:59 UTC RTC时间:ke 2015-06-10 07:31:59 时区:欧洲/赫尔辛基(EEST,+ 0300) 启用NTP:是 NTP已同步:是 本地TZ中的RTC:否 DST有效:是 DST的最新更改:DST开始于 su 2015-03-29 02:59:59 EET su 2015-03-29 04:00:00东部 下次DST更改:DST在以下时间结束(时钟向后跳一小时) su 2015-10-25 03:59:59东部 su 2015-10-25 03:00:00 EET
我使用的另一个不错的功能是timedatectl set-ntp true
激活systemd-timesyncd
内置的SNTP(简单网络时间协议)客户端,该客户端将您的时钟与远程服务器同步。
$ timedatectl
在Ubuntu 14.04上也可以正常工作。
尽管此处的所有答案都是正确的,但您仍需要date
手动使用命令查看时间,并且输出将与命令的正常输出混合。这通常可以,但有时不可行。
您可以将date命令添加到提示符下,每次shell准备使用该命令时都会显示一个(固定)时钟,或者您可以使用带有状态行的终端多路复用器之一。我最喜欢的一个(尽管我承认是最早的一个)是GNU屏幕。
在控制台或终端中,通过ssh
,如果您使用screen,您可以通过无数种不同的方式(我以前认为screen
只有文本终端时无法避免的工作方式)说出---通常在默认配置下-在状态行中有一个时钟:
(屏幕快照在虚拟终端上,但在虚拟控制台上相同)。
没有提及python,因此在这里将其丢弃:
$ python -c 'import time;print(time.asctime(time.localtime()))'
Tue Nov 29 20:25:27 2016
它的工作方式非常简单:
time
模块localtime()
函数为struct
数据类型提供所需的所有信息,例如一天中的时间,天,年等。asctime()
将所有信息转换为字符串,然后将其打印出格式正确的文件 在python 2和3中都可以使用。
如果您正在寻找像YYYYMMDDHHMMSS之类的东西,请使用20160804020100 ,请使用以下方法:
date +%Y%m%d%H%M%S
它可以满足大多数目的,例如文件备份或日志过滤。
man date