CentOS下date命令 - 顯示和設置系統日期與時間


顯示系統日期

要顯示系統日期,只要輸入:

$ date
Thu Dec 5 22:55:41 WIB 2013

格式化顯示日期

日期有很多格式。如果你不喜歡默認的格式,你可以換一種格式。你可能會想"為什么我需要改變格式? 默認的輸出對我足夠了。"

是的,你說的對,但是當你在編程時,默認輸出或許無法滿足你的需求,因此需要一些自定義輸出。

RFC 2822 的日期與時間輸出格式

$ date -R
Thu, 05 Dec 2013 23:40:53 +0700

RFC 2822 的格式像這樣 : 星期, 日-月-年, 小時:分鍾:秒 時區

時區 +0700 等同於 GMT +7。

 

使用格式化選項

要自定義你的日期格式, 使用加號 (+)

$ date +”Day : %d Month : %m Year : %Y”
Day: 05 Month: 12 Year: 2013

       % : 印出 %
%n : 下一行
%t : 跳格
%H : 小時(00..23)
%I : 小時(01..12)
%k : 小時(0..23)
%l : 小時(1..12)
%M : 分鍾(00..59)
%p : 顯示本地 AM 或 PM
%r : 直接顯示時間 (12 小時制,格式為 hh:mm:ss [AP]M)
%s : 從 1970 年 1 月 1 日 00:00:00 UTC 到目前為止的秒數
%S : 秒(00..61)
%T : 直接顯示時間 (24 小時制)
%X : 相當於 %H:%M:%S
%Z : 顯示時區

日期方面 :
%a : 星期幾 (Sun..Sat)
%A : 星期幾 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接顯示日期與時間
%d : 日 (01..31)
%D : 直接顯示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第幾天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第幾周 (00..53) (以 Sunday 為一周的第一天的情形)
%w : 一周中的第幾天 (0..6)
%W : 一年中的第幾周 (00..53) (以 Monday 為一周的第一天的情形)
%x : 直接顯示日期 (mm/dd/yy)
%y : 年份的最后兩位數字 (00.99)
%Y : 完整年份 (0000..9999)

 

設置系統日期和時間

通常地,你希望你的系統日期和時間是自動設置的。如果由於一些原因,你想要手動修改它,我們可以使用這個命令。

# date –set=”20140125 09:17:00”

這會設置你當前的系統日期和時間到一月 25, 2014 and 09:17:00 AM。請注意,你必須擁有root特權來這么做。不然你會得到這樣一個錯誤。

date: cannot set date: Operation not permitted
Sat Jan 25 09:17:00 WIB 2014

 

#date -s 修改時間,看下面的例子#date -s 05/16/2010(將系統日期設定為2010年05月16日)

#date -s 12:40:22(將系統時間設定為下午12:40:22)修改完后執行:clock -w ,強制將時間寫入COMS!修改時區:(將Asia/shanghai-上海時區寫入當前時區)

#cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 提示是否覆蓋,輸入Y回車,然后#date 查看時區和時間(CST,中國時區)

 

重置你的時間

如果你希望重置你的系統日期和時間到原始值,你可以用這個技巧。

# hwclock
Fri 06 Dec 2013 03:44:10 AM WIB -0.314082 seconds

這回設置你的系統日期和時間到hwclock命令的輸出的樣子。

在腳本中使用date命令

還記得我之前說為什么你需要改變date的輸出么?一個答案是你或許需要編程。讓我們看下bash腳本下的一個例子。

$ vi display.date

#! /bin/bash
DATETIME=$(date +”DATE: %a %b-%d-%Y TIME: %T WEEK NUMBER: %W”)
echo $DATETIME

保存並運行它:

$ ./display.date
DATE : Fri Dec-06-2013 TIME: 03:08:19 WEEK Number :40

如果你發現權限拒絕錯誤信息,輸入:

$ chmod 755 display.date

在備份流程中使用date

另外一個例子是子你備份流程中使用date。

$ date +%F
2013-12-06

$ tar zcfv /daily_backup/backup-`date +%F`.tar.gz /home/pungki/Documents

它會壓縮文件夾/home/pungki/Documents到一個位於/daily_backup folder的文件backup-2013-12-06.tar.gz中。(譯注:通過“` 命令 `”來在命令行內嵌其它命令,這個字符不是單引號,而是和波浪號~同一個鍵位的那個符號。)

總結

date可能被認為在某些方面不重要。但是date扮演了一個重要的角色。要想知道關於date命令更多的細節,在你的控制台下輸入man date訪問man頁面。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM