1. 程式人生 > >linux命令中的date

linux命令中的date

在編寫一個監控linux磁碟使用情況的指令碼中,需要給出當天的資訊提示,當使用到指令碼date的時候,由於好久沒用過此命令了,導致指令碼執行中斷,在此複習下此命令。

當時在指令碼用的是這樣的命令:

[[email protected] hbk]# date %Y_%m_%d
date: 無效的日期"%Y_%m_%d"

在命令列中運行了下才知道,這個是錯的,需要加上一個加號。

[[email protected] hbk]# date +%Y_%m_%d
2018_12_03

開啟幫助文件,具體複習了以下。

[[email protected]
hbk]# date --help 用法:date [選項]... [+格式]  或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] Display the current time in the given FORMAT, or set the system date. Mandatory arguments to long options are mandatory for short options too. -d, --date=STRING display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE -I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format. TIMESPEC='date' for date only (the default), 'hours', 'minutes', 'seconds', or 'ns' for date and time to the indicated precision. -r, --reference=檔案 顯示檔案指定檔案的最後修改時間 -R, --rfc-2822 以RFC 2822格式輸出日期和時間 例如:2006年8月7日,星期一 12:34:56 -0600 --rfc-3339=TIMESPEC output date and time in RFC 3339 format. TIMESPEC='date', 'seconds', or 'ns' for date and time to the indicated precision. Date and time components are separated by a single space: 2006-08-07 12:34:56-06:00 -s, --set=STRING set time described by STRING -u, --utc, --universal print or set Coordinated Universal Time (UTC) --help 顯示此幫助資訊並退出 --version 顯示版本資訊並退出 給定的格式FORMAT 控制著輸出,解釋序列如下: %% 一個文字的 % %a 當前locale 的星期名縮寫(例如: 日,代表星期日) %A 當前locale 的星期名全稱 (如:星期日) %b 當前locale 的月名縮寫 (如:一,代表一月) %B 當前locale 的月名全稱 (如:一月) %c 當前locale 的日期和時間 (如:2005年3月3日 星期四 23:05:25) %C 世紀;比如 %Y,通常為省略當前年份的後兩位數字(例如:20) %d 按月計的日期(例如:01) %D 按月計的日期;等於%m/%d/%y %e 按月計的日期,新增空格,等於%_d %F 完整日期格式,等價於 %Y-%m-%d %g ISO-8601 格式年份的最後兩位 (參見%G) %G ISO-8601 格式年份 (參見%V),一般只和 %V 結合使用 %h 等於%b %H 小時(00-23) %I 小時(00-12) %j 按年計的日期(001-366) %k hour, space padded ( 0..23); same as %_H %l hour, space padded ( 1..12); same as %_I %m month (01..12) %M minute (00..59) %n 換行 %N 納秒(000000000-999999999) %p 當前locale 下的"上午"或者"下午",未知時輸出為空 %P 與%p 類似,但是輸出小寫字母 %r 當前locale 下的 12 小時時鐘時間 (如:11:11:04 下午) %R 24 小時時間的時和分,等價於 %H:%M %s 自UTC 時間 1970-01-01 00:00:00 以來所經過的秒數 %S 秒(00-60) %t 輸出製表符 Tab %T 時間,等於%H:%M:%S %u 星期,1 代表星期一 %U 一年中的第幾周,以週日為每星期第一天(00-53) %V ISO-8601 格式規範下的一年中第幾周,以週一為每星期第一天(01-53) %w 一星期中的第幾日(0-6),0 代表週一 %W 一年中的第幾周,以週一為每星期第一天(00-53) %x 當前locale 下的日期描述 (如:12/31/99) %X 當前locale 下的時間描述 (如:23:13:48) %y 年份最後兩位數位 (00-99) %Y 年份 %z +hhmm 數字時區(例如,-0400) %:z +hh:mm 數字時區(例如,-04:00) %::z +hh:mm:ss 數字時區(例如,-04:00:00) %:::z 數字時區帶有必要的精度 (例如,-04,+05:30) %Z 按字母表排序的時區縮寫 (例如,EDT) 預設情況下,日期的數字區域以0 填充。 The following optional flags may follow '%': - (hyphen) do not pad the field _ (underscore) pad with spaces 0 (zero) pad with zeros ^ use upper case if possible # use opposite case if possible 在任何標記之後還允許一個可選的域寬度指定,它是一個十進位制數字。 作為一個可選的修飾宣告,它可以是E,在可能的情況下使用本地環境關聯的 表示方式;或者是O,在可能的情況下使用本地環境關聯的數字符號。