Quantcast
Channel: 用户6247957878的博客
Viewing all articles
Browse latest Browse all 9

Linux时钟命令用法及演示

$
0
0
linux时钟

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

date
  • date

      概述

        显示系统时间或以给定的格式显示

        设定系统时间

      语法

        date [OPTION]... [+FORMAT]

        FORMAT:按照给定的格式控制日期及时间的输出

      常用FORMAT

        %F    完整日期格式,等价于 %Y-%m-%d

         %Y    年份

        %m   month (01..12)

        %d    按月计的日期

        %T    时间,等于%H:%M:%S

        %H    小时(00-23)

         %M   minute (00..59)

        %S    秒(00-60)

        %I    小时(00-12)

        %p    当前locale 下的"上午"或者"下午",未知时输出为空

        %r    当前locale 下的 12 小时时钟时间 (如:11:11:04 下午)

        %s UTC 时间 1970-01-01 00:00:00 以来所经过的秒数

      常用选型

        -u, --utc, --universal    print or set Coordinated Universal Time (UTC)

        date [MMDDhhmm[[CC]YY][.ss] :设定时间

        -s ,--set=STRING:根据字符串设定系统时间

        -d,--date=STRING:根据字串描述显示时间,而不是当前时间

  • 命令演示 

    • 利用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 ~]# 
        [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
  • hwclock

      概述

        查看或设置硬件时间 

      语法

        hwclock [function] [option…]

      常用选项

        -s:以硬件为准,把系统调整为与硬件时间相同

        -w:以系统为准,把硬件时间调整为与系统时间相同

  • 命令演示 
    [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 ~]#


 

Viewing all articles
Browse latest Browse all 9

Latest Images

Trending Articles





Latest Images