bash

bash定義: linux使用版本的shell叫作的「Bourne again Shell」,簡稱bash。linux

type:查看是否爲shell的內置命令shell

 

1.bash

echo $變量名: 取用變量 ,設置規則介紹略過。spa

unset 變量名 : 取消設置的變量 線程

 

2.排序

env :觀察環境變量 (environment的縮寫)input

set: 觀察環境變量和自定變量(set 還能夠幫咱們設置整個指令輸出/輸入的環境。 例如記錄歷史命令、顯示錯誤,這個懶得寫筆記了好累啊)it

列舉幾個變量:ast

PS1變量:這個東西就是咱們的「命令提示字符」.能夠用man bash去看看PS1  ,    echo ${PS1}變量

$ : 目前這個線程的pid代號  echo $$

? : 上一個指令的回傳值, 正確時候回傳0,錯誤時候回傳非零 echo $? 

export 將自定變量轉爲環境變量

locale查看語系變量,總體系統的默認語系定義在 /etc/locale.conf

 

3.

read:讀取來自鍵盤輸入的變量

選項與參數:
-p :後面能夠接提示字符
-t :後面能夠接等待的「秒數

declare 宣告變量的類型

 

4.

例echo ${path#/*local/bin:}  

#從前日後刪最短的那個, ##從前日後刪符合取代文字的最長的那個。 從後往前%,%%

${變量/舊字串/新字串} 替換第一個舊字符

${變量//舊字串/新字串}替換全部的舊字符

 

5.

變量設置方式str 沒有設置str 爲空字串str 已設置非爲空字串

         str沒值         str爲空串       str有值
var=${str-expr}   var=expr       var=               var=$str
var=${str:-expr}  var=expr      var=expr        var=$str

 

6.

別名alias,unalias

歷史命令history ,當期用的操做記錄在~/.bash_history

 

 

7.配置文件解釋

/etc/profile    :login shell 纔會讀/etc/profile還會去調用外部的設置數據。在 CentOS 7.x 默認的狀況下,下面這些數據會依序的被調用進來: /etc/profile.d/*.sh

/etc/locale.conf   : 這個文件是由 /etc/profile.d/lang.sh 調用進來的

~/.bash_profile :  login shell 纔會讀,bash 在讀完了總體環境設置的 /etc/profile 並藉此調用其餘配置文件後,接下來則是會讀取使用者的我的配置文件。所讀取的我的偏好配置文件其實主要有三個~/.bash_profile, ~/.bash_login, ~/.profile 其實 bash 的 login shell 設置只會讀取上面三個文件的其中一個, 而讀取的順序則是依照上面的順序。

~/.bashrc : nonlogin shell 時,該 bash 配置文件僅會讀取 ~/.bashrc

/etc/bashrc : CentOS 7.x 還會主動的調用 這個文件。因爲這個 ~/.bashrc 會調用 /etc/bashrc 及 /etc/profile.d/*.sh , 因此,萬一你沒有 ~/.bashrc (可能本身不當心將他刪除了),那麼你會發現你的 bash 提示字符可能會變成這個樣子:-bash-4.2$   由於並無調用 /etc/bashrc 來規範 PS1 變量(這個我還真遇到過。不過當時不知道爲何特別鬱悶)

/etc/man_db.conf : 規範了使用 man 的時候, man page 的路徑到哪裏去尋找。

~/.bash_history : 歷史命令就記錄在這裏

~/.bash_logout : 當我登出 bash 後,系統再幫我作完什麼動做後才離開

 

8.

組合按鍵執行結果
Ctrl + C 終止目前的命令
Ctrl + D 輸入結束 (EOF),例如郵件結束的時候;
Ctrl + M 就是 Enter 啦!
Ctrl + S 暫停屏幕的輸出
Ctrl + Q 恢復屏幕的輸出
Ctrl + U 在提示字符下,將整列命令刪除
Ctrl + Z 「暫停」目前的命令

符號 :

* 表明「 0 個到無窮多個任意字符

?表明「必定有一個」意字符

[ ] 一樣表明「必定有一個在括號內」的字符(非任意字符)。例如 [abcd] 表明「必定有一個字符, 多是 a, b, c, d 這四個任何一個

[ - ]   、[^ ]

 

9

1. 標準輸入  (stdin) :代碼爲 0 ,使用 < 或 << ; <<表明結束符
2. 標準輸出  (stdout):代碼爲 1 ,使用 > 或 >> ;>覆蓋的方式輸入,>>累加的方式輸入
3. 標準錯誤輸出(stderr):代碼爲 2 ,使用 2> 或 2>> ;

/dev/null 垃圾桶黑洞

命令執行的判斷依據   ;     &&     ||

 

10管道

管線命令僅會處理 standard output,對於 standard error output 會予以忽略
管線命令必需要可以接受來自前一個指令的數據成爲 standard input 繼續處理才行。

 

擷取命令: cut, grep

排序命令: sort, wc, uniq

雙向重導向: tee

字符轉換命令: tr, col, join, paste, expand

分區命令: split

參數代換: xargs

stdin 與 stdout 能夠利用減號 "-" 來替代

 

 

 

這麼多全敲了。脖子疼。。。T_T

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ctrl+a、ctrl+e讓光標移動到最前、後面

相關文章
相關標籤/搜索