Linux基礎命令、管道符、重定向與環境變量、Vim編輯器與Shell命令腳本

最近看了一本劉遄老師寫的一本Linux書籍,感覺寫得挺好,並做了點筆記

常用系統工作命令

1、echo命令

echo命令用於在終端輸出字符串或變量提取後的值,格式爲“echo [字符串|$ 變量]”
例如:

echo Linuxprobe.com
輸出:Linuxprobe.com

使用 $ 變量的方式提取變量SHELL的值,並將其輸出到屏幕上(補充:不同的地方 $ 符號的定義不同,在bash裏這個符號一般表示普通用戶的命令提示符(可更改),在bash腳本里。$ 開頭表示變量;$ str表示變量,可賦值等操作;$是變量引用操作符,如:a=10; echo $a會輸出10)

echo $SHELL
輸出:/bin/zsh

2、data命令

data命令用於顯示及設置系統的時間或日期,格式爲“data [選項][+指定的格式]”
例如:

date
輸出:2019年11月12日星期二16:48:03 CST

按照年月日小時分鐘秒的格式查看當前系統時間的date命令

date “+%Y-%m-%d %H:%M:%S”
輸出:2019-11-12 16:52:37

3、reboot命令

reboot命令用於重啓系統,其格式爲reboot;由於重啓計算機這種操作會涉及硬件資源的管理權限,因此默認只能使用root管理員來重啓

4、poweroff命令

poweroff命令用於關閉系統,其格式爲poweroff;該命令與reboot命令相同,都會涉及硬件資源的管理權限,因此默認只有root管理員纔可以關閉電腦

5、wget命令

wget命令用於在終端中下載網絡文件,格式爲“wegt[參數]下載地址”

6、ps命令

ps命令用於查看系統中的進程狀態,格式爲“ps[參數]”

7、top命令

top命令用於動態地監視進程活動與系統負載等信息,其格式爲“top”
top命令相當強大,能夠動態地查看系統運維狀態,完全將它看作linux中的任務管理器

8、pidof命令

pidof命令用於查詢某個指定服務進程的pid值,格式爲“pidof[參數][服務名稱]”
每個進程的進程號碼值(PID)是唯一的,因此可以通過PID來區分不同的進程
例如,可以使用如下命令來查詢本機上sshd服務的PID:

pidof sshd
輸出:2215

9、kill命令

kill命令用於終止某個指定PID的服務進程,格式爲“kill[參數][進程PID]”

10、killall命令

killall命令用於終止某個指定名稱的服務所對應的全部進程,格式爲“killall[參數][服務器名稱]”

系統狀態檢測命令

1、ifconfig命令

ifconfig命令用於獲取網卡配置與網絡狀態等信息,格式爲“ifconfig[網絡設備][參數]”
使用ifconfig命令來查看本機當前的網卡配置與網絡狀態等信息時,其實主要查看的就是網卡名稱、inet參數後面的ip地址、ether參數後面的網卡物理地址(又稱爲mac地址),以及rx、tx的接收數據包與發送數據包的個數及累計流量

2、uname命令

uname命令用於查看系統內核與系統版本等信息,格式爲“uname[-a]”一般固定搭配-a參數來完整的查看當前系統的內核名稱、主機名、內核髮型版本、節點名、系統時間、硬件平臺、處理器類型以及操作系統名稱信息

3、uptime命令

uptime用於查看系統的負載信息

4、free命令

free用於顯示當前系統中內存的使用量信息,格式爲“free[-h]”

5、who命令

who用於查看當前登入主機的用戶終端信息,格式爲“who[參數]”

6、last命令

last命令用於查看所有系統的登錄記錄,格式爲“last[參數]”

7、history命令

history命令用於顯示歷史執行過的命令,格式爲“history[-c]”
歷史命令會被保存到用戶家目錄中的.bash_history文件中。Linux系統中以點(.)開頭放入文件均爲隱藏文件,這些文件大多數爲系統服務文件,可以用cat命令查看其文件內容

cat ~/ .bash_history

要清空當前用戶在本機上執行的linux命令歷史記錄信息,可執行如下命令

history -c

8、sosreport命令

sosreport命令用於收集系統配置及構架信息並輸出診斷文檔,格式爲“sosreport”

工作目錄切換命令

1、pwd命令

pwd命令用於顯示用戶當前所處的工作目錄,格式爲“pwd[選項]”

2、cd命令

cd命令用於切換工作路徑,格式爲“cd[目錄名稱]”
cd - 返回上一次所處目錄 cd . . 進入上級目錄 cd ~ 切換到當前用戶的家目錄

3、ls命令

ls命令用於顯示目錄中的文件信息,格式爲“ls[選項][文件]”
參數-a是可以看到全部文件(包括隱藏文件),使用-l可以查看文件的屬性、大小等詳細信息。將這兩個參數整合後,可以看到當前目錄中的所有文件並輸出這些文件的屬性信息

ls -al

如果要看到目錄屬性信息,則需要額外添加一個-d參數

ls -ld

文本文件編輯命令

1、cat命令

cat命令用於查看純文本文件(內容較少的),格式爲“cat[選項][文件]”
如果在查看文本內容時還想順便再顯示行號的話,可以在cat命令後面追加一個-n參數

2、more命令

more命令用於查看純文本文件(內容較多的),格式爲“more[選項]文件”

3、head命令

head命令用於查看純文本文檔的前n行,格式爲“head[選項][文件]”

head -20 voc.cfg

4、tail命令

tail命令用於查看純文本文檔的後n行或持續刷新的內容,格式爲“tail[選項][文件]”
tail命令最強悍的功能是可以持續刷新一個文件的內容,當想要實時查看最新日誌文件時,此時的命令格式爲“tail -f 文件名”

5、tr命令

tr命令用於替換文本文件中的字符 ,格式爲“tr[原始字符][目標字符]”

cat anaconda-ks.cfg | tr [a-z] [A-Z]

6、wc命令

wc命令用於統計指定文本的行數、字數、字節數,格式爲“wc[參數] 文本”

7、stat命令

stat命令用於查看文件的具體存儲信息和時間等信息,格式爲“stat 文件名”

8、cut命令

cut命令用於按“列”提取文本字符,格式爲“cut[參數] 文本”

9、diff命令

diff命令用於比較多個文本的差異,格式爲“diff[參數]文件”
可以使用–brief參數來確認兩個文件是否不同

文件目錄管理命令

1、touch命令

touch命令用於創建空白文件或設置文件的時間,格式爲“touch[選項][文件]”
touch linuxprobe命令可以創建出一個名爲linuxprobe的空白文本文件

2、mkdir命令

mkdir命令用於創建空白的目錄,格式爲“mkdir[選項]目錄”
除了能創建單個空白目錄外,mkdir命令還可以結合-p參數來遞歸創建出具有嵌套層關係的文件目錄

mkdir -p a/b/c/d/e

3、cp命令

cp命令用於複製文件或目錄,格式爲“cp[選項] 源文件 目標文件”
cp -r 遞歸持續複製(用於目錄)

touch install.log
cp install.log x.log
ls 
Install.log x.log

4、mv命令

mv用於剪切文件或將文件重命名,格式爲“mv[選項] 源文件 [目標路徑|目標文件名]”
如果在同一個目錄中對一個文件進行剪切操作,其實也就是對其重命名

mv x.log linux.log

5、rm命令

rm命令用於刪除文件或目錄,格式爲“rm[選項]文件”
在rm命令後面跟上-f參數來強制刪除,若想刪除一個目錄,需要在rm命令後面加-r

6、dd命令

dd命令用於按照制定大小和個數的數據塊來複制文件或轉移文件,格式爲“dd[參數]”
dd if=/dev/zero of=560_file count=1 bs=560M
dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbr.Com.iso

7、file命令

file命令用於查看文件的類型,格式爲“file文件名”
在linux系統中,由於文本、目錄、設備等所有這些一切都統稱爲文件,而我們又不能單憑後綴就知道具體的文件類型,這時就需要使用file命令來查看文件類型了

打包壓縮與搜索命令

1、tar命令

tar命令用於對文件進行打包壓縮或解壓,格式爲“tar[選項][文件]”
-c創建壓縮文件-x解開壓縮文件-v參數不斷顯示壓縮或解壓過程
一般使用“tar -czvf 壓縮包名稱.tar.gz 要打包的目錄”命令把指定目錄進行打包壓縮
同樣“tar -xzvf 壓縮包名稱.tar.gz”進行解壓

tar -czvf etc.tar.gz /etc
tar xzvf etc.tar.gz -C /root/etc   (-C參數是用於指定要解壓到哪個指定的目錄)

2、grep命令

grep命令用於在文本中執行關鍵詞搜索,並顯示匹配結果,格式爲“grep[選項][文件]”
-n參數用來顯示搜索到信息的行號;-v參數用於反選信息(即沒有包含關鍵詞的所有信息行)

3、find命令

find命令用於按照指定條件來查找文件,格式爲“find[查找路徑] 尋找條件 操作”
-exec 這個參數是把find搜索到的結果交由緊隨其後的命令做進一步處理

find / -user linuxprobe -exec cp -a {} /root/findresults/ \;

上述命令的作用是在整個文件系統中找出所有歸屬於linuxprobe用戶的文件並複製到/root/findresults目錄;注意{}表示find搜索出的每一個文件,並且命令結尾必須是“;”

輸入輸出重定向

輸入重定向是指把文件導入到命令中,而輸出重定向則是把原本要輸出到屏幕的數據信息寫入到指定文件中

命令>>文件 將標準輸出重定向到一個文件中(追加到原有內容的後面)
命令>文件 將標準輸出重定向到一個文件中(清空原有文件的數據)
命令2>文件 將錯誤輸出重定向到一個文件中(清空原有文件的數據)
命令&>>文件 將標準輸出和錯誤輸出共同寫入到文件中(追加到原有內容後面)

echo “Welcome to LinuxProbe.Com” > readme.txt
echo “Quality linux learning materials” >> readme.txt
cat readme.txt
輸出:Welcome to LinuxProbe.Com
     Quality linux learning materials

管道命令符

作用是把前一個命令原本要輸出到屏幕的標準正常數據當做是最後一個命令的標準輸入,格式爲“命令A | 命令B”
將下面兩條命令合成一條

#找出被限制登錄用戶的命令式 grep “/sbin/nologin” /etc/passwd
#統計文本行數的命令則是wc -l

grep “/sbin/nologin” /etc/passwd | wc -l
輸出 33

當然,管道命令符也可以:“命令A | 命令B| 命令C”

命令行的通配符

顧名思義,通配符就是通用的匹配信息的符號,比如星號(* ) 代表匹配零個或多個字符,問號(?)代表匹配單個字符,中括號內加上數字[0-9]代表匹配0~9之間的單個數字的字符,而中括號內加上字母[abc]則代表匹配a、b、c三個字符中的任意一個字符。
#匹配所有在/dev目錄中且以sda開頭的文件:

ls -l /dev/sda*

#匹配文件名爲sda開頭,但後面還緊跟其他某一個字符的文件相關信息

ls -l /dev/sda?

常用的轉義字符

Shell解釋器提供了特別豐富的轉義字符來處理輸入的特殊數據

4個最常用的轉義字符如下所示:
反斜槓(\):使反斜槓後面的一個變量變爲單純的字符串。
單引號(‘’):轉義其中所有的變量爲單純的字符串。
雙引號(“”):保留其中的變量屬性,不進行轉義處理。
反引號(``):把其中的命令執行後返回結果。

#定義一個名爲PRICE的變量並賦值爲5,然後輸出以雙引號括起來的字符串與變量信息:

PRICE=5
echo “Price is $PRICE”
輸出:Prince is 5

#接下來,我們希望能夠輸出“Price is $5”:

echo “Price is \$$PRICE”
輸出:Price is $5

#例如,將反引號與uname-a命令結合,然後使用echo命令來查看本機的Linux版本和內核信息:

echo `uname -a`
輸出:Linux linuxprobe.com 3.10.0-123...............(省略)

重要的環境變量

變量是計算機系統用於保存可變值的數據類型。在Linux系統中,變量名稱一般都是大寫的,這是一種約定俗成的規範。我們可以直接通過變量名稱來提取到對應的變量值。Linux系統中的環境變量是用來定義系統運行環境的一些參數,比如每個用戶不同的家目錄、郵件存放位置等。
用戶執行了一條命令之後,Linux系統中到底發生了什麼事情呢?命令在Linux中主要執行分爲四個步驟
第一步:判斷用戶是否以絕對路徑或者相對路徑的方式輸入命令(如/bin/ls),如果是的話則直接執行。
第二步:Linux系統檢查用戶輸入的命令是否爲“別名命令”,即用一個自定義的命令名稱來替換原來的命令名稱。
第三步:Bash解釋器判斷用戶輸入的是內部命令還是外部命令。內部命令是解釋器內部的指令,會被直接執行;而用戶在絕大部分時間輸入的是外部命令,這些命令交給步驟四處理;可以使用“type命令名稱”來判斷用戶輸入的命令是內部命令還是外部命令。
第四步:系統在多個路徑中查找用戶輸入的命令文件,而定義這些路徑的變量叫做PATH。PATH是由多個路徑組成的變量,每個路徑值之間用冒號間隔,對這些路徑的增加和刪除操作將影響到Bash解釋器對Linux命令的查找。(PATH變量的作用是什麼?設定解釋器搜索所執行的命令的路徑)
我們可以使用env命令來查看Linux系統中的所有的環境變量
su 是用於切換用戶身份的命令
變量是由固定的變量名與用戶或系統設置的變量值兩部分組成的;
這樣的變量不具有全局性,作用範圍也有限,默認情況下不能被其他用戶使用,使用export命令將其提升爲全局變量,這樣其他用戶也可以使用它了

Vim編輯器與Shell命令腳本

Vim編輯器中設置了三種模式——命令模式、末行模式、編輯模式
命令模式:控制光標移動,可對文本進行復制、黏貼、刪除和查找等工作
輸入模式:正常的文本錄入
末行模式:保存或退出文檔,以及設置編輯環境

在每次運行Vim編輯器中,默認進入命令模式,此時需要先切換到輸入模式後再進行文檔編寫工作,而每次在編寫完文檔之後需要先返回命令模式,然後再進入末行模式,執行文檔的保存或退出操作。在Vim中,無法直接從輸入模式切換到末行模式。
要想切換到末行模式,在命令模式中輸入一個冒號就可以了。

編寫腳本文檔的第一步就是給文檔取個名字,這裏取名爲practice.txt。如果存在該文件,則打開它。如果不存在,則是創建一個臨時的輸入文件

vim practice.txt

打開practice.txt文檔後,默認進入的是vim編輯器的命令模式。此時只能執行該模式下的命令,而不能隨意輸入文本內容,我們需要切換到輸入模式纔可以編寫文檔。
可以分別使用a、i、o三個鍵從命令模式切換到輸入模式。其中,a鍵與i鍵分別是在光標後面一位和光標當前位置切換到輸入模式,而o鍵則是在光標的下面再創建一個空行,此時可敲擊a鍵進入到編輯器的輸入模式。
進入到輸入模式後,可以隨意輸入文本內容,vim編輯器不會把您輸入的文本內容當做命令執行。
在編寫完之後,想要保存退出,必須先敲擊鍵盤esc鍵從輸入模式返回命令模式,然後再輸入:wq!切換到末行模式才能完成保存退出操作;當在末行模式中輸入:wq!命令時,就意味着強制保存並退出文檔。然後用cat命令查看保存後的文檔內容

cat practice.txt

若要繼續編輯這個文檔,因爲要在原有文本內容的下面追加內容,所以在命令模式中敲擊o鍵進入輸入模式會更高效

編寫shell腳本

可以將shell終端解釋器當做人與計算機硬件之間的“翻譯官”,它作爲用戶與linux系統內部的通信媒介,除了能夠支持各種變量與參數外。還提供了諸如循環、分支等高級編程語言纔有的控制結構特性。要想正確使用shell中的這些功能特性,準確下達命令尤其重要。

shell腳本命令的工作方式有兩種:交互式和批處理
交互式:用戶每輸入一條命令就立即執行
批處理:由用戶先編好一個完整的shell腳本,shell會一次執行腳本中諸多的命令

在shell腳本中不僅會用到前面學習過的很多Linux命令以及正則表達式、管道符、數據流重定向等語法規則,還需要把內部功能模塊化後通過邏輯語句進行處理,最終形成日常所用的shell腳本
查看SHELL變量可以發現當前系統已經默認使用Bash作爲命令行終端解釋器了;
其實就是使用vim編輯器把linux命令按照順序依次寫入到一個文件中,這就是一個簡單的腳本了

vim example.sh
#!/bin/bash
#For Example BY linuxprobe.com
pwd
ls -al

Shell腳本文件的名稱可以任意,但爲了避免被誤以爲是普通文件,建議將.sh 後綴加上,以表示是一個腳本文件。在上面的這個example.sh腳本中實際出現了三種不同的元素:第一行的腳本聲明(#!)用來告訴系統使用哪種shell解釋器來執行該腳本;第二行的註釋信息(#)是對腳本功能和某些命令的介紹信息,使得自己或者他人在日後看到這個腳本內容時,可以快速知道該腳本的作用或一些警告信息;第三行第四行的可執行語句也就是我們平時執行的linux命令了

bash example.sh

除了上面用 bash 解釋器命令直接運行 Shell 腳本文件外,第二種運行腳本程序的方法是通過輸入完整路徑的方式來執行。但默認會因爲權限不足而提示報錯信息,此時只需要爲腳本文件增加執行權限即可

./example.sh
chmod u+x example.sh

接收用戶的參數

Shell腳本已經內設了用於接收參數的變量,變量之間可以使用空格間隔。例如 $ 0對應的是當前shell腳本程序的名稱,$ #對應的是總共有幾個參數,$ * 對應的是所有位置的參數值,$ ?對應的是顯示上一次命令的執行返回值,而$1、$2、$3、…則分別對應着第N個位置的參數值

vim example.sh
#!/bin/bash
echo “當前腳本名稱爲$0echo “總共有$#個參數,分別是$*”
echo “第一個參數是$1,第五個參數是$5”
sh example.sh one two three four five six
當前腳本名稱爲example.sh
總共有6個參數,分別是one two three four five six
第一個參數是one,第五個參數是five

判斷用戶的參數

Shell腳本中的條件測試語法可以判斷表達式是否成立,若條件成立則立即返回數字0,否則便返回其他隨機數值。
測試語句格式:[ 條件表達式 ] 注:括號裏面兩邊均應有一個空格

按照測試對象來劃分,條件測試語句可以分爲4種:
#文件測試語句
#邏輯測試語句
#整數值比較語句
#字符串比較語句

下面使用文件測試語句來判斷/etc/fstab 是否爲一個目錄類型的文件,然後通過 Shell 解釋器的內設$?變量顯示上一條命令執行後的返回值。如果返回值爲 0,則目錄存在;如果返回值 爲非零的值,則意味着目錄不存在:

[ -d /etc/fstab ]
echo $?
輸出:1(-d是判斷文件是否爲目錄)
[ -f /etc/fstab ]
echo $?
輸出:0(-f判斷文件是否爲一般文件)

邏輯語句用於對測試結果進行邏輯分析,根據測試結果可實現不同的效果;
在shell終端中邏輯“與”&&,它表示當前面的命令執行成功後纔會執行它後面的命令;

[ -e /dev/cdrom ] && echo “Exist”
輸出:Exist (-e判斷文件是否存在)

還有邏輯“或”||,表示當前面的命令執行失敗後纔會執行它後面的命令;
第三種邏輯語句是“非”!,它表示把條件測試中的判斷結果取相反值;如果原本測試的結果是正確的,則將其變成錯誤的;原本正確的將變成錯誤的。

[ ! $USER = root ] || echo “administrator”
輸出:administrator

當前我們正在登錄的即爲管理員用戶—root。下面這個示例的執行順序是,先判斷當前登錄用戶的 USER 變量名稱是否等於 root,然後用邏輯運算符“非”進行取反操作,效果就變成了判斷當前登錄的用戶是否爲非管理員用戶了。最後若條件成立則會根據邏輯“與”運算符輸出 user 字樣;或條件不滿足則會通過邏輯“或”運算符輸出 root 字樣,而如果前面的 &&不成立纔會執行後面的||符號。

[ ! $USER = root ] && echo “user” || echo “root”
輸出:root

整數比較運算符僅是對數字的操作,不能將數字與字符串、文件等內容一起操作,而且不能想當然的使用日常生活中的等號、大於號、小於號等來判斷。因爲等號與賦值命令符衝突,大於號和小於號分別於輸出重定向命令符和輸入重定向命令符衝突;

[ 10 -gt 10 ]
echo $?
輸出:1(-gt表示是否大於)
[ 10 -eq 10 ]
echo $?
輸出:0(-eq表示是否等於)

曾經講過 free 命令,它可以用來獲取當前系統正在使用及可用的內存量信息。
接下來先使用 free -m 命令查看內存使用量情況(單位爲 MB),然後通過 grep Mem:命令過濾 出剩餘內存量的行,再用 awk '{print $4}'命令只保留第四列,最後用

 FreeMem=`語句`

的方式把語句內執行的結果賦值給變量。

FreeMem=`free -m | grep Mem: | awk{print $4}`
echo $FreeMem
輸出:95940

我們使用整數運算符來判斷內存可用量的值是否小於 102400,若小 於則會提示“Insufficient Memory”(內存不足)的字樣:

[ $FreeMem -lt 102400 ] && echo “Insufficient Memory”
輸出:Insufficient Memory(-lt表示是否小於)

字符串比較語句用於判斷測試字符串是否爲空值,或兩個字符串是否相同。它經常用來判斷某個變量是否未被定義(即內容爲空值);
接下來通過String變量是否爲空值,進而判斷是否定義了這個變量:

[ -z $String ]
echo $?
輸出:0(-z表示判斷字符串內容是否爲空)

echo $LANG
輸出:en_US.UTF-8
[ $LANG != “en.US” ] && echo “Not en.US”
輸出:Not en.US (!=表示比較字符串內容是否不同,=表示比較字符串內容是否相同)

流程控制語句

if條件測試語句

單分支

if 目錄不存在
then 創建該目錄
fi

在這裏插入圖片描述

雙分支

這裏的腳本主要使用 ping 命令來測試與對方主機的網絡聯通性,而 Linux 系統中的 ping 命令不像 Windows 一樣嘗試 4 次就結束,因此爲了避免用戶等待時間過長,需要通過-c 參數來規定嘗試的次數,並使用-i 參數定義每個數據包的發送間隔,以及使用-W 參數定義等待超時時間
在這裏插入圖片描述在這裏插入圖片描述

在 Linux 系統中,read 是用來讀取用戶輸入信息的命令, 能夠把接收到的用戶輸入信息賦值給後面的指定變量,-p 參數用於向用戶顯示一定的提示信息。在下面的腳本示例中,只有當用戶輸入的分數大於等於 85 分且小於等於 100 分,才輸出 Excellent 字樣;若分數不滿足該條件(即匹配不成功),則繼續判斷分數是否大於等於 70 分且小於等於 84 分,如果是,則輸出 Pass 字樣;若兩次都落空(即兩次的匹配操作都失敗了),則輸出 Fail 字樣:
在這裏插入圖片描述

for條件循環語句

下面使用 for 循環語句從列表文件中讀取多個用戶名,然後爲其逐一創建用戶賬戶並設置密碼。首先創建用戶名稱的列表文件 users.txt,每個用戶名稱單獨一行。讀者可以自行決定 具體的用戶名稱和個數:
在這裏插入圖片描述
接下來編寫 Shell 腳本 Example.sh。在腳本中使用 read 命令讀取用戶輸入的密碼值,然後賦值給 PASSWD 變量,並通過-p 參數向用戶顯示一段提示信息,告訴用戶正在輸入的內容 即將作爲賬戶密碼。在執行該腳本後,會自動使用從列表文件 users.txt 中獲取到所有的用戶名稱,然後逐一使用“id 用戶名”命令查看用戶的信息,並使用$?判斷這條命令是否執行成 功,也就是判斷該用戶是否已經存在。需要多說一句,/dev/null 是一個被稱作 Linux 黑洞的文件,把輸出信息重定向到這個文件等同於刪除數據(類似於沒有回收功能的垃圾箱),可以讓用戶的屏幕窗口保持簡潔。
在這裏插入圖片描述
在這裏插入圖片描述
執行批量創建用戶的 Shell 腳本 Example.sh,在輸入爲賬戶設定的密碼後將由腳本自動檢查並創建這些賬戶。由於已經將多餘的信息通過輸出重定向符轉移到了/dev/null 黑洞文件中,因此在正常情況下屏幕窗口除了“用戶賬戶創建成功”(Create success)的提示後不會有其他內容。在 Linux 系統中,/etc/passwd 是用來保存用戶賬戶信息的文件。如果想確認這個腳本是否成功創建了用戶賬戶,可以打開這個文件,看其中是否有這些新創建的用戶信息。
在這裏插入圖片描述

腳本中出現的$(命令)是一種完全類似於轉義字符中反引號

 `命令`

的 Shell 操作符,效果同樣是執行括號或雙引號括起來的字符串中的命令。

在這裏插入圖片描述

while條件循環語句

在這裏插入圖片描述

case條件測試語句

在這裏插入圖片描述
本文記錄的並不是很詳細,如有需求可查閱相關書籍!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章