linux shell 常用指令

2021-08-30 11:08:44 字數 1581 閱讀 3505

一、檔案比較運算子

e filename 如果 filename存在,則為真 如: [ -e /var/log/syslog ]

-d filename 如果 filename為目錄,則為真 如: [ -d /tmp/mydir ]

-f filename 如果 filename為常規檔案,則為真 如: [ -f /usr/bin/grep ]

-r filename 如果 filename可讀,則為真 如: [ -r /var/log/syslog ]

-w filename 如果 filename可寫,則為真 如: [ -w /var/mytmp.txt ]

-x filename 如果 filename可執行,則為真 如: [ -l /usr/bin/grep ]

filename1-nt filename2 如果 filename1比 filename2新,則為真 如: [

/tmp/install/etc/services -nt /etc/services ]

filename1-ot filename2 如果 filename1比 filename2舊,則為真 如: [

/boot/bzimage -ot arch/i386/boot/bzimage ]

二、字串比較運算子(請注意引號的使用,這是防止空格擾亂**的好方法)

-z string 如果 string長度為零,則為真 如: [ -z 「$myvar」 ]

-n string 如果 string長度非零,則為真 如: [ -n 「$myvar」 ]

string1= string2 如果 string1與 string2相同,則為真 如: ["$myvar" = 「one two three」]

string1!= string2 如果 string1與 string2不同,則為真 如: ["$myvar" != 「one two three」]

三、算術比較運算子

num1-eq num2 等於 如: [ 3 -eq $mynum ]

num1-ne num2 不等於 如: [ 3 -ne $mynum ]

num1-lt num2 小於 如: [ 3 -lt $mynum ]

num1-le num2 小於或等於 如:[ 3 -le $mynum ]

num1-gt num2 大於 如:[ 3 -gt $mynum ]

num1-ge num2 大於或等於 如: [ 3 -ge $mynum ]

四 shell中if做比較

shell判斷陣列中是否包含某個元素:

ary=(1 2 3)

a=2if [[ 「ary

[@]"

="

" =~ "

ary[@]

"="a」 ]] ; then

echo 「a in ary」

else

echo 「a not in ary」

fi五指令碼讀取使用者輸入的引數

$# 是傳給指令碼的引數個數

$0 是指令碼本身的名字

$1是傳遞給該shell指令碼的第乙個引數

$2是傳遞給該shell指令碼的第二個引數

$@ 是傳給指令碼的所有引數的列表

linux shell 指令總結

一 shell 基本指令 1.普通使用者 超級使用者 xx help 檢視xx 指令幫助 man 檢視xx指令用法 2.pwd 當前目錄 cd 回到根目錄 cd 頂端根目錄 cd 個人主目錄 3.file 讀取檔案中文字屬性 4.linux的目錄結構 boot 存放linux 核心 和啟動載入項 b...

linux shell 指令學習小結(一)

有必要總結一發shell指令了。不過我覺得網上的詳細教程還比較多,先知道每個指令幹啥,具體很詳細的引數可以在用的時候去查,用多了就熟了 覺得還不錯的教程傳送門 每天乙個linux命令目錄 裡面每個指令介紹的還算詳細,有什麼忘記的其實可以查這個 ps 分為三篇文章更 一 1.ls 命令 2.cd 命令...

Linux shell指令執行的原理

shell是一種命令列直譯器 對於一般使用者,我們不能直接使用作業系統 kernel 而是通過 kernel的 外殼 程式,也就是所謂的shell,來與kernel溝通。為什麼不能直接使用kernel?從技術角度 shell的最簡單定義 命 令 行 解 釋 器 command interpreter...