字符串判斷
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、通川ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的通川網(wǎng)站制作公司
str1 = str2當(dāng)兩個(gè)串有相同內(nèi)容、長(zhǎng)度時(shí)為真
str1 != str2 當(dāng)串str1和str2不等時(shí)為真
-n str1 當(dāng)串的長(zhǎng)度大于0時(shí)為真(串非空)
-z str1 當(dāng)串的長(zhǎng)度為0時(shí)為真(空串)
str1 當(dāng)串str1為非空時(shí)為真
2、數(shù)字的判斷
int1 -eq int2兩數(shù)相等為真
int1 -ne int2兩數(shù)不等為真
int1 -gt int2int1大于int2為真
int1 -ge int2int1大于等于int2為真
int1 -lt int2int1小于int2為真
int1 -le int2int1小于等于int2為真
3 文件的判斷
-r file 用戶可讀為真
-w file 用戶可寫(xiě)為真
-x file 用戶可執(zhí)行為真
-f file 文件為正規(guī)文件為真
-d file 文件為目錄為真
-c file 文件為字符特殊文件為真
-b file 文件為塊特殊文件為真
-s file 文件大小非0時(shí)為真
-t file 當(dāng)文件描述符(默認(rèn)為1)指定的設(shè)備為終端時(shí)為真
3、復(fù)雜邏輯判斷
-a 與
-o 或
! 非
EXAMPLE:
[ -a FILE ] 如果 FILE 存在則為真。
[ -b FILE ] 如果 FILE 存在且是一個(gè)塊特殊文件則為真。
[ -c FILE ] 如果 FILE 存在且是一個(gè)字特殊文件則為真。
[ -d FILE ] 如果 FILE 存在且是一個(gè)目錄則為真。
[ -e FILE ] 如果 FILE 存在則為真。
[ -f FILE ] 如果 FILE 存在且是一個(gè)普通文件則為真。
[ -g FILE ] 如果 FILE 存在且已經(jīng)設(shè)置了SGID則為真。
[ -h FILE ] 如果 FILE 存在且是一個(gè)符號(hào)連接則為真。
[ -k FILE ] 如果 FILE 存在且已經(jīng)設(shè)置了粘制位則為真。
[ -p FILE ] 如果 FILE 存在且是一個(gè)名字管道(F如果O)則為真。
[ -r FILE ] 如果 FILE 存在且是可讀的則為真。
[ -s FILE ] 如果 FILE 存在且大小不為0則為真。
[ -t FD ] 如果文件描述符 FD 打開(kāi)且指向一個(gè)終端則為真。
[ -u FILE ] 如果 FILE 存在且設(shè)置了SUID (set user ID)則為真。
[ -w FILE ] 如果 FILE 如果 FILE 存在且是可寫(xiě)的則為真。
[ -x FILE ] 如果 FILE 存在且是可執(zhí)行的則為真。
[ -O FILE ] 如果 FILE 存在且屬有效用戶ID則為真。
[ -G FILE ] 如果 FILE 存在且屬有效用戶組則為真。
[ -L FILE ] 如果 FILE 存在且是一個(gè)符號(hào)連接則為真。
[ -N FILE ] 如果 FILE 存在 and has been mod如果ied since it was last read則為真。
[ -S FILE ] 如果 FILE 存在且是一個(gè)套接字則為真。
[ FILE1 -nt FILE2 ] 如果 FILE1 has bee more recently than FILE2, or 如果 FILE1 exists and FILE2 does not則為真。
[ FILE1 -ot FILE2 ] 如果 FILE1 比 FILE2 要老, 或者 FILE2 存在且 FILE1 不存在則為真。
[ FILE1 -ef FILE2 ] 如果 FILE1 和 FILE2 指向相同的設(shè)備和節(jié)點(diǎn)號(hào)則為真。
[ -o OPTIONNAME ] 如果 shell選項(xiàng) “OPTIONNAME” 開(kāi)啟則為真。
[ -z STRING ] “STRING” 的長(zhǎng)度為零則為真。
[ -n STRING ] or [ STRING ] “STRING” 的長(zhǎng)度為非零 non-zero則為真。
[ STRING1 == STRING2 ] 如果2個(gè)字符串相同。 “=” may be used instead of “==” for strict POSIX compliance則為真。
[ STRING1 != STRING2 ] 如果字符串不相等則為真。
一、awk if分支結(jié)構(gòu)
二、awk數(shù)組 for循環(huán)
一、awk if分支結(jié)構(gòu)
案例1
awk過(guò)濾中的if分支結(jié)構(gòu)
1)單分支
統(tǒng)計(jì)/etc/passwd文件中UID小于或等于1000的用戶個(gè)數(shù):
統(tǒng)計(jì)/etc/passwd文件中UID大于1000的用戶個(gè)數(shù):
統(tǒng)計(jì)/etc/passwd文件中登錄Shell是“/bin/bash”的用戶個(gè)數(shù):
2)雙分支
分別統(tǒng)計(jì)/etc/passwd文件中UID小于或等于1000、UID大于1000的用戶個(gè)數(shù):
分別統(tǒng)計(jì)/etc/passwd文件中登錄Shell是“/bin/bash”、 登錄Shell不是“/bin/bash”的用戶個(gè)數(shù):
二、awk數(shù)組
注意,awk數(shù)組的下標(biāo)除了可以使用數(shù)字,也可以使用字符串,字符串需要使用雙引號(hào):
案例3:awk擴(kuò)展應(yīng)用
1)awk統(tǒng)計(jì)Web訪問(wèn)排名
在分析Web日志文件時(shí),每條訪問(wèn)記錄的第一列就是客戶機(jī)的IP地址,其中會(huì)有很多重復(fù)的IP地址。因此只用awk提取出這一列是不夠的,還需要統(tǒng)計(jì)重復(fù)記錄的數(shù)量并且進(jìn)行排序。
通過(guò)awk提取信息時(shí),利用IP地址作為數(shù)組下標(biāo),每遇到一個(gè)重復(fù)值就將此數(shù)組元素遞增1,最終就獲得了這個(gè)IP地址出現(xiàn)的次數(shù)。
針對(duì)文本排序輸出可以采用sort命令,相關(guān)的常見(jiàn)選項(xiàng)為-r、-n、-k。其中-n表示按數(shù)字順序升序排列,而-r表示反序,-k可以指定按第幾個(gè)字段來(lái)排序
實(shí)現(xiàn)此案例需要按照如下步驟進(jìn)行。
步驟一:統(tǒng)計(jì)Web訪問(wèn)量排名
分步測(cè)試、驗(yàn)證效果如下所述。
1)提取IP地址及訪問(wèn)量
2)對(duì)第1)步的結(jié)果根據(jù)訪問(wèn)量排名
案例4:編寫(xiě)監(jiān)控腳本
本案例要求編寫(xiě)腳本,實(shí)現(xiàn)計(jì)算機(jī)各個(gè)性能數(shù)據(jù)監(jiān)控的功能,具體監(jiān)控項(xiàng)目要求如下:
CPU負(fù)載
網(wǎng)卡流量
內(nèi)存剩余容量
磁盤(pán)剩余容量
計(jì)算機(jī)賬戶數(shù)量
當(dāng)前登錄賬戶數(shù)量
計(jì)算機(jī)當(dāng)前開(kāi)啟的進(jìn)程數(shù)量
本機(jī)已安裝的軟件包數(shù)量
步驟
實(shí)現(xiàn)此案例需要按照如下步驟進(jìn)行。
步驟一:準(zhǔn)備工作
1)查看性能數(shù)據(jù)的命令
步驟二:編寫(xiě)參考腳本
1)腳本內(nèi)容如下:
文件表達(dá)式
-e filename 如果 filename存在,則為真
-d filename 如果 filename為目錄,則為真
-f filename 如果 filename為常規(guī)文件,則為真
-L filename 如果 filename為符號(hào)鏈接,則為真
-r filename 如果 filename可讀,則為真
-w filename 如果 filename可寫(xiě),則為真
-x filename 如果 filename可執(zhí)行,則為真
-s filename 如果文件長(zhǎng)度不為0,則為真
-h filename 如果文件是軟鏈接,則為真
filename1 -nt filename2 如果 filename1比 filename2新,則為真。
filename1 -ot filename2 如果 filename1比 filename2舊,則為真。
整數(shù)變量表達(dá)式
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
字符串變量表達(dá)式
If [ b ] 如果string1等于string2,則為真
字符串允許使用賦值號(hào)做等號(hào)
if [ string2 ] 如果string1不等于string2,則為真
if [ -n string ] 如果string 為空,則為真
if [ $sting ] 如果string 非空,返回0 (和-n類(lèi)似)
if [ ! 表達(dá)式 ]
if [ ! -d num
if [ 表達(dá)式1 –a 表達(dá)式2 ]
if [ 表達(dá)式1 –o 表達(dá)式2 ]
在linux下可以通過(guò)命令查看域名,那么具體是怎么操作的呢?下面由我為大家整理了linux下查看域名的命令,希望對(duì)大家有所幫助。
1.linux查看域名的命令——ifconfig
Linux查看IP地址的命令--ifconfig
ifconfig命令用于查看和更改網(wǎng)絡(luò)接口的地址和參數(shù)
$ifconfig -a
lo0: flags=849 mtu 8232
inet 127.0.0.1 netmask ff000000
hme0: flags=863 mtu 1500
inet 211.101.149.11 netmask ffffff00 broadcast 211.101.149.255
ether 8:0:20:a7:4d:21
系統(tǒng)會(huì)顯示網(wǎng)絡(luò)接口的名稱,接口的狀態(tài)(up or down),
接口的IP地址和掩碼等信息
2.擴(kuò)展:如何更改網(wǎng)絡(luò)接口的IP地址
#ifconfig hme0 down
#ifconfig hme0 211.101.149.233 netmask 255.255.255.0 up
首先,使用down命令參數(shù)把網(wǎng)絡(luò)接口hme0的服務(wù)暫時(shí)停止,然后再用Linux查看ip的ifconfig命令給
接口分配新的IP地址和掩碼,并啟動(dòng)網(wǎng)絡(luò)接口服務(wù)
也可以通過(guò)改變文件/etc/hosts中的IP地址的值并重新啟動(dòng)系統(tǒng)來(lái)更改機(jī)器的IP地址。
/etc/hosts/: 211.101.149.11 sampdt
定義主機(jī)名在/etc/hostname.hme0及IP地址。
更改了網(wǎng)卡/增加了網(wǎng)卡,系統(tǒng)不能自動(dòng)啟動(dòng)該接口服務(wù),這時(shí)需要手動(dòng)創(chuàng)建網(wǎng)口服務(wù):
#ifconfig hme0 plumb
Linux查看ip即可以為接口le0創(chuàng)建網(wǎng)口服務(wù)
相應(yīng)地,用ifconfig帶unplumb參數(shù)可以停止服務(wù)并關(guān)閉網(wǎng)絡(luò).
netconfig 用來(lái)設(shè)置IP地址
當(dāng)前文章:linux命令if參數(shù),linux if else if
網(wǎng)頁(yè)地址:http://vcdvsql.cn/article8/heghip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、微信公眾號(hào)、網(wǎng)站收錄、App設(shè)計(jì)、做網(wǎng)站、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)