8.6 管道符和做業控制html
8.7/8.8 shell變量linux
8.9 環境變量配置文件shell
擴展bash
bashrc和bash_profile的區別 http://ask.apelearn.com/question/7719操作系統
簡易審計系統: http://www.68idc.cn/help/server/linux/2014042190951.html.net
關於PROMPT_COMMAND環境變量的含義 http://www.linuxnote.org/prompt_command-environment-variables.htmlserver
1、管道符和做業控制htm
示例:把ls的輸出結果傳給wc進行統計對象
做業控制:ctrl + z 能夠暫停一個任務。blog
好比說正在vi編輯一個文件,能夠ctrl + z暫停vi編輯,這時能夠在控制檯繼續使用其它操做:
若是想繼續進行vi編輯可使用fg命令從新調用回來繼續執行:
有多個任務在暫停中,可使用jobs命令查看:
多個暫停的任務時,指定任務恢復:
fg id號 以下圖先是jobs查看暫停的任務id,而後使用fg id號進行恢復,若是不指定id號那就是恢復最後一次運行的。
若是想把暫停任務放到後臺繼續運行:
以下圖sleep 300 任務是暫停狀態,咱們使用bg 命令把它丟到後臺繼續運行,再查看它的狀態已經變爲運行中
在命令後面加入&也可使命令直接在後臺執行:
2、shell變量
環境變量是在操做系統中一個具備特定名字的對象,它來代替某些程序或數據。
env命令:列出系統預設的所有系統變量
set命令:set不只能夠顯示系統預設的環境變量,還能夠顯示用戶自定義的變量。
變量查看:echo $變量名
1.自定義變量規則:
a=b,a爲變量名,b爲值,等號兩邊不能有空格。
變量名只能由字母,數字以及下劃線組成,並且不能以數字開頭。
當變量值帶有特殊字符時,須要加上單引號。
變量內容自己就帶有單引號,這個時候須要加上雙引號。
示例:
當變量值有特殊符號時須要使用單引號(''):
變量的累加:
2.全局變量
打開兩個終端,在其中一個終端中設置一個環境變量,在另一個終端中是查看不到的。 echo $SHH_TTY:能夠經過此命令查看當前在哪一個終端下
終端1:
終端2:
若是再當前shell中運行bash命令,則會進入一個新的shell中,這個shell是原來shell的子shell
咱們能夠用pstree來查看當前所在的位置(若是沒安裝則先安裝:yum install -y psmisc)
以上這種狀況是本地環境變量,只在當前終端下生效,若是想要變爲全局變量則須要使用:exprot命令
示例:
在另一個終端中查看:
再從新打開一個終端:
發現變量又沒了,這是由於全局變量值能向下生效,只能在子shell中生效。
取消環境變量:unset 變量名
3、環境變量配置文件
系統環境變量配置文件分兩個維度:系統層次和用戶層次
/etc/profile 用戶登陸的時候會加載到
/etc/bashrc 用戶或系統執行shell腳本時候,會用調用這個文件裏的一些配置
通常不要編輯,若是須要全部用戶使用的全局變量則修改/etc/profile
~/.bashrc
~/.bash_profile
~/.bash_history
~/.bash_logout 用戶退出時作的一些操做,如:想退出時刪除歷史命令,把刪除命令放入這個文件中便可。
source 配置文件
或者 . 配置文件
PS1是來定義系統提示符的系統變量,通常系統默認的形式是:[username@host 工做目錄]$.
root用戶顯示的是:
普通用戶是:
root是以#結尾,普通用戶是$結尾。
能夠同echo $PS1來進行查看:
也能夠進行修改
示例:修改顯示絕對路徑
修改顯示顏色:
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$'
查看PS2模式: