組合鍵功能與示範
[ctrl]+u
從游標處向前刪除指令串
[ctrl]+k
從游標處向後刪除指令串
[ctrl]+a
讓游標移動到整個指令串的最前面
[ctrl]+e
讓游標移動到整個指令串的最後面
變數設定方式說明$
若變數內容符合【舊字串】,則【第乙個舊字串會被新字元】
$若變數內容符合【舊字串】,則【全部的舊字串會被新字串取代】
終端機的環境設定:
組合按鍵
執行結果
ctrl+c
終止目前的命令
ctrl+d
輸入結束,例如郵件結束的時候
ctrl+m
就是enter
ctrl+s
暫停螢幕的輸出
ctrl+q
恢復螢幕的輸出
ctrl+u
在提示字元下,將整列命令刪除
ctrl+z
暫停目前的命令
萬用字元與特殊符號
符號意義
*代表【0個到無窮多個】任意字元
?代表一定有乙個任意字元
同樣代表【一定有乙個在括號內】的字元(非任意字元),例如[abcd]代表【一定有乙個字元,可能是a,b,c,d這四個任何乙個】
[^]若中括號內的第乙個字元為指數符合[^],那表示【^abc】代表一定有乙個字元,只要是非a,b,c的其他字元就接受的意思。
除了萬用字元之外,bash環境中的特殊符號有哪些?
符號內容
#批註符號,這個最常被使用在script當中,視為說明!在後的資料均不執行
\跳脫符號,將特殊符號或萬用字元,還原成一般字元
|管線(pipe):分隔兩個管線命令的界定
;連續指令下達分隔符:連續性命令的界定(注意!與管線命令並不相同)
~使用者的家目錄
$取用變數前導符:亦即是變數之前需要加的變數取代符
&工作控制(job control):將指令變成背景下工作
!邏輯運算意義上的【非】 not的意思!
/目錄符號;路徑分隔的符號
>,>>
資料流重導向:輸出導向,分別是【取代】與【累計】
<,<<
資料庫重導向:輸入導向
''單引號,不具有變數置換的功能($變為純文字)
""具有變數置換的功能,($可保留相關功能)
()在中間為子shell的起始與結束
``兩個[`]中間為可以先執行的指令,亦可用$()
{}在中間為命令區塊的組合
命令執行的判斷依據:
指令下達情況
說明cmd1 && cmd2
1.若cmd1執行完畢且正確執行($?=0),則開始執行cmd2.
2.若cmd1執行完畢且為錯誤($?!=0),則cmd2不執行
cmd1 || cmd2
1.若cmd1執行完畢且正確執行($?=0),則cmd2不再執行
2.若cmd1執行完畢且為錯誤($!=0),則開始執行cmd2
bash 指令碼筆記
輸入了什麼引數 輸入了多少個引數 1輸入的第乙個引數,依此類推,直到 9 上一次的執行結果 為 1 2 3 一起被引號包住 為 1 2 3 分別被包住 為3 引數數量 d target target 是否是 目錄 f target 是否是檔案 e target 是否存在 目錄和檔案都適用 x tar...
bash 技巧筆記
alias 可以對乙個或一組命令起乙個別名。和 bash 函式不同的是 alias 沒有自己的獨立程序。在有些情況下,和函式是不能相互替代的。比如alias shift2 shift 2 之後就可以在指令碼或函式中使用,踢掉兩個引數。這樣的東西用函式是不管用的。但是,alias 如果寫在指令碼裡,執...
BASH學習筆記 sed
可以通過定址來定位你所希望編輯的行,該位址用數字構成,用逗號分隔的兩個行數表示以這兩行為起止的行的範圍 包括行數表示的那兩行 如1,3表示1,2,3行,美元符號 表示最後一行。範圍可以通過資料,正規表示式或者二者結合的方式確定。呼叫sed命令有兩種形式 a 在當前行後面加入一行文字。b lable ...