当前位置: 首页>>技术问答>>正文


如何使用命令行界面获取日期和时间?

,

问题描述

我怎样才能在终端获得当前的日期/时间。我主要以文本(控制台)模式启动我的系统,并需要命令来了解当前的日期/时间。

最佳解决方法

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 ]"

第三种解决方法

有一个用于时间和日期的命令列表:

  1. 命令date

    $ date 
    Tue Jun  9 18:04:30 EEST 2015
    
  2. 命令zdump用于在指定的时区回显时间。

    $ 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. 时钟,但需要安装xview-clients

    sudo apt-get install xview-clients
    
  5. 使用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是不可避免的,因为我只有一个文本终端的时候工作)的众多节点中,你可以选择—这是正常的在默认配置中 – 在状态行中有一个时钟:

command-line,ubuntu

(屏幕截图位于虚拟终端上,但在虚拟控制台上也是如此)。

第六种方法

也会输出日期和时间:

sudo hwclock

更详细:

man hwclock

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/992.html,未经允许,请勿转载。