自學(xué)Linux的過程中做了一點(diǎn)小總結(jié)凯傲,因此寫出來和大家分享一下业崖,希望能共同進(jìn)步健田!
Bash shell的特點(diǎn):
1钾挟、 命令的自動(dòng)補(bǔ)齊:Tab鍵
2收捣、 命令的歷史記憶功能:上下鍵困食;笼蛛!+數(shù)字可以自動(dòng)找出在history中的相應(yīng)命令并且執(zhí)行芽唇;塘匣!+string可以自動(dòng)找到最近一個(gè)以string開頭的命令并且執(zhí)行脓豪;!$指的是上一個(gè)命令的最后一個(gè)參數(shù)忌卤;Iㄒ埂!指的是上一個(gè)命令驰徊,因?yàn)樵谀_本中不能進(jìn)行翻頁笤闯,所有常作為腳本命令執(zhí)行,ctrl+R可以搜索歷史命令棍厂。
3颗味、 別名功能:alias可以查看別名;unalias cp取消別名牺弹;~username/.bashrc可以進(jìn)行永久別名的設(shè)置浦马;\cp –rf /etc/hosts表示忽略別名
4、 快捷鍵:^R搜索歷史命令例驹;^D登出系統(tǒng)捐韩;^A將光標(biāo)移到命令開始;^E將光標(biāo)移到命令結(jié)尾;^K將光標(biāo)移到中間刪除后半部命令鹃锈;^U將光標(biāo)移到中間刪除前部分命令荤胁;^Y撤銷上個(gè)操作
5、 前后臺(tái)作業(yè)控制 :命令之后加一個(gè)&表示將工作提交到后臺(tái)執(zhí)行屎债;命令前加一個(gè)nohup可以讓該命令在終端關(guān)閉之后還可以執(zhí)行仅政;^C殺死前臺(tái)正在運(yùn)行的任務(wù);^Z盆驹,將前臺(tái)工作扔到后臺(tái)去執(zhí)行圆丹;bg展示后臺(tái)正在運(yùn)行的工作,也可以用jobs躯喇;fg表示將后臺(tái)運(yùn)行的工作調(diào)到前臺(tái)運(yùn)行辫封;kill %+數(shù)字表示殺死后臺(tái)某一個(gè)作業(yè)
6硝枉、 輸入輸出重定向:0表示標(biāo)準(zhǔn)輸入;1表示標(biāo)準(zhǔn)輸出倦微;2表示標(biāo)準(zhǔn)錯(cuò)誤妻味,也就是錯(cuò)誤輸出;>表示寫入某一個(gè)文件欣福,>>表示追加寫入某一個(gè)文件;2>&1:& 表示等同于的意思责球,2>&1,表示2的輸出重定向等同于1拓劝,即和1重定向的文件系統(tǒng)上的位置是一樣的; cat << EOF > file:EOF是一個(gè)從標(biāo)準(zhǔn)輸入傳遞命令給cat的標(biāo)志雏逾,執(zhí)行結(jié)束的命令輸出到file文件中保存
7、 Tee管道郑临,相當(dāng)于一個(gè)三通栖博,可以在特定地方截取管道命令的輸出信息。
管道文件不同于常用文件牧抵,管道文件就跟水一樣是一個(gè)動(dòng)態(tài)的文件笛匙,每個(gè)時(shí)間點(diǎn)打開管道文件查看都能看到不一樣的東西,而常用文件只要不進(jìn)行更改都是一樣的內(nèi)容犀变,另外管道文件都遵循一個(gè)原則:先進(jìn)先出后進(jìn)后出妹孙,顧名思義就是先被管道接受的東西首先被記錄。
另:
關(guān)于命名管道與匿名管道的區(qū)別:創(chuàng)建命名管道:mkfifo +管道名字
8获枝、 命令排序:
不具備邏輯判斷能力:分號(hào)
具備邏輯判斷能力:&& 和 ||
注意:
Command &? 后臺(tái)執(zhí)行
Command &>/dev/null? 混合重定向
Command1 && Command2? 命令排序蠢正,具備邏輯判斷能力
9、 shell通配符(元字符省店,即表示的不是本意)
*匹配任意多個(gè)字符
嚣崭?匹配任意一個(gè)字符
[]表示匹配括號(hào)內(nèi)的任意一個(gè)字符:[abc]表示匹配abc中的任意一個(gè),而[^abc]表示除了abc之外的任意一個(gè)字符懦傍。
(command)在子shell中執(zhí)行命令
{}將幾個(gè)元素括起來表示一個(gè)集合雹舀,可以用來批量創(chuàng)建和刪除文件
\ 轉(zhuǎn)義字符,讓元字符回歸本意