美文网首页Linux学习之路
Linux时钟命令用法及演示

Linux时钟命令用法及演示

作者: 香吉矢 | 来源:发表于2017-08-23 21:19 被阅读0次
    linux时钟

    linux时钟分为系统时钟和硬件时钟。
      系统时钟是指当前linux kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。
      当linux启动时,从硬件时钟读取时钟;读取完成以后,就不再与硬件关联
      系统时钟的查看设置通过date命令,硬件时钟的查看设置通过hwclock命令

    date
    • image.png
    • 命令演示

      • 利用format格式自定义输出系统时间
      1. 指定时间输出的格式,显示当前系统时间,格式有很多种,本次主要列出常用的(如上图)作为演示,其它format可以man date进行查看及学习
      2. 本次演示也会展示一些常出错的写法,请多多留意
         
        [root@localhost ~]# date
        2017年 07月 26日 星期三 19:09:51 CST
        [root@localhost ~]# date %F
        date: 无效的日期"%F"
        [root@localhost ~]# date +%F
        2017-07-26
        [root@localhost ~]# date +%Y
        2017
        [root@localhost ~]# date +%m
        07
        [root@localhost ~]# date +%d
        26
        [root@localhost ~]# date +%T
        19:11:01
        [root@localhost ~]# date +%H
        19
        [root@localhost ~]# date +%M
        11
        [root@localhost ~]# date +%S
        20
        [root@localhost ~]# date +%Y/+%m/+%d
        2017/+07/+26
        [root@localhost ~]# date +%m/%d/%Y
        07/26/2017
        [root@localhost ~]# date +%Y-%m-%d
        2017-07-26
        [root@localhost ~]# date +%Y@%m@%d
        2017@07@26
        [root@localhost ~]# date +%Y*%m*%d
        2017*07*26
        [root@localhost ~]# date +%T
        19:14:36
        [root@localhost ~]# date +%H-%M-%S
        19-14-39
        [root@localhost ~]# date +%H:%M:%S
        19:14:54
        [root@localhost ~]# date +%Y-%m-%d +%H:%M:%S
        date: 额外的操作数 "+%H:%M:%S"
        [root@localhost ~]# date +%Y-%m-%d %H:%M:%S
        date: 额外的操作数 "%H:%M:%S"
        [root@localhost ~]# date "+%Y-%m-%d +%H:%M:%S"
        2017-07-26 +19:15:45
        [root@localhost ~]# date "+%Y-%m-%d %H:%M:%S"
        2017-07-26 19:15:52
        [root@localhost ~]# date "+%F %T"
        2017-07-26 19:16:10
        [root@localhost ~]# date +%s
        1499188107
        [root@localhost ~]# date +%I%p
        07下午
        [root@localhost ~]# date "+%P %I:%H:%S"
        下午 07:19:24
        [root@localhost ~]# date +%r
        下午 07时45分05秒
        [root@localhost ~]# date +%T
        19:47:04
        [root@localhost ~]#
      • date [MMDDhhmm[[CC]YY][.ss]:设置时间
      1. 这种方式每部分的时间表示必须是两位数值,如MM表示1月,必须是01;且数值是有范围的
      2. 这种方式有严格的顺序要求,不能够颠倒顺序表示时间
      3. 由于以上两种限制,通常用这种方式来同时设置全部时间(月日时分年秒)
         
        [root@localhost ~]# date
        2017年 07月 26日 星期三 19:20:35 CST
        [root@localhost ~]# date 0715101015.40
        2015年 07月 15日 星期三 10:10:40 CST
        [root@localhost ~]# date 073210102015.40
        date: 无效的日期"073210102015.40"
        [root@localhost ~]# date 0715101020153234.40
        date: 无效的日期"0715101020153234.40"
        [root@localhost ~]# date 07151010234322015.40
        date: 无效的日期"07151010234322015.40"
        [root@localhost ~]# date 0715101015.61
        date: 无效的日期"0715101015.61"
        [root@localhost ~]# date 715101015.40
        date: 无效的日期"715101015.40"
        [root@localhost ~]# date 075101015.40
        date: 无效的日期"075101015.40"
        [root@localhost ~]# date 070511015.40
        date: 无效的日期"070511015.40"
        [root@localhost ~]# date 0705011015.40
        2015年 07月 05日 星期日 01:10:40 CST
        [root@localhost ~]# date 070501215.40
        date: 无效的日期"070501215.40"
        [root@localhost ~]# date 0705010215.40
        2015年 07月 05日 星期日 01:02:40 CST
        [root@localhost ~]# date 070501007.40
        date: 无效的日期"070501007.40"
        [root@localhost ~]# date 0705010007.40
        2007年 07月 05日 星期四 01:00:40 CST
        [root@localhost ~]# date 0705010017.1
        date: 无效的日期"0705010017.1"
        [root@localhost ~]# date 0705010017.01
        2017年 07月 05日 星期三 01:00:01 CST
      • date -s ,根据字符串设定系统时间:设置时间
      1. 若设置时间的字串中没有符号"-" "/" ":"
        • 只能单独设置年月日,一共占8个或6个字符
          顺序为年月日,年占4或2个字符,月和日各占2个字符,如05年,0不能省略;05月0不能省略,05日0不能省略;设置2005年5月5日,date -s 050505或20050505。此时时分秒变为全0。
        • 只能单独设置小时分钟,一共占3个或4个字符
          顺序为小时分钟,且小时占1或2个字符,分钟2个字符;如5或05表示5时;设置5时05分,date -s 505或0505
        • 年月日和小时分钟一起设置,两者中间需用空格分开,此时不能设置秒数
      2. 若设置时间字串中使用"-" "/" ":"
        • 对于"-" "/"用于年月日,顺序分别为年-月-日,月/日/年;此时年占2或4个字符,月和日可以是1或2个字符,如设置2007年06月05日,date -s [20]07-[0]6-[0]5,date -s [0]6/[0]5/[20]07。此时时分秒变为全0。
        • 对于":"用于设置时分秒,每部分可以是1或2个字符表示。
        • 年月日和小时分钟一起设置,两者中间需用空格分开。
           
           [root@localhost ~]# date -s 050607
          2005年 06月 07日 星期二 00:00:00 CST
          [root@localhost ~]# date -s 980607
          1998年 06月 07日 星期日 00:00:00 CST
          [root@localhost ~]# date -s 20980607
          2098年 06月 07日 星期六 00:00:00 CST
          [root@localhost ~]# date -s 50607
          date: 无法设置日期: 无效的参数
          0005年 06月 07日 星期二 00:00:00 LMT
          [root@localhost ~]# date
          2098年 06月 07日 星期六 00:00:21 CST
          [root@localhost ~]# date -s 05607
          date: 无效的日期"05607"
          [root@localhost ~]# date -s 05067
          date: 无效的日期"05067"
          [root@localhost ~]# date -s 050607
          2005年 06月 07日 星期二 00:00:00 CST
          [root@localhost ~]#
          [root@localhost ~]# date -s 0607
          2005年 06月 07日 星期二 06:07:00 CST
          [root@localhost ~]# date -s 607
          2005年 06月 07日 星期二 06:07:00 CST
          [root@localhost ~]# date -s 067
          date: 无效的日期"067"
          [root@localhost ~]# date -s 67
          date: 无效的日期"67"
          [root@localhost ~]#
          [root@localhost ~]# date -s "050607 0102"
          2005年 06月 07日 星期二 01:02:00 CST
          [root@localhost ~]# date -s "050607 102"
          2005年 06月 07日 星期二 01:02:00 CST
          [root@localhost ~]# date -s "20050607 102"
          2005年 06月 07日 星期二 01:02:00 CST
          [root@localhost ~]#
          [root@localhost ~]# date -s 05-06-07
          2005年 06月 07日 星期二 00:00:00 CST
          [root@localhost ~]# date -s 2005-06-07
          2005年 06月 07日 星期二 00:00:00 CST
          [root@localhost ~]# date -s 98-06-07
          1998年 06月 07日 星期日 00:00:00 CST
          [root@localhost ~]# date -s 2098-06-07
          2098年 06月 07日 星期六 00:00:00 CST
          [root@localhost ~]# date -s 8-06-07
          date: 无法设置日期: 无效的参数
          [root@localhost ~]# date -s 05-6-7
          2005年 06月 07日 星期二 00:00:00 CST
          [root@localhost ~]#
          [root@localhost ~]# date -s 05/06/07
          2007年 05月 06日 星期日 00:00:00 CST
          [root@localhost ~]# date -s 05/06/2007
          2007年 05月 06日 星期日 00:00:00 CST
          [root@localhost ~]# date -s 05/06/98
          1998年 05月 06日 星期三 00:00:00 CST
          [root@localhost ~]# date -s 05/06/2098
          2098年 05月 06日 星期二 00:00:00 CST
          [root@localhost ~]# date -s 5/6/7
          date: 无法设置日期: 无效的参数
          0007年 05月 06日 星期日 00:00:00 LMT
          [root@localhost ~]# date -s 5/6/07
          2007年 05月 06日 星期日 00:00:00 CST
          [root@localhost ~]#
          [root@localhost ~]# date -s 10:11:12
          2007年 05月 06日 星期日 10:11:12 CST
          [root@localhost ~]# date -s 05:06:07
          2007年 05月 06日 星期日 05:06:07 CST
          [root@localhost ~]# date -s 5:06:07
          2007年 05月 06日 星期日 05:06:07 CST
          [root@localhost ~]# date -s 5:6:07
          2007年 05月 06日 星期日 05:06:07 CST
          [root@localhost ~]# date -s 5:6:7
          2007年 05月 06日 星期日 05:06:07 CST
          [root@localhost ~]# date -s 5:6:
          date: 无效的日期"5:6:"
          [root@localhost ~]# date -s 5:6
          2007年 05月 06日 星期日 05:06:00 CST
          [root@localhost ~]# date -s 5:
          date: 无效的日期"5:"
          [root@localhost ~]# date -s 5
          2007年 05月 06日 星期日 05:00:00 CST
          [root@localhost ~]# date -s 5:04:7
          2007年 05月 06日 星期日 05:04:07 CST
          [root@localhost ~]# date
          2017年 07月 30日 星期日 21:06:58 CST
          [root@localhost ~]# date -u
          2017年 07月 30日 星期日 13:07:01 UTC
          [root@localhost ~]#
      • date -d,--date=STRING,根据字符串显示时间,而不是当前时间
        • STRING,非常灵活,可以通过字符串指定显示过去或将来的某一时间,如年、月、分钟、分钟、秒、星期等
        • 可以和FORMAT格式一起使用,以指定的格式输出非当前时间
        • STRING,也可以和-s设置时间的字符串使用,如:date -d 150727,显示2016年7月27日,就知道是星期几。
           
          [root@localhost ~]# date
          2017年 07月 30日 星期日 21:15:20 CST
          [root@localhost ~]# date -d "+1 day"
          2017年 07月 31日 星期一 21:15:31 CST
          [root@localhost ~]# date -d "-1 day"
          2017年 07月 29日 星期六 21:15:36 CST
          [root@localhost ~]# date -d "+1 month"
          2017年 08月 30日 星期三 21:16:55 CST
          [root@localhost ~]# date -d "-1 month"
          2017年 06月 30日 星期五 21:17:04 CST
          [root@localhost ~]# date -d "-1 hour"
          2017年 07月 30日 星期日 20:17:14 CST
          [root@localhost ~]# date -d "+10 hour"
          2017年 07月 31日 星期一 07:17:30 CST
          [root@localhost ~]# date
          2017年 07月 30日 星期日 21:16:00 CST
          [root@localhost ~]# date -d "+1 minute"
          2017年 07月 30日 星期日 21:17:11 CST
          [root@localhost ~]# date -d "-1 minute"
          2017年 07月 30日 星期日 21:15:19 CST
          [root@localhost ~]# date
          2017年 07月 30日 星期日 21:18:19 CST
          [root@localhost ~]# date -d "-10 second"
          2017年 07月 30日 星期日 21:18:17 CST
          [root@localhost ~]# date -d "+1 year"
          2018年 07月 30日 星期一 21:17:51 CST
          [root@localhost ~]# date -d "-10 year"
          2007年 07月 30日 星期一 21:18:05 CST
          [root@localhost ~]# date -d tomorrow
          2017年 07月 31日 星期一 21:28:10 CST
          [root@localhost ~]# date -d yesterday
          2017年 07月 29日 星期六 21:28:37 CST
          [root@localhost ~]# date -d last-month
          2017年 06月 30日 星期五 21:28:46 CST
          [root@localhost ~]# date -d "last month"
          2017年 06月 30日 星期五 21:29:08 CST
          [root@localhost ~]# date -d next-month
          2017年 08月 30日 星期三 21:29:23 CST
          [root@localhost ~]# date -d " 1 day ago"
          2017年 07月 29日 星期六 21:29:39 CST
          [root@localhost ~]# date -d " 3 day ago"
          2017年 07月 27日 星期四 21:29:55 CST
          [root@localhost ~]# date +%F -d "+10 year"
          2027-07-30
          [root@localhost ~]# date +%T -d "+10 minute"
          21:30:06
          [root@localhost ~]#
          [root@localhost ~]# date -d monday
          2017年 07月 31日 星期一 00:00:00 CST
          [root@localhost ~]# date -d tues
          2017年 08月 01日 星期二 00:00:00 CST
          [root@localhost ~]# date -d wed
          2017年 08月 02日 星期三 00:00:00 CST
          [root@localhost ~]# date -d thur
          2017年 08月 03日 星期四 00:00:00 CST
          [root@localhost ~]# date -d fri
          2017年 08月 04日 星期五 00:00:00 CST
          [root@localhost ~]# date -d "last fri"
          2017年 07月 28日 星期五 00:00:00 CST
          [root@localhost ~]# date -d "nov 13"
          2017年 11月 13日 星期一 00:00:00 CST
          [root@localhost ~]# date -d "jun 13"
          2017年 06月 13日 星期二 00:00:00 CST
          [root@localhost ~]# date -d 080909
          2008年 09月 09日 星期二 00:00:00 CST
    hwclock
    • image.png
    • 命令演示
      [root@localhost ~]# hwclock
      2017年07月30日 星期日 21时51分51秒 -0.131554 秒
      [root@localhost ~]#
      [root@localhost ~]# date
      2017年 07月 30日 星期日 21:52:05 CST
      [root@localhost ~]# date -s "170630 1020"
      2017年 06月 30日 星期五 10:20:00 CST
      [root@localhost ~]# date
      2017年 06月 30日 星期五 10:20:02 CST
      [root@localhost ~]# hwclock -s
      [root@localhost ~]# date
      2017年 07月 30日 星期日 21:52:59 CST
      [root@localhost ~]# hwclock -w
      [root@localhost ~]# hwclock
      d2017年07月30日 星期日 21时53分45秒 -0.553512 秒
      [root@localhost ~]# date
      2017年 07月 30日 星期日 21:53:45 CST
      [root@localhost ~]#

    相关文章

      网友评论

        本文标题:Linux时钟命令用法及演示

        本文链接:https://www.haomeiwen.com/subject/wmvjdxtx.html