shell簡介:
- 腳本是一種解釋型語言
- 用shell腳本保存執行動作
- 用腳本判定命令的執行條件
&& 和 || 符號 :
&&用來執行條件成立後的文件、||用來執行條件不成立後的文件
例如:
ping -c1 -w1 192.168.118.1 &> /dev/null && echo this is up || echo this is down
//如果前面的執行正常,則輸出this is up ;否則輸出this is down
其中: -c代表次數,-w代表等待時間
接下來是一些基礎命令等:
cut 剪切
cut -c 指定截取的位置
-d 指定分隔符
-f 指定截取的列
sh -x test.sh 檢測腳本
sort 命令多用於字符排序:
sort -n 純數字排序;跟的是文件名
sort -r 倒序
sort -u 去掉重複數字
sort -o 輸出到指定文件中
sort -t 指定分隔符
sort -k 指定要排序的列
uniq 命令對重複字符做相應的處理
uniq -u 顯示唯一的行
uniq -d 顯示重複的行
uniq -c 每行顯示一次並統計重複次數
sort和uniq命令經常一起使用:
test “A” ==“A” == “B” 等同 [ “A”==“A”==“B” ]
[ “A” =“A” = “B” ]等於
[ “A” !=“A”!=“B” ]不等於
[ “A” -eq “A”-eq“B” ] 等於
[ “A” -ne “A”-ne“B” ] 不等於
[ “A” -le “A”-le“B” ] 小於等於
[ “A” -lt “A”-lt“B” ] 小於
[ “A” -ge “A”-ge“B” ] 大於等於
[ “A” -gt “A” -gt “B” ] 大於
[ “A” -ne “A” -ne “B” -a “A”-gt “A”-gt “B” ] ne表示不等於,a表示and都滿足
[ “A” -ne “A”-ne “B” -o “A” -gt “A” -gt “B” ] o表示or至少滿足一個
[ -z “A”]表示值爲空[−n “A” ] 表示值不爲空
[ “file1” -ef “file2” ] ef 表示節點是否相同
[ “file1” -nt “file2” ] 表示new,file1是否比file2文件新
[ “file1” -ot “file2” ] 表示old,file1是否比file2文件老
[-e “file”] 文件是否存在
[-f “file”] 文件是否爲普通文件
[-L “file”] 文件是否爲符號鏈接
[-S “file”] 文件是否爲套接字
[-b “file”] 文件是否爲塊設備
[-d “file”] 文件是否爲目錄
[-c “file”] 文件是否爲特殊文件
例題:
vim ip_check.sh ## 判斷腳本後跟的ip對應主機是否存活
#!/bin/bash
[ -z "$1" ] &&{ ##不存在則執行下面的命令
echo please give me a ipaddress!!
exit 1
}
ping -c1 -w1 $1 &> /dev/null &&{
echo "$1 is up"
}||{
echo "$1 is down"
}
例題:
vim number.sh //輸入數字判斷是否在1~10的範圍內
#!/bin/bash
[ -z "$1" ]&&{ ##$1表示輸入的數字
echo please input a number after scripts!!
exit 1
}
[ "$1" -gt "0" -a "$1" -le "10" ]&& { ##表示$1大於0並且小於等於10
echo "$1" is between 1~10
}||{
echo "$1" is not between 1~10
}
例題:判斷文件是否存在及文件的類型,
vim file.sh
#!/bin/bash
[ -z "$1" ]&& {
echo "please input a filename after scripts!!"
exit 1
}
[ -e "$1" ]||{
echo "$1 is not exist!!"
exit 0
}
[ -L "$1" ]&&{
echo "$1 is a link"
exit 0
}
[ -f "$1" ]&&{
echo "$1 is a common file"
exit 0
}
[ -b "$1" ]&&{
echo "$1 is a block file"
}
硬件:運算器、控制器、存儲器、輸入設備、輸出設備、
安全協議:是以密碼學爲基礎信息交換協議,其目的是在網絡環境中提供各種安全服務。