1. 程式人生 > >shell 中 date的用法

shell 中 date的用法

1. 獲取離今天的上週  上月  下週 下月的日期

date -d "-1 week" "+%Y%m%d %A"
date -d "1 day" "+%Y%m%d %A"

date -d "2 day" "+%Y%m%d %A"

 date -d "-1 month" "+%Y%m%d %A"

 date -d "1 month" "+%Y%m%d %A"
2. date '+%Y-%m-%d %H:%M' -d '-10 minute'

     之前的第10分鐘

3. date的用法:

3./usr/bin/stat -c %y  filename

[[email protected]

conf]$ /usr/bin/stat -c %Y /home/a/search/nfs/tanx/adzoneinfo.tdbm.done
1342054262

4. shell 中的date  常用方法

(2). date 基本用法

$ a=`date +"%Y-%m-%d %H:%M:%S"`
 echo $a
2012-07-30 09:31:41

5. date  unix   時間戳  和 字串的轉換

6. 昨天的元月日表示:

#!/bin/bash

SRC_ERR_LOG=/home/a/share/nginx/logs/error.log
SRC_ACC_LOG=/home/a/share/nginx/logs/proxy-reload.log
DST_LOG_ROOT="/home/a/share/nginx/logs/cronolog"

YEAR_MON=$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
YEAR_MON_DAY=$(date -d "yesterday" +"%Y-%m-%d")

DST_ERR_LOG=${DST_LOG_ROOT}/${YEAR_MON}/${YEAR_MON_DAY}-error_log
DST_ACC_LOG=${DST_LOG_ROOT}/${YEAR_MON}/${YEAR_MON_DAY}-proxy-reload_log

mkdir -p ${DST_LOG_ROOT}/${YEAR_MON}
chown ads ${DST_LOG_ROOT} -R

mv ${SRC_ERR_LOG} ${DST_ERR_LOG}
mv ${SRC_ACC_LOG} ${DST_ACC_LOG}

kill -USR1 `cat /home/a/share/nginx/logs/nginx-proxy.pid`

gzip -c ${DST_ERR_LOG} > ${DST_ERR_LOG}.gz
rm ${DST_ERR_LOG}
gzip -c ${DST_ACC_LOG} > ${DST_ACC_LOG}.gz
rm ${DST_ACC_LOG}

chown ads ${DST_ERR_LOG}.gz
chown ads ${DST_ACC_LOG}.gz

7. 1分鐘 1小時  1天 1周 1月  1年前的時間:

echo $(date -d "1 minute ago" +"%Y-%m-%d %H:%M:%S") 
2012-11-02 21:03:44
 echo $(date -d "1 hours ago" +"%Y-%m-%d %H:%M:%S")       
2012-11-02 20:05:16
echo $(date -d "1 days ago" +"%Y-%m-%d %H:%M:%S")     
2012-11-01 21:05:22
echo $(date -d "1 week ago" +"%Y-%m-%d %H:%M:%S")    
2012-10-26 21:05:27
 echo $(date -d "1 months ago" +"%Y-%m-%d %H:%M:%S")      
2012-10-02 21:05:39

1分鐘  1小時  1天  1周  1月 1年
 echo $(date -d "1 minute " +"%Y-%m-%d %H:%M")
2012-11-02 21:09
echo $(date -d "1 hours " +"%Y-%m-%d %H:%M")         
2012-11-02 22:08
echo $(date -d "1 days " +"%Y-%m-%d %H:%M")     
2012-11-03 21:08
 echo $(date -d "1 month " +"%Y-%m-%d %H:%M")     
2012-12-02 21:08
echo $(date -d "1 year " +"%Y-%m-%d %H:%M")     
2013-11-02 21:08

重用的簡單格式:
echo $(date +%s)
1351861770
 echo $(date +%F)
2012-11-02
 echo $(date +%D)
11/02/12

8. date 各種時間之間的轉化:

date -d "@1354021141 " +"%Y-%m-%d %H:%M"
2012-11-27 20:59

date -d "2012-11-27 20:59:00" +%s
1354021140

date -d "2012-11-27 20:59:00" +%F
2012-11-27




相關推薦

shelldate用法

顯示年月日 date +%F 2018-12-15 指定日期往後推三天 a=date -d "20160508 3 days" "+%Y%m%d" echo $a 輸出結果為 20160511 以今天為基礎,向後推一天 (今天20181215) a=date +%Y%m%d --da

shell date用法

1. 獲取離今天的上週  上月  下週 下月的日期 date -d "-1 week" "+%Y%m%d %A" date -d "1 day" "+%Y%m%d %A" date -d "2 day" "+%Y%m%d %A" date -d "-1 month"

Linuxdate用法

date1、命令:date2、命令功能:date 可以用來顯示或設定系統的日期與時間。3、命令參數-d<字符串>:顯示字符串所指的日期與時間。字符串前後必須加上雙引號; -s<字符串>:根據字符串來設置日期與時間。字符串前後必須加上雙引號; -u:顯示GMT; --help:在線幫助;

shelldate命令對month進行加減操作的bug

在大部分情況下這個命令執行正確。但是有些情況下這個命令會出現問題,比如當前日期是3月30、3月31、5月31等的時候,上面的命令得到的結果還是當月,而不是我們期望的上月。 這個問題是怎麼產生的呢?比如噹噹前日期是5月31時,-1 month它只是將月份-1,就得到4月31,但是實際上4月只有30天,所以

shellIFS用法

 一 IFS的介紹   Shell 指令碼中有個變數叫IFS(Internal Field Seprator) ,內部域分隔符。完整定義是The shell uses the value stored in IFS, which is the space, tab, a

shell source 用法

source命令: source命令也稱為“點命令”,也就是一個點符號(.)。source命令通常用於重新執行剛修改的初始化檔案,使之立即生效,而不必登出並重新登入。 用法:  source filename 或 . filename source命令除了上述的用途之外,還有一個另外一個用途。在對編譯系統核

linux shell sed用法

轉自:http://www.360doc.com/content/16/1118/16/38309198_607576538.shtml 一, 基本概述 (1)基本介紹 sed是一款流編輯工具,用來對文字進行過濾與替換工作,  sed通過輸入讀取檔案內容,但一次僅

shellcut用法簡介

cut是以每一行為一個處理物件的,這種機制和sed是一樣的。(關於sed的入門文章將在近期釋出) 1、 cut一般以什麼為依據呢? 也就是說,我怎麼告訴cut我想定位到的剪下內容呢? cut命令主要是接受三個定位方法: 第一,位元組(bytes),用選項-b 第二

關於shell return用法解釋(轉)

1、return命令會使得一個函式返回.return命令會返回一個單一的數字引數, 而這個數字引數在呼叫這個函式的指令碼中是可見的.如果沒有指定返回引數,return在預設情況下會返回上一次命令的返回程式碼。 2、瞭解一個概念:return value ﹗ 我們在 shell

linux bash shellfor的用法and示例

bash shell腳本中for的用法關於linux bash shell中的for語句 在linux中shell是必不可少的一部分,但是在bash shell中有while,for,until等循環命令,今天就介紹一下關於for的一些用法。文中任何錯誤希望大佬們一一指出,不勝感激。bash sh

Shell的Wget 的用法

shell wgetWget 的用法 -V 版本信息 -h 幫助信息 -b 後臺執行Wget -o filename 把記錄放在文件filename -a filename 把記錄附加在文件filename -d 顯示調試信息 -q 無輸出下載方式 -v 詳細的屏幕輸出(默認) -nv 簡單的屏幕輸出 -i

shell seq的用法 echo -n用法

字符串 one 一個 echo ddd ech 換行 shel ron 用法:seq [選項]... 尾數 或:seq [選項]... 首數 尾數 或:seq [選項]... 首數 增量 尾數 從1循環到100的兩種方法(bash 其它的shell沒試過)for x i

Linux Shell有三種引號的用法

containe ubunt ref highlight 處理 alt 返回 cin test Linux Shell中有三種引號,分別為雙引號(" ")、單引號(‘ ‘)以及反引號(` `)。 其中雙引號對字符串中出現的$、‘‘、`和\進行替換;單引號不進行替換,將字符串

linux shell 的 2>&1 用法說明

pass 重定向 分解 說明 分別是 理解 重新 這樣的 通用 linux中有三種標準輸入輸出,分別是 STDIN,STDOUT,STDERR,對應的數字是 0,1,2。 STDIN 是標準輸入,默認從鍵盤讀取信息; STDOUT 是標準輸出,默認將輸出結果輸出至終端,也

shellsed命令的用法

直接 添加 不支持 sed命令 交互 擴展正則 每一個 shel 編輯 sed (stream editor)流編輯器也是linux中的一條命令,在shell中經常需要用到的非交互式修改文件內容的命令。sed處理文本是按行處理,也就是讀一行處理一行。sed的命令基本格式是:

shell】Linux shell括號的用法

linux shell 中括號 運維 編程 Linux shell中括號的用法 概述 本文主要介紹Linux中括號的用法,主要包含判斷文件和變量。 **註意事項**:中括號兩邊必須有空格。 使用中括號會涉及到的知識 &&、|| 在本文對文件或

bash shell的特殊用法

知識 padding OS family 路徑 base ont style one 1 ${BASH_SOURCE-$0} 表示當前正在執行的腳本的完整路徑。 2 cd -P 以物理路徑進入 /usr/localhadoop現在鏈到/home/houzhizhen/usr

Shell腳本的邏輯判斷、if文件目錄屬性判斷、if的特殊用法Shell的case判斷

Linux學習筆記Shell腳本的邏輯判斷 if文件目錄屬性判斷 if的特殊用法 Shenll中的case判斷 Shell腳本的邏輯判斷、if文件目錄屬性判斷、if的特殊用法、Shell中的case判斷

20.1-20.4 shell:腳本,腳本結構與執行,date用法shell腳本的變量

shell 腳本 變量 date用法 20.1 shell是什麽shell是系統跟計算機硬件交互時使用的中間介質,它只是系統的一個工具。實際上,他在shell和計算機硬件之間還有一層東西——系統硬核。如果把計算機硬件比作一個人的軀體,那系統內核就是人的電腦。至於shell,把它比作人的五官似乎

【轉載】shellEOF的用法

shel mys only 輸入 sele eof mar 用法 passwd Shell中通常將EOF與 << 結合使用,表示後續的輸入作為子命令或子Shell的輸入,直到遇到EOF為止,再返回到主調Shell。可以把EOF替換成其他東西意思是把內容當作標準輸