在shell指令碼裡常常需要獲取系統時間來處理某項操作,今天系統的學習了一下如何獲取系統時間。記錄如下:
linux的系統時間在shell裡是可以直接呼叫系統變數的如:
獲取今天時期:`date +%y%m%d` 或 `date +%f` 或 $(date +%y%m%d)
命令輸出結果如下:
# date +%y%m%d
20120727
# date +%f
2012-07-27
# date +%y%m%d
120727
獲取昨天時期:`date -d yesterday +%y%m%d` 也可以寫成`date -d -1day +%y%m%d`
# date -d yesterday +%y%m%d
20120726
# date -d yesterday +%f
2012-07-26
# date -d -1day +%y%m%d
120726
# date -d -1day +%y%m%d
20120726
獲取前天日期:`date -d -2day +%y%m%d`
依次類推比如獲取10天前的日期:`date -d -10day +%y%m%d`
或n天前的 `date -d "n days ago" +%y%m%d`
明天:`date -d tomorrow +%y%m%d`
注意以上中間有空格
至於你需要什麼樣的日期時間格式,就需要應用相關的時間域引數來實現咯
% h 小時(00..23)
% i 小時(01..12)
% k 小時(0..23)
% l 小時(1..12)
% m 分(00..59)
% p 顯示出am或pm
% r 時間(hh:mm:ss am或pm),12小時
% s 從2023年1月1日00:00:00到目前經歷的秒數
% s 秒(00..59)
% t 時間(24小時制)(hh:mm:ss)
% x 顯示時間的格式(%h:%m:%s)
% z 時區 日期域
% a 星期幾的簡稱( sun..sat)
% a 星期幾的全稱( sunday..saturday)
% b 月的簡稱(jan..dec)
% b 月的全稱(january..december)
% c 日期和時間( mon nov 8 14:12:46 cst 1999)
% d 乙個月的第幾天(01..31)
% d 日期(mm/dd/yy)
% h 和%b選項相同
% j 一年的第幾天(001..366)
% m 月(01..12)
% w 乙個星期的第幾天(0代表星期天)
% w 一年的第幾個星期(00..53,星期一為第一天)
% x 顯示日期的格式(mm/dd/yy)
% y 年的最後兩個數字( 1999則是99)
% y 年(例如:1970,1996等)
注意:只有超級使用者才有許可權使用date命令設定時間,一般使用者只能使用date命令顯示時間。
新增乙個練習指令碼,功能:
在每月第一天備份並壓縮/etc目錄的所有內容,存放在/root/bak目錄裡,且檔名為如下形式yymmdd_etc,yy為年,mm為月,dd為日。shell程式fileback存放在/usr/bin目錄下。
#/bin/bash
#filebak
#file executable: chmod 755 filebak
path=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export path
bakdir="/root/bak/"
filename="`date +%y%m%d`_etc.tar.gz"
if [ ! -x "$bakdir" ];then
mkdir $bakdir
fi cd $bakdir
tar cvfz $filename /etc
Shell 實現獲取當前時間
shell 實現獲取當前時間,並進行格式轉換的方法 1 原格式輸出 2018年 09月 30日 星期日 15 55 15 cst time1 date echo time1 2 時間串輸出 1 bin bash 2 time2 date y m d h m s 3 echo time2 3 2018...
shell指令碼如何獲取當前時間
在shell指令碼裡常常需要獲取系統時間來處理某項操作,今天系統的學習了一下如何獲取系統時間。記錄如下 linux的系統時間在shell裡是可以直接呼叫系統變數的如 獲取今天時期 date y m d 或 date f 或 date y m d 命令輸出結果如下 root centi c sh da...
shell 獲取系統時間
在shell指令碼裡常常需要獲取系統時間來處理某項操作,今天系統的學習了一下如何獲取系統時間。記錄如下 linux的系統時間在shell裡是可以直接呼叫系統變數的如 獲取今天時期 date y m d 或 date f 或 date y m d 命令輸出結果如下 root centi c sh da...