1、shell程式設計
1、解釋執行器
1、sh
2、bash
## /etc/passwd檢視使用者預設bash, sh解釋執行器沒有高亮顯示,也沒有自動補全
2、shell程式設計
1、所有的shell程式都是以 .sh 結尾
2、執行方式
1、bash test.sh
2、chmod +x test.sh
./test.sh
## 保證檔案中第1行為 :#!/bin/bash
3、shell基礎
1、變數賦值
1、變數名=值 : =兩側不能有空格
number=10 name="張三丰"
2、獲取linux命令的執行結果給變數賦值
1、time=$(date)
2、time=date
3、接收使用者從終端輸入給變數賦值
read -p "提示資訊" 變數名
read -p "輸入姓名:" name
3、輸出語句
echo $變數名
4、'' 和 "" 的區別
1、'' 無法獲取變數的值
2、"" 可以獲取變數的值
read -p "input name:" name
echo '名字是:$name' 結果:名字是:$name
echo "名字是:$name" 結果:名字是:張三丰
5、運算子
1、算術運算子
+ - * / %
++ :自加1運算
--運算命令(let):
1、let運算表示式
i=1let i++
echo $i
2、expr運算表示式
i=1sum=expr $i + 5
echo $sum
2、比較運算子
1、檔案狀態
-e : 檔案/目錄是否存在
-d : 判斷是否為目錄
-f : 判斷是否為檔案
2、字元比較
= !=
空 :-z
非空 :!-z 或者 -n
3、數值比較
等於 :-eq
大於 :-gt
>= :-ge
小於 :-lt
<= :-le
不等於:-ne
4、邏輯比較
邏輯與 :&&
邏輯或 :||
6、if條件判斷
1、語法格式
if [ 條件 ];then
執行語句
elif [ ];then
執行語句
else
執行語句
fi2、輸入2個數字,比較大小
7、for迴圈1
1、語法格式
for 變數名 in 值列表
do執行語句
done
2、造數方法 : seq 起始值 步長 終止值
seq 5 : 1 2 3 4 5
seq 1 2 10 : 1 3 5 7 9
seq 2 2 10 : 2 4 6 8 10
3、用for迴圈輸出1 2 3 4 5
8、c-for迴圈
1、語法格式
for ((賦初值;條件判斷;步長))
do執行語句
done
2、c-for迴圈輸出1 2 3 4 5
9、while迴圈
1、語法格式
while [ 條件 ]
do執行語句
done
2、輸出1-10之間的整數
10、函式
1、語法格式
函式名()
# 函式呼叫
函式名2、在使用者主目錄建立乙個資料夾,如果不存在就建立,如果存在提示使用者一下
2、每隔5分鐘檢查根分割槽使用量,低於20g時發出警告
while [ 1 -eq 1 ]
doh=df -h | grep "/$" | awk '' | awk -f "g" ''
if [ $h -lt 20 ];then
echo "根分割槽將滿,請輸出不必要的檔案"
fisleep 300
done
3、計畫任務+備份指令碼(每天18:00做資料備份)
day=$(date +%f)
dir=/home/tarena/mydir
mysqldump -hlocalhost -uroot -p123456 db5 > $dir/db5-$(date +%f).sql &> /dev/null
echo "資料庫備份成功"
計畫任務操作:
crontab -e
0 18 * * * bash /home/tarena/sh/backup.sh
1、shell程式設計
1、解釋執行器
1、sh
2、bash
## /etc/passwd檢視使用者預設bash, sh解釋執行器沒有高亮顯示,也沒有自動補全
2、shell程式設計
1、所有的shell程式都是以 .sh 結尾
2、執行方式
1、bash test.sh
2、chmod +x test.sh
./test.sh
## 保證檔案中第1行為 :#!/bin/bash
3、shell基礎
1、變數賦值
1、變數名=值 : =兩側不能有空格
number=10 name="張三丰"
2、獲取linux命令的執行結果給變數賦值
1、time=$(date)
2、time=date
3、接收使用者從終端輸入給變數賦值
read -p "提示資訊" 變數名
read -p "輸入姓名:" name
3、輸出語句
echo $變數名
4、'' 和 "" 的區別
1、'' 無法獲取變數的值
2、"" 可以獲取變數的值
read -p "input name:" name
echo '名字是:$name' 結果:名字是:$name
echo "名字是:$name" 結果:名字是:張三丰
5、運算子
1、算術運算子
+ - * / %
++ :自加1運算
--運算命令(let):
1、let運算表示式
i=1let i++
echo $i
2、expr運算表示式
i=1sum=expr $i + 5
echo $sum
2、比較運算子
1、檔案狀態
-e : 檔案/目錄是否存在
-d : 判斷是否為目錄
-f : 判斷是否為檔案
2、字元比較
= !=
空 :-z
非空 :!-z 或者 -n
3、數值比較
等於 :-eq
大於 :-gt
>= :-ge
小於 :-lt
<= :-le
不等於:-ne
4、邏輯比較
邏輯與 :&&
邏輯或 :||
6、if條件判斷
1、語法格式
if [ 條件 ];then
執行語句
elif [ ];then
執行語句
else
執行語句
fi2、輸入2個數字,比較大小
7、for迴圈1
1、語法格式
for 變數名 in 值列表
do執行語句
done
2、造數方法 : seq 起始值 步長 終止值
seq 5 : 1 2 3 4 5
seq 1 2 10 : 1 3 5 7 9
seq 2 2 10 : 2 4 6 8 10
3、用for迴圈輸出1 2 3 4 5
8、c-for迴圈
1、語法格式
for ((賦初值;條件判斷;步長))
do執行語句
done
2、c-for迴圈輸出1 2 3 4 5
9、while迴圈
1、語法格式
while [ 條件 ]
do執行語句
done
2、輸出1-10之間的整數
10、函式
1、語法格式
函式名()
# 函式呼叫
函式名2、在使用者主目錄建立乙個資料夾,如果不存在就建立,如果存在提示使用者一下
2、每隔5分鐘檢查根分割槽使用量,低於20g時發出警告
while [ 1 -eq 1 ]
doh=df -h | grep "/$" | awk '' | awk -f "g" ''
if [ $h -lt 20 ];then
echo "根分割槽將滿,請輸出不必要的檔案"
fisleep 300
done
3、計畫任務+備份指令碼(每天18:00做資料備份)
day=$(date +%f)
dir=/home/tarena/mydir
mysqldump -hlocalhost -uroot -p123456 db5 > $dir/db5-$(date +%f).sql &> /dev/null
echo "資料庫備份成功"
計畫任務操作:
crontab -e
0 18 * * * bash /home/tarena/sh/backup.sh
運維基本概述
下面將it運維管理基礎知識必須要學習或能讓你運維任務加分的技藝稍做簡介。最先我們假定你是乙個公司的it運維經理。須要完成五十臺以上的伺服器和若干雜七雜八的配備,哪些運維人員應該必備的技術?it運維管理基礎知識 一 微軟系統 關於windows的熟識是最基本的。當然,作為乙個運維經理,可不是整天玩個w...
什麼是TestOps測試運維
其實這個問題可以先從devops開發運維談起,devops是最近一年非常火的概念,其主要要求就是開發對版本發布及質量負責。過去開發只負責實現,不考慮環境及發布所導致的問題,一旦發布不規範就會產生測試環境與開發環境與生產環境不同步的問題。在敏捷中非常強調持續整合 持續發布,所以對開發的要求就進步為了要...
RocketMQ 04 簡單運維
mqadmin updatetopic b localhost 10911 t topiccmd.mqadmin deletetopic n localhost 9876 c localhost 10911 t topiccmd.mqadmin topiclist n localhost 9876....