您好,登錄后才能下訂單哦!
bash的功能:
1.命令行編輯
2.歷史命令
3.命令補全
4.命令別名和命令替換
5.管道,重定向
6.命令行展開
7.文件名通配
8.變量
9.編程
1.命令行編輯
光標跳轉
ctrl+a 跳到命令首行
ctrl+e 跳到命令行尾
ctrl+u 刪除光標與行首間的內容
ctrl+k 刪除光標與行首間的內容
ctrl+l 清屏
bash支持的引號
` `(反引號) 命令引用
”“ 弱引用,可以實現變量替換
’‘(單引號) 強引用,不完成變量替換
2.歷史命令
查看歷史命令:history
-c 清空歷史
-d OFFSET [n] 刪除指定位置的命令
-w 保存命令歷史至歷史文件中
命令歷史的使用
!n 執行命令歷史中的第n條命令
!-n 執行命令歷史中倒數的第n條命令
!! 執行上一條命令
!String 執行命令歷史中最近一條以字符串String開頭的命令
!$ 引用前一個命令的最后一個參數
Esc松開后按“ . ” 同上
Alt+ . 同上
3.命令補全
命令自動補全 Tab
路徑補全 Tab
4.命令別名和命令替換
alias CMDALIAS = ‘COMMAND [ ]’
定義的別名僅在當前的shell的生命周期內有效
替換 語法 含義
歷史 ! 前一個命令行
大括號 {} 指定的文本
代字號 ~username 用戶的主目錄
變量 $,${...} Shell 和環境變量
算術 $((...)) 算術運算
命令替換 `...` , $(...) 運行在子 shell 中的命令的輸出
路徑名 *,?,[...],[^...] 文件系統中匹配的文件名
$( ) 先執行()中的命令再執行整個命令,也可以使用反引號
5.文件名通配
*:任意長度的任意字符
例:a* 以a開頭后面任意字符(沒長度也可以)
a*3 以a開頭后長度為3的任意字符
?:任意單個字符
[]:匹配指定范圍內的任意單個字符
例:[abc], [a-m], [a-z], [A-Z], [0-9], [a-zA-Z], [0-9a-zA-Z]
[^]:匹配指定范圍之外的任意單個字符
例: [^[:alpha:]] 一個非字母
[:space:]:所有的空白字符
[:punct:]:所有的標點符號
[:lower:]:小寫字母
[:upper:]: 大寫字母
[:alpha:]: 大小寫字母
[:digit:]: 數字
[:alnum:]: 數字和大小寫字母
6.變量
本地變量 set VARNAME=VALUE 作用域為整個bash進程。
局部變量 local VARNAME=VALUE 作用域為當前代碼段
環境變量 export VARNAME 作用域為當前shell進程及其子進程;
位置變量 $1,$2……
特殊變量 $? 上一個命令的執行狀態返回值
程序執行可能有兩類返回值:程序執行結果,程序狀態返回代碼(0-255)
0:正確執行
1-255:錯誤執行,其中1,2,127系統預留。
撤銷變量 unset VARNAME
查看系統中所有變量(含環境變量和自定義變量):set
查看當前shell中的環境變量:printenv、env、export
bash的配置文件
1、/etc/profile:在登錄時,操作系統定制用戶環境時使用的第一個文件,此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行。
2、/etc/environment:在登錄時操作系統使用的第 二個文件,系統在讀取你自己的profile前,設置環境文件的環境變量。
3、~/.bash_profile:在 登錄時用到的第三個文件是.profile文件,每個用戶都可使用該文件輸入專用于自己使用的shell信息,當用戶登錄時,該 文件僅僅執行一次!默 認情況下,他設置一些環境變游戲量,執行用戶的.bashrc文件。/etc/bashrc:為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取.
4、~/.bashrc:該 文件包含專用于你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該 該文件被讀取。
全局配置
/etc/profile , /etc/profile.d/*.sh , /etc/bashrc
個人配置
~/.bash_profile , ~/.bashrc
profile類的文件
設定本地變量
運行命令或腳本
bashrc類文件
設定本地變量
定義命令別名
登陸式shell讀取配置文件的方式:
/etc/profile-->/etc/profile.d/*.sh-->~/.bash_profile-->~/.bashrc-->/etc/bashrc
非登錄式shell讀取配置文件的方式:
~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。