1. 程式人生 > >shell基礎-bash基本功能-多命令順序執行與管道符

shell基礎-bash基本功能-多命令順序執行與管道符

1. 多命令順序執行

多命令執行符 基本格式 作用
; 命令1 ; 命令2 多個命令按照先後順序執行,命令之間沒有邏輯關係。
&& 命令1 && 命令2 邏輯與。 只有當命令1執行正確,命令2才會執行。
|| 命令1 || 命令2 邏輯或。 只有當命令1執行不正確,命令2才會執行。

說明:多命令執行符(;、&&、||)兩側的空格可以省略。

示例:

ls ; ll ; pwd

cd /tmp && ls

cd /tmp || ls

講一個磁碟複製或資料複製命令 dd。

它不同於cp命令,dd命令可以複製特殊檔案,也可以複製分割槽,甚至整個硬碟,不僅會複製資料,而且會複製檔案系統。

磁碟複製命令dd:

命令格式:dd if=輸入檔案 of=輸出檔案 bs=位元組數 count=個數

選項:

if=輸入檔案:指定原始檔或源裝置。
of=輸出檔案:指定目標檔案或目標裝置。
bs=位元組數:指定每次輸入或輸出多少位元組,即把這些位元組看做一個數據塊。
count=個數:指定輸入或輸出多少個數據塊。

示例:

date ; dd if=/dev/zero of=/root/testfile bs=1k count=100000 ; date

/dev/zero 是個特殊檔案,是0。

通過這個測試,可以知道Linux系統複製一個100M的檔案需要多長時間。

./configure && make && make install 
當命令./configure執行正確,才會執行make,當make也執行正確,才會執行make install。

命令1 && echo yes || echo no  
可以用這條命令來判斷,命令1是否執行正確。

2. 管道符

管道符是一個豎線。

命令格式:命令1 | 命令2

作用:將命令1的正確輸出作為命令2的操作物件。

注意:命令1必須有正確輸出才行,否則命令2無法執行。

示例:

ll -a /etc | more

more命令可以分屏顯示檔案的內容,但不可以直接分屏顯示命令的結果,在它之前加了管道符,就可以將前一命令的輸出結果作為它的操作物件。

搜尋查詢命令grep:

命令格式:grep [選項] 查詢的字串 檔名

選項:

-i:查詢時忽略大小寫。
-n:顯示行號。
-v:反向查詢(把不含有要搜尋字串的所有行顯示出來)。
--color=auto:將匹配的關鍵字用顏色顯示。

作用:在檔案中搜索查詢字串,顯示匹配字串所在的行。

說明:[選項] 和 查詢的字串 之間的順序可以互換。

查詢的字串可用引號(單引號或雙引號)括起來,也可省略引號。

示例:

grep "root" -i -n --color=auto /etc/passwd   
把/etc/passwd檔案中含有root字串的所有行顯示出來。
不區分大小寫,顯示行號,匹配到的root用顏色顯示。

netstat -an | grep -i established
檢視計算機中已經連線的網路狀態。
通過此命令也可以識別出當前計算機有幾個人在連線。