linux筆記七( Bash Shell )

通過查詢/etc/shells這個檔案,就可以知道系統可用的shell.


bash主要的優點有底下幾個:
1、命令編修能力(history)
2、命令與檔案補全功能([tab]按鍵的好處)
3、命令別名設定功能(alias)
4、工作控制、前景背景控制
5、程序化腳本(shell scripts)
6、通配符(Wildcard)


Bash shell 的內建命令:type
可以通過type這個指令來觀察某個指令是來自於外部指令(指的是其他非bash所提供的指令)或是內建在bash當中
指令語法: type [-tpa] name


變量的取用: echo
取消變量的方法爲使用unset


什麼是子程序? 就是說,在我目前這個shell的情況下,去啓用另一個新的shell,新的那個shell就是子程序。
在一般的狀態下,父程序的自定義變量是無法在子程序內使用的。但是通過export將變量變成環境變量後,就能
夠在子程序底下應用了。


locate指令可以列出所有的相關檔案檔名。


在一串指令中,在反單引號~之內的指令將會被先執行,而其執行出來的結果將做爲外部的輸入信息。


環境變量的功能
用env觀察環境變量與常見環境變量說明,env是environment的簡寫,列出所有的環境變量。
用set觀察所有變量(含環境變量與自定義變量)
export :自定義變量轉成環境變量。 將環境變量轉成自定義變量用declare指令。


變量鍵盤讀取、數組與宣告:read, arry, declare


要讀取來自鍵盤輸入的變量,就使用read這個指令。
指令語法: read [-pt] variable


declare或typeset是一樣的功能,就是在宣告變量的類型
語法指令: declare [-aixr] variable 


限制用戶的某些系統資源,包括可以開啓的檔案數量,可以使用的CPU時間,可以使用的內存總量等等,可
以使用ulimit指令。
指令語法: ulimit [-SHacdfltu] [配額]


變量的測試與替換



命令別名設定: alias, unalias


bash有提供指令歷史的服務,那麼如何查詢我們曾經下達過的指令呢?使用history指令


Bash的進站與歡迎訊息:/etc/issue, /etc/motd
如果你想要讓使用者登入後取得一些訊息,例如你想要讓大家都知道的訊息,那麼可以將訊息加入/etc/motd裏面去。


Bash的環境配置文件
source: 讀入環境配置文件的指令。


終端機的環境設定: stty, set


數據流重導向
1、標準輸入 (stdin):代碼爲0,使用<或<<;
2、標準輸出 (stdout):代碼爲1,使用>或>>;
3、標準錯誤輸出 (stderr):代碼爲2,使用2>或2>>;


$? (指令回傳值) 與&& 或 || 



/dev/null垃圾桶黑洞裝置與特殊寫法
這個/dev/null可以吃掉任何導向這個裝置的信息。


管線命令
管線命令僅會處理standard output,對於standard error output 會予以忽略。
管線命令必須要能夠接受來自前一個指令的數據成爲standard input繼續處理才行。
例如less,more,head,tail等都是可以接受standard input的管線命令。至於例如ls,cp,mv等就不是管線命令,因爲
ls,cp,mv並不會接受來自stdin的數據。


截取命令: cut,grep


排序命令: sort,wc,uniq


雙向重導向:tee
tee會同時將數據流分送到檔案與屏幕去。


字符轉換命令: tr, col, join, paste, expand
col經常被利用於將man page 轉存爲純文本文件以方便查閱的功能。
join主要是在處理兩個檔案中有“相同數據”的那一行,纔將他加在一起。
paste就要比join簡單多了,paste 就直接將兩行貼在一起,且中間以[tab]鍵隔開。
expand這玩意就是將[tab]鍵轉存空格鍵。


分割命令:split
split可以幫你將一個大檔案,依據檔案大小或行數來分割,就可以將大檔案分割成小檔案。


參數代換:xargs


關於減號-的用途
在管線命令當中,常常會使用到前一個指令的stdout作爲這次的stdin,某些指令需要用到文件名(例如tar)來進行
處理時,該stdin與stdout可以利用減號“-”來替代。


本章介紹的管線命令主要有:cut, grep, sort, wc, uniq, tee, tr, col, join, paste, expand, split, 

xargs 等。


 

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