【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時間






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