linux時鐘
linux時鐘分為系統(tǒng)時鐘和硬件時鐘官脓。
系統(tǒng)時鐘是指當前l(fā)inux kernel中的時鐘,而硬件時鐘則是主板上由電池供電的時鐘,這個硬件時鐘可以在BIOS中進行設(shè)置。
當linux啟動時,從硬件時鐘讀取時鐘妻坝;讀取完成以后,就不再與硬件關(guān)聯(lián)
系統(tǒng)時鐘的查看設(shè)置通過date命令惊窖,硬件時鐘的查看設(shè)置通過hwclock命令
date
-
命令演示
- 利用format格式自定義輸出系統(tǒng)時間
- 指定時間輸出的格式刽宪,顯示當前系統(tǒng)時間,格式有很多種界酒,本次主要列出常用的(如上圖)作為演示圣拄,其它format可以man date進行查看及學(xué)習(xí)
- 本次演示也會展示一些常出錯的寫法,請多多留意
[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: 額外的操作數(shù) "+%H:%M:%S"
[root@localhost ~]# date +%Y-%m-%d %H:%M:%S
date: 額外的操作數(shù) "%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]:設(shè)置時間
- 這種方式每部分的時間表示必須是兩位數(shù)值毁欣,如MM表示1月庇谆,必須是01;且數(shù)值是有范圍的
- 這種方式有嚴格的順序要求凭疮,不能夠顛倒順序表示時間
- 由于以上兩種限制饭耳,通常用這種方式來同時設(shè)置全部時間(月日時分年秒)
[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 ,根據(jù)字符串設(shè)定系統(tǒng)時間:設(shè)置時間
- 若設(shè)置時間的字串中沒有符號"-" "/" ":"
- 只能單獨設(shè)置年月日执解,一共占8個或6個字符
順序為年月日寞肖,年占4或2個字符,月和日各占2個字符衰腌,如05年新蟆,0不能省略;05月0不能省略右蕊,05日0不能省略琼稻;設(shè)置2005年5月5日,date -s 050505或20050505尤泽。此時時分秒變?yōu)槿?欣簇。 - 只能單獨設(shè)置小時分鐘,一共占3個或4個字符
順序為小時分鐘坯约,且小時占1或2個字符熊咽,分鐘2個字符;如5或05表示5時闹丐;設(shè)置5時05分横殴,date -s 505或0505 - 年月日和小時分鐘一起設(shè)置,兩者中間需用空格分開卿拴,此時不能設(shè)置秒數(shù)
- 只能單獨設(shè)置年月日执解,一共占8個或6個字符
- 若設(shè)置時間字串中使用"-" "/" ":"
- 對于"-" "/"用于年月日衫仑,順序分別為年-月-日,月/日/年堕花;此時年占2或4個字符文狱,月和日可以是1或2個字符,如設(shè)置2007年06月05日缘挽,date -s [20]07-[0]6-[0]5瞄崇,date -s [0]6/[0]5/[20]07。此時時分秒變?yōu)槿?壕曼。
- 對于":"用于設(shè)置時分秒苏研,每部分可以是1或2個字符表示。
- 年月日和小時分鐘一起設(shè)置腮郊,兩者中間需用空格分開摹蘑。
[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: 無法設(shè)置日期: 無效的參數(shù)
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: 無法設(shè)置日期: 無效的參數(shù)
[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: 無法設(shè)置日期: 無效的參數(shù)
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轧飞,根據(jù)字符串顯示時間衅鹿,而不是當前時間
- STRING,非常靈活过咬,可以通過字符串指定顯示過去或?qū)淼哪骋粫r間塘安,如年、月援奢、分鐘兼犯、分鐘、秒集漾、星期等
- 可以和FORMAT格式一起使用切黔,以指定的格式輸出非當前時間
- STRING,也可以和-s設(shè)置時間的字符串使用具篇,如: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
命令演示
[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 ~]#