bash的功能:
創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設、網(wǎng)絡營銷策劃、成都微信小程序、電子商務建設、網(wǎng)絡推廣、移動互聯(lián)開發(fā)、研究、服務為一體的技術(shù)型公司。公司成立10年以來,已經(jīng)為千余家成都高空作業(yè)車租賃各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務?,F(xiàn)在,服務的千余家客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。1.命令行編輯
2.歷史命令
3.命令補全
4.命令別名和命令替換
5.管道,重定向
6.命令行展開
7.文件名通配
8.變量
9.編程
1.命令行編輯
光標跳轉(zhuǎn)
ctrl+a 跳到命令首行
ctrl+e 跳到命令行尾
ctrl+u 刪除光標與行首間的內(nèi)容
ctrl+k 刪除光標與行首間的內(nèi)容
ctrl+l 清屏
bash支持的引號
` `(反引號) 命令引用
”“ 弱引用,可以實現(xiàn)變量替換
’‘(單引號) 強引用,不完成變量替換
2.歷史命令
查看歷史命令:history
-c 清空歷史
-d OFFSET [n] 刪除指定位置的命令
-w 保存命令歷史至歷史文件中
命令歷史的使用
!n 執(zhí)行命令歷史中的第n條命令
!-n 執(zhí)行命令歷史中倒數(shù)的第n條命令
!! 執(zhí)行上一條命令
!String 執(zhí)行命令歷史中最近一條以字符串String開頭的命令
!$ 引用前一個命令的最后一個參數(shù)
Esc松開后按“ . ” 同上
Alt+ . 同上
3.命令補全
命令自動補全 Tab
路徑補全 Tab
4.命令別名和命令替換
alias CMDALIAS = ‘COMMAND [ ]’
定義的別名僅在當前的shell的生命周期內(nèi)有效
替換 語法 含義
歷史 ! 前一個命令行
大括號 {} 指定的文本
代字號 ~username 用戶的主目錄
變量 $,${...} Shell 和環(huán)境變量
算術(shù) $((...)) 算術(shù)運算
命令替換 `...` , $(...) 運行在子 shell 中的命令的輸出
路徑名 *,?,[...],[^...] 文件系統(tǒng)中匹配的文件名
$( ) 先執(zhí)行()中的命令再執(zhí)行整個命令,也可以使用反引號
5.文件名通配
*:任意長度的任意字符
例:a* 以a開頭后面任意字符(沒長度也可以)
a*3 以a開頭后長度為3的任意字符
?:任意單個字符
[]:匹配指定范圍內(nèi)的任意單個字符
例:[abc], [a-m], [a-z], [A-Z], [0-9], [a-zA-Z], [0-9a-zA-Z]
[^]:匹配指定范圍之外的任意單個字符
例: [^[:alpha:]] 一個非字母
[:space:]:所有的空白字符
[:punct:]:所有的標點符號
[:lower:]:小寫字母
[:upper:]: 大寫字母
[:alpha:]: 大小寫字母
[:digit:]: 數(shù)字
[:alnum:]: 數(shù)字和大小寫字母
6.變量
本地變量 set VARNAME=VALUE 作用域為整個bash進程。
局部變量 local VARNAME=VALUE 作用域為當前代碼段
環(huán)境變量 export VARNAME 作用域為當前shell進程及其子進程;
位置變量 $1,$2……
特殊變量 $? 上一個命令的執(zhí)行狀態(tài)返回值
程序執(zhí)行可能有兩類返回值:程序執(zhí)行結(jié)果,程序狀態(tài)返回代碼(0-255)
0:正確執(zhí)行
1-255:錯誤執(zhí)行,其中1,2,127系統(tǒng)預留。
撤銷變量 unset VARNAME
查看系統(tǒng)中所有變量(含環(huán)境變量和自定義變量):set
查看當前shell中的環(huán)境變量:printenv、env、export
bash的配置文件
1、/etc/profile:在登錄時,操作系統(tǒng)定制用戶環(huán)境時使用的第一個文件,此文件為系統(tǒng)的每個用戶設置環(huán)境信息,當用戶第一次登錄時,該文件被執(zhí)行。
2、/etc/environment:在登錄時操作系統(tǒng)使用的第 二個文件,系統(tǒng)在讀取你自己的profile前,設置環(huán)境文件的環(huán)境變量。
3、~/.bash_profile:在 登錄時用到的第三個文件是.profile文件,每個用戶都可使用該文件輸入專用于自己使用的shell信息,當用戶登錄時,該 文件僅僅執(zhí)行一次!默 認情況下,他設置一些環(huán)境變游戲量,執(zhí)行用戶的.bashrc文件。/etc/bashrc:為每一個運行bash shell的用戶執(zhí)行此文件.當bash shell被打開時,該文件被讀取.
4、~/.bashrc:該 文件包含專用于你的bash shell的bash信息,當?shù)卿洉r以及每次打開新的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
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。