【Linux命令详解】1、日期和时间—(date、cal、hwclock和clock)

1、日期和时间

      本节主要学习在Linux系统下查看日期和时间的相关命令,这些命令有date、cal、hwclock和clock等。

1.1   date:显示和设置系统日期和时间

        使用date命令可以显示和设置计算机系统的日期和时间。只有 超级用户root才有权限使用date命令设置日期和时间而 一般用户只能使用date命令 显示日期和时间。

1.1.1命令语法:

date[选项][显示时间格式](以+开头后面接格式)

1.1.2命令参数:

命令中各选项的含义如<表1.01>所示。

                                                  <表1.0.1> date命令选项含义

选项  选项含义
-d<字符串>显示指定字符串所描述的时间而非当前时间
-s<字符串>设置指定字符串来分开时间
-r<文件>显示文件指定文件的最后修改时间
-u输出或者设置协调的通用时间
-f<日期文件>从日期文件中按行读入时间描述

    在显示日期时间时可以使用时间域时间域的含义如<表1.02>

                                                <表1.02> 时间域含义

时间域时间域含义
%H小时00~23
%I小时01~12
%k小时0~23
%1小时1~12
%M分00~59
%p显示是上午或者下午
%r时间12小时制
%s从1970年1月1日0点到目前经历的秒数
%S秒00~59
%T时间24小时制hh:mm:ss
%X显示时间的格式%H时%M分%S秒
%Z按字母表排序的时区缩写
%a星期名缩写
%A星期名全称
%b月名缩写
%B月名全称
%c日期和时间
%d按月计的日期00~31
%D日期mm/dd/yy)
%h和%b选项相同
%j一年的第几天001~366
%m月份01~12
%w一个星期的第几天0代表星期天
%W一年的第几个星期00~53星期一为第一天
%x显示日期的格式
%y年份的最后两个数字1999则是99
%Y年份比如1998、2015等
%C世纪通常为省略当前年份的后两位数字
%U一年中的第几周以周日为每星期第一天
%e按月计的日期添加空格等于%_d


1.1.3示范案例:

例1:显示当前计算机系统上的日期和时间

[root@localhost ~]# date

Fri Aug 21 16:35:10 CST 2015

//这里的CST是指中国标准时间北京时间


例2:设置计算机日期和时间为2028年2月2日19点14分

[root@localhost~]# date 0202191428

Wed Feb  2 19:14:00 CST 2028

[root@localhost ~]# date 

Wed Feb  2 19:14:10 CST 202

 //查看当前系统日期和时间设置后的值生效


例3:按照指定的格式显示计算机日期和时间

[root@localhost~]# date +'%r%a%d%h%y'

04:38:38 PMMon24Aug15


例4:设置计算机的时间为上午10点18分

[root@localhost~]# date -s 10:18:00

Mon Aug 24 10:18:00 CST 2015


例5:设置计算机时间为2028年10月1日

[root@localhost~]# date -s 281001

Sun Oct  1 00:00:00 CST 2028


1.2 cal:显示日历信息

      用于查看日历等时间信息如只有一个参数则表示年份(1-9999)如有两个参数则表示月份和年份

1.2.1命令语法:

cal [参数][月份][年份]

1.2.2命令参数:

选项选项含义
-1显示一个月的月历
-3显示系统前一个月当前月下一个月的月历
-s显示星期天为一个星期的第一天默认的格式
-m显示星期一为一个星期的第一天
-j 显示在当年中的第几天一年日期按天算从1月1号算起默认显示当前月在一年中的天数
-y 显示当前年份的日历

1.2.3使用实例:

实例1:显示当前月份日历

[root@localhost ~]# cal

     August 2015

Su Mo Tu We Th Fr Sa

                   1

 2  3  4  5  6  7  8

 9 10 11 12 13 14 15

16 17 18 19 20 21 22

23 24 25 26 27 28 29

30 31


实例2:显示指定月份的日历

[root@localhost ~]# cal 8 2016

     August 2016    

Su Mo Tu We Th Fr Sa

    1  2  3  4  5  6

 7  8  9 10 11 12 13

14 15 16 17 18 19 20

21 22 23 24 25 26 27

28 29 30 31


实例3:显示2018年日历

[root@localhost ~]# cal 2018

                               2018                               

       January               February                 March       

Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa

    1  2  3  4  5  6                1  2  3                1  2  3

 7  8  9 10 11 12 13    4  5  6  7  8  9 10    4  5  6  7  8  9 10

14 15 16 17 18 19 20   11 12 13 14 15 16 17   11 12 13 14 15 16 17

21 22 23 24 25 26 27   18 19 20 21 22 23 24   18 19 20 21 22 23 24

28 29 30 31            25 26 27 28            25 26 27 28 29 30 31

        April                   May                   June        

Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa

 1  2  3  4  5  6  7          1  2  3  4  5                   1  2

 8  9 10 11 12 13 14    6  7  8  9 10 11 12    3  4  5  6  7  8  9

15 16 17 18 19 20 21   13 14 15 16 17 18 19   10 11 12 13 14 15 16

22 23 24 25 26 27 28   20 21 22 23 24 25 26   17 18 19 20 21 22 23

29 30                  27 28 29 30 31         24 25 26 27 28 29 30

        July                  August                September     

Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa

 1  2  3  4  5  6  7             1  2  3  4                      1

 8  9 10 11 12 13 14    5  6  7  8  9 10 11    2  3  4  5  6  7  8

15 16 17 18 19 20 21   12 13 14 15 16 17 18    9 10 11 12 13 14 15

22 23 24 25 26 27 28   19 20 21 22 23 24 25   16 17 18 19 20 21 22

29 30 31               26 27 28 29 30 31      23 24 25 26 27 28 29

                                              30

       October               November               December      

Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa

    1  2  3  4  5  6                1  2  3                      1

 7  8  9 10 11 12 13    4  5  6  7  8  9 10    2  3  4  5  6  7  8

14 15 16 17 18 19 20   11 12 13 14 15 16 17    9 10 11 12 13 14 15

21 22 23 24 25 26 27   18 19 20 21 22 23 24   16 17 18 19 20 21 22

28 29 30 31            25 26 27 28 29 30      23 24 25 26 27 28 29

                                              30 31


实例4:显示自1月1日的天数

[root@localhost ~]# cal -j

        August 2015        

Sun Mon Tue Wed Thu Fri Sat

                        213

214 215 216 217 218 219 220

221 222 223 224 225 226 227

228 229 230 231 232 233 234

235 236 237 238 239 240 241

242 243


实例5:星期一显示在第一列

[root@localhost ~]# cal -m

     August 2015    

Mo Tu We Th Fr Sa Su

                1  2

 3  4  5  6  7  8  9

10 11 12 13 14 15 16

17 18 19 20 21 22 23

24 25 26 27 28 29 30

31


1.3 hwclock:查看和设置硬件时钟

      使用hwclock命令可以查看和设置硬件时钟(RTC),可以显示现在时钟,调整硬件时钟,将系统时间设置成与硬件时钟一致,或是把系统时间回存到硬件时钟。

1.3.1命令语法:

      hwclock[选项]

1.3.2命令参数:

选项选项含义
-D
调试模式
-s把系统时间设置成和硬件时钟一致。由于这个动作将会造成系统全面更新文件的缓存时间,所以最好在系统启动时就执行它。
-r读取并显示硬件时钟
-w使用当前系统时间设置硬件时钟
-test仅作测试,并不真的将时间写入硬件时钟
-u把硬件时钟设置为UTC
-c定期比较系统时钟与CMOS时钟


1.3.3使用实例:

例1:查看硬件当前时间

[root@localhost ~]# hwclock 

2015年08月22日 星期六 18时04分31秒 -0.704214 seconds


例2:以系统时间更新硬件时间

[root@localhost ~]# date

Sun Oct  1 01:59:47 CST 2028

[root@localhost ~]# hwclock -w

[root@localhost ~]# hwclock

Sun 01 Oct 2028 02:00:18 AM CST  -0.902862 seconds


例3:查看版本信息

[root@localhost ~]# hwclock -v

hwclock from util-linux-ng 2.17.2


例4:以硬件时间更新系统时间

[root@localhost ~]# hwclock -s


1.4 clock:用于调整 RTC 时间

RTC 是电脑内建的硬件时间,执行这项指令可以显示现在时刻,调整硬件时钟的时间,将系统时间设成与硬件时钟之时间一致,或是把系统时间回存到硬件时钟。


1.4.1命令语法:

clock [--adjust][--debug][--directisa][--getepoch][--hctosys][--set --date="<日期时间>"][--setepoch --epoch=< >][--show][--systohc][--test][--utc][--version]


1.4.2参数选项:

  •    --adjust  第一次使用"--set"或"--systohc"参数设置硬件时钟会在/etc目录下产生一个名称为adjtime的文件。当再次使用这两个参数调整硬件时钟此文件便会记录两次调整间之差异日后执行clock指令加上"--adjust"参数时程序会自动根 据记录文件的数值差异计算出平均值自动调整硬件时钟的时间。 

  •  --debug  详细显示指令执行过程便于排错或了解程序执行的情形。 

  •  --directisa  告诉clock指令不要通过/dev/rtc设备文件直接对硬件时钟进行存取。这个参数适用于仅有ISA总线结构的老式电脑。 

  •  --getepoch  把系统核心内的硬件时钟新时代数值呈现到标准输出设备。 

  •  --hctosys  Hardware Clock to System Time把系统时间设成和硬件时钟一致。由于这个动作将会造成系统全面更新文件的存取时间所以最好在系统启动时就执行它。 

  •  --set--date  设置硬件时钟的日期和时间。 

  •  --setepoch--epoch=<年份>   设置系统核心之硬件时钟的新时代数值年份以四位树字表示。 

  •  --show  读取硬件时钟的时间并将其呈现至标准输出设备。 

  •  --systohc  System Time to Hardware Clock将系统时间存回硬件时钟内。 

  •  --test  仅作测试并不真的将时间写入硬件时钟或系统时间。 

  •  --utc  把硬件时钟上的时间时为CUT有时也称为UTC或UCT。 

  •  --version  显示版本信息。

1.4.3实例:

获取当前的时间

# clock //获取当前的时间


显示UTC时间

# clock -utc //显示UTC时间






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章