linux shell一些重要指令
- 盅安?代表的是回傳值這個變量代表的是上一個命令執(zhí)行的回傳的值髓废,一般來說懒棉,成功執(zhí)行回傳1草描,不成功執(zhí)行就會回傳其他值
- export 代表的是自定義變量轉(zhuǎn)環(huán)境變量,差別在于該變量是否會被子進程引用策严。
- 變量內(nèi)容的刪除:
{path%%/*test/bin}
- 替換功能:
{path//sbin//bin}
- 變量內(nèi)容替換
{username:-ljw}區(qū)別
- 變量設置內(nèi)容替換具體要看變量設置相關的表
- alias 命令別名進行操作
- history
數(shù)據(jù)流重定向
首先區(qū)分一下標準輸出和標準錯誤輸出。
簡單的說妻导,標準輸出指的是命令執(zhí)行所傳回的正確的信息逛绵,而標準錯誤輸出可理解為命令執(zhí)行失敗后所傳回的錯誤信息。
數(shù)據(jù)重定向就是把標準輸出和標準錯誤輸出的結(jié)果分別傳送到其他的文件或者設備中去倔韭,這對于我們想要將某些數(shù)據(jù)保存下來是很有用的暑脆。分別傳送所用的字符如下:
- 標準輸入(stdin):代碼為0,使用< 或 <<;
- 標準輸出(stdout):代碼為1狐肢,使用> 或 >>;
- 標準錯誤輸出(stderr):代碼為2,使用2> 或 2>>;
這里說明一下:單個(> 或 <)是指覆蓋寫沥曹,覆蓋的意思就是如果目標文件存在數(shù)據(jù)時份名,把原數(shù)據(jù)清空碟联,再寫進去。而雙個(<< 或 >>)是指追加寫僵腺。也就是鲤孵,接在原數(shù)據(jù)的后面寫入。
graph LR
file-->Command
Command-->standardOutput-File/device
Command-->standardError-File/device
輸出正確數(shù)據(jù)輸出到文件忠
數(shù)據(jù)流輸出到指定文件進行覆蓋>或1> 文件路徑
[carver@master ~]$ ll > ~/rootfile
[carver@master ~]$ cat ~/rootfile
total 8
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Desktop
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Documents
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Downloads
-rw-rw-r--. 1 carver carver 92 Jun 19 14:53 dump.rdb
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Music
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Pictures
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Public
-rw-rw-r--. 1 carver carver 0 Aug 12 22:05 rootfile
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Templates
-rwxrwxr-x. 1 carver carver 46 Aug 12 21:02 test.sh
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Videos
[carver@master ~]$ ll > ~/rootfile
[carver@master ~]$ cat ~/rootfile
total 8
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Desktop
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Documents
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Downloads
-rw-rw-r--. 1 carver carver 92 Jun 19 14:53 dump.rdb
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Music
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Pictures
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Public
-rw-rw-r--. 1 carver carver 0 Aug 12 22:07 rootfile
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Templates
-rwxrwxr-x. 1 carver carver 46 Aug 12 21:02 test.sh
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Videos
數(shù)據(jù)流追加到原來文件命令>>h或1>> 文件路徑
[carver@master ~]$ ll >> ~/rootfile
[carver@master ~]$ cat ~/rootfile
total 8
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Desktop
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Documents
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Downloads
-rw-rw-r--. 1 carver carver 92 Jun 19 14:53 dump.rdb
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Music
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Pictures
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Public
-rw-rw-r--. 1 carver carver 0 Aug 12 22:07 rootfile
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Templates
-rwxrwxr-x. 1 carver carver 46 Aug 12 21:02 test.sh
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Videos
total 12
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Desktop
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Documents
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Downloads
-rw-rw-r--. 1 carver carver 92 Jun 19 14:53 dump.rdb
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Music
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Pictures
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Public
-rw-rw-r--. 1 carver carver 585 Aug 12 22:07 rootfile
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Templates
-rwxrwxr-x. 1 carver carver 46 Aug 12 21:02 test.sh
drwxr-xr-x. 2 carver carver 6 May 28 18:00 Videos
進行分類輸出文件
[carver@master ~]$ find / -name redis >rightMessage 2> errorMessage
[carver@master ~]$ ll rightMessage errorMessage
-rw-rw-r--. 1 carver carver 76497 Aug 12 22:16 errorMessage
-rw-rw-r--. 1 carver carver 18 Aug 12 22:16 rightMessage
命令執(zhí)行判斷依據(jù)
很多命令需要一次性執(zhí)行辰如,而不想要分開執(zhí)行普监,可以使用shell編程或者使用:;琉兜,&& ||命令進行執(zhí)行操作凯正,但是筆主覺得偏向于用shell編程,所以這里不展開說明豌蟋。
管道命令
我們經(jīng)常會遇到一些命令廊散,輸出就會霸占整個控制臺,對排查問題并不友好梧疲。管道命令可以解決上面的問題允睹,類似less,more幌氮,tail命令
- cut -d'分割符' -f fields | cut -c 字符范圍
- grep 指令缭受,sort wc uniq 命令
- 字符轉(zhuǎn)換命令 tr col join psate expand