簡單的一些shell指令碼學習 Unix命令列程式

2021-06-20 23:13:52 字數 2718 閱讀 3814

學習:

whoami

用途:顯示

登入名。

解釋:與使用命令 who 並指定 am i 不同,whoami 命令在有 root 使用者許可權時也有效,因為它不檢查 /etc/utmp 檔案。

date

用途:顯示和設定系統日期和時間。 

格式: date [選項] 顯示時間格式(以+開頭,後面接格式) 

date 設定時間格式 

命令中各選項的含義分別為: 

-d datestr 或 --date datestr 顯示由datestr描述的日期 ,datestr科表示成:'1 days ago' 等

-s datestr 或 --set datestr 設定datestr 描述的日期 ,只有超級使用者才能用date命令設定時間,一般使用者只能用date命令顯示時間。 

-u, --universal 顯示或設定通用時間 時間域 

% 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等) 常用

舉例:1. 由於linux對man date -d 引數說的比較模糊,故舉例如下:

# -d  或 --date=string  display time described by string, not `now'

測試時間是20120413

[chen@localhost ~]$ date -d next-day +%y%m%d

20120414

[chen@localhost ~]$ date -d last-day +%y%m%d

20120412

[chen@localhost ~]$ date -d yesterday +%y%m%d

20120412

[chen@localhost ~]$ date -d tomorrow +%y%m%d

20120414

[chen@localhost ~]$ date -d last-month +%y%m

201203

[chen@localhost ~]$ date -d next-month +%y%m

201205

[chen@localhost ~]$ date -d next-year +%y

2013

2. 在linux環境下要取得幾天前的時期只要使用

date -d "x days ago" +%y%m%d

x用數字代替,如果需要幾天前的直接寫正數,如果要幾天後的日期直接寫負數即可;

date -d "x weeks ago" +%y%m%d

x用數字代替,如果需要幾周前的直接寫正數,如果要幾周後的日期直接寫負數即可;

date -d "x years ago" +%y%m%d

x用數字代替,如果需要幾年前的直接寫正數,如果要幾年後的日期直接寫負數即可;

看下面例子:

[chen@localhost ~]$ date +%y%m%d

20120413

[chen@localhost ~]$ date -d "2 days ago" +%y%m%d   

20120411

[chen@localhost ~]$ date -d "4 days ago" +%y%m%d 

20120409

[chen@localhost ~]$  date -d "-1 days ago" +%y%m%d

20120414

[chen@localhost ~]$ date -d "-2 days ago" +%y%m%d 

20120415

[chen@localhost ~]$ date -d "1 week ago" +%y%m%d      

20120406

[chen@localhost ~]$  date -d "1 year ago" +%y%m%d    

2011041

shell指令碼的陣列用法:

書寫一些簡單的shell指令碼

1 檢查定時任務是否開啟 root shell 2.5 cat sb01.sh bin bash etc init.d functions service ps ef grep crond wc l if service gt 1 then echo action crond is running ...

shell指令碼的一些程式設計

shell的一般結構主要是函式和主過程。shell指令碼的形式是函式放在最前面,後面是命令語句。讀取的時候是從上往下,跳過函式先執行命令語句,需要用到函式時,直接呼叫。變數分為區域性變數,環境變數 內部變數。區域性是在這個shell裡面變數,在另外乙個shell裡面不可用。環境是所有得終端都可用的。...

shell指令碼的一些基礎操作

vim test.sh 建立乙個 sh指令碼 直譯器 編輯這個指令碼 bin bash 是使用bash 直譯器的意思 bin sh 是使用sh直譯器的意思 a 10 echo a bin bash test.sh 執行 test.sh 執行 sh test.sh 執行 echo 測試上乙個命令是否成...