linux,shell
2015-02-07
1.計畫任務:corntab -e 編寫計畫任務 corntab -l檢視計畫任務 corntab -r清除所有的計畫任務
如果要清除某一項計畫任務,就是進入計畫任務的編輯頁面,逐個刪除就可以了
2.任務計畫編寫與執行
內容:格式 : 分 時 日 月 年 命令
[root@localhost cpre]# */5 * * * * 命令 #每隔5分鐘執行一次
[root@localhost cpre]# 00 09 * * 20 命令 #每週2到週日的9點執行一次命令
[root@localhost cpre]# 00 09 * * 2,3,4 命令 #每個周2,3,4的9點執行一次命令
3.linux下的反引號作用
date=`date "+%y-%m-%d"` #反引號,表示反引號內的命令作為單個個體執行完之後再賦值
tar czf web-$.tar.gz web # $號的輸出格式
4.shell的變數型別與應用
a. 區分大小寫 不能以數字開頭
b. 格式 : 變數名 = 變數值 #變數提高**靈活度 (** 在linux中,變數賦值的指令之間不能帶有空格)
c. 輸出變數
echo "輸出內容"
name='liangi'
echo $name
echo "my name is $" #注意$符號的使用
d. 變數的賦值
輸入賦值: read -p 「please inout your name: 」 name #將輸入的值賦值給name
echo $name
e.不同的引號為變數賦值 (單雙引號都不能引用轉移字元)
雙引號 " " : 解析變數,就是說,雙引號裡面的時變數
單引號 ' ' : 不能解析變數,裡面的變數不能解析出來
反引號 ` ` : 把反引號裡的命令執行出來再賦值
f.刪除變數
unset name
定義變數使用了之後,把變數刪除unset之後,又可以重新賦值
2015-02-08
1. 位置變數
位置變數是先在指令碼裡定義好位置變數數,在執行的時候就是
# ./loca.sh 1 sd d f h
然後在接下來的輸出中就會顯示所定義的位置變數
2. 預定義變數
將所有在學預定義變數的時候,所作的筆記注釋貼上出來
--start--
#!/bin/bash
#預定義變數測試與學習
#這個程式除錯了很久,出錯原因主要是寫程式的時候粗心出錯,還有的就是空格的問題,shell的空格很講究的,就像是在終端輸入命令。因此,在寫linux-shell指令碼的》時候就當是在終端中輸入linux命令一樣,講究格式,以一顆在linux下輸入命令的心去寫linux指令碼
echo $0 #,顯示當前指令碼的名稱
echo "你當前指令碼的名稱是:$0"
echo $# #獲取所有引數個數
echo '我是歌手'
echo $* #列出變數是什麼
lsecho $? #回饋上一條命令是否執行正確,正常,則返回0
total=0
for i in $*; do
total=$(($total+$i)) #將每個預定義變數相加,預定義的變數必須是數字才能相加
echo $total
done
echo $total
if [[ $? == 0 ]]; then
echo '上條命令執行成功'
else
echo '上條命令執行不成功'
fi # 標註出有問題的 程式
~ --end--
3.shell指令碼的運算
expr 20 + 30 #空格要注意
number=`expr 20 + 30 / 2` #引用命令結果需要加上反引號
echo $((2 + 3 +4))
4. shell指令碼的輸入與輸出
echo -e "sjdk \n ds" #-e解析輸出引用的轉移字元
echo -n "dsjk" #執行完該命令之後,游標不換行
同:read -p "please input your name: " name
echo $name
echo #直接輸出的是空行
指令碼輸出字型顏色--(需要echo -e才能識別)
語法echo -e "\033[32;40m[ok]\033[0m"
\033[前景顏色;背景顏色m
\033[0m #0m代表恢復到系統配色方案
**要寫全
顏色:30-37 代表前景顏色 黑紅綠棕藍紫青白
40-47 代表背景顏色 黑紅綠棕藍紫青白
5.cat 檢視
catx #將任意字元xx裡面的原樣輸出-->可以用來做選單
head 檢視前十行
head -2 檢視前2行
tail 檢視後10行
tail -2 檢視後2行
tee 輸出乙份,還會儲存乙份
./te.sh | te.txt #儲存在當前目錄
nl 在輸出的文字前面標出行號
shell 指令碼日期操作
最近使用kettle任務時,在指令碼開發時,使用到獲取指定日期前後幾天的日期,例如 獲得變數yesterday 2017 03 05,前兩天的日期字串。在平常使用的時候,僅使用過獲取當前時間前後幾天的日期,可以使用 stime date d 1 days ago f date d 1 days ag...
shell指令碼 日常巡檢
以下內容僅為提供思路 對於運維來說,每天對所管理的伺服器進行一次以上的巡檢是最基本的工作,當然,天天free df的敲鍵盤很麻煩,這時候最好寫乙個日常巡檢的指令碼,辛苦一天,輕鬆一年 巡檢指令碼有兩種思路,一種是當你想親眼看一看系統狀況的時候,每台伺服器都親自執行一遍這個指令碼 另一種是將所有功能封...
shell指令碼 日誌切割
bin bash 介紹 logcut.sh 簡單的日誌切割指令碼,前3天的切割方便隨時看,前4 10天的進行壓縮,超出的刪除 注意 會將其他帶時間的日誌壓縮後刪除 功能 日誌切割 日誌格式 xx.當前年 月 日.log 壓縮格式 xx.當前年 月 日.tar.gz 適用 centos6 語言 中文 ...