1、多命令順序執(zhí)行
| 多命令執(zhí)行符 | 格式 | 作用 |
|---|---|---|
| ; | 命令1 ; 命令2 | 多個命令順序執(zhí)行,命令之間沒有任何邏輯關(guān)系。就算第一條命令執(zhí)行報錯,第二條也會執(zhí)行。 |
| && | 命令1 && 命令2 | 邏輯與,當(dāng)命令1正確執(zhí)行,命令2才會執(zhí)行;當(dāng)命令1執(zhí)行錯誤,則命令2不會執(zhí)行。 |
| || | 命令1 || 命令2 | 邏輯或,當(dāng)命令1執(zhí)行錯誤,命令2才會執(zhí)行;當(dāng)命令1執(zhí)行正確,則命令2不會執(zhí)行。 |
1.1、多命令執(zhí)行符之;
順序執(zhí)行命令:
date;cd /fdjalfdjaskfd;pwd
執(zhí)行結(jié)果如下圖所示:

中間命令 cd /fdjalfdjaskfd 雖然報錯了,但是后面的命令pwd依然執(zhí)行了。
假設(shè)有個比較耗時的命令A(yù),我們可以使用 date;命令A(yù);date 的方式,統(tǒng)計出來執(zhí)行命令A(yù)的具體耗時。先記錄下系統(tǒng)時間,然后去執(zhí)行命令A(yù),等命令A(yù)執(zhí)行完后再次記錄系統(tǒng)時間。兩次系統(tǒng)時間差就是命令A(yù)的耗時。
1.2、多命令執(zhí)行符之&&
分別執(zhí)行命令 date && pwd 和 date111 && pwd。

當(dāng)?shù)谝粋€命令date正確執(zhí)行的時候,后面的pwd也能輸出結(jié)果。當(dāng)date111命令不能正確執(zhí)行時,后面的pwd則也沒有任何結(jié)果輸出。
之前我們在學(xué)習(xí) 從零開始學(xué)習(xí)Linux(十八):源碼包管理 的時候,安裝源碼包的步驟為:
(1)檢查配置 ./configure;
(2)編譯 make;
(3)編譯安裝 make install;
整個命令也可以簡化為 ./configure && make && make install。
1.3、多命令執(zhí)行符之||
分別執(zhí)行命令 date || pwd 和 date111 || pwd。

當(dāng)?shù)谝粋€命令date正確執(zhí)行的時候,后面的pwd沒有被執(zhí)行。當(dāng)date111命令不能正確執(zhí)行時,后面的pwd則輸出正確結(jié)果。
2、管道符
命令格式:命令1 | 命令2;
命令說明:命令1的正確輸出作為命令2的操作對象;
2.1、搜索命令
命令格式:grep [選項] 搜索內(nèi)容 文件名;
選項說明:
- -i:忽略大小寫;
- -n:輸出行號;
- -v:反向查找;
- --color=auto:搜索出的關(guān)鍵字用顏色顯示;
現(xiàn)在grep命令查詢結(jié)果都自動有顏色標(biāo)注,是因?yàn)槎x了grep別名。使用alias命令查看別名,發(fā)現(xiàn)grep='grep --color=auto'。如下圖所示:

2.2、示例
2.2.1、分頁查看/etc下面的文件信息
由于 ll /etc 命令輸出結(jié)果信息太長,翻看比較麻煩?,F(xiàn)在想使用 more命令查看 ll /etc 的內(nèi)容。執(zhí)行命令:
ll /etc | more
2.2.2、搜索/opt/sh/hello.sh文件中Hello內(nèi)容
執(zhí)行命令搜索Hello
cat /opt/sh/hello.sh | grep Hello

分別執(zhí)行以下兩個命令,第一個搜索hello內(nèi)容,第二個忽略大小寫搜索hello內(nèi)容。
cat /opt/sh/hello.sh | grep hello
cat /opt/sh/hello.sh | grep -i hello
執(zhí)行結(jié)果如下圖所示:

2.2.3、查看端口信息
執(zhí)行命令,查詢已經(jīng)建立連接的端口信息:
netstat -an | grep "ESTABLISHED"
執(zhí)行結(jié)果如下圖所示:
