在 Linux 命令行中,當(dāng)輸入字符后,按Tab 鍵,Shell 就會(huì)列出以這些字符開(kāi)頭的所有可用命令,如果只有一個(gè)命令匹配到,按一次 Tab 鍵就自動(dòng)將這個(gè)命令補(bǔ)全。
龍亭網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)公司從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
如果輸入pass,此時(shí)按 Tab 鍵,因?yàn)橐詐ass開(kāi)頭的命令只有passwd這個(gè)命令, Shell 就會(huì)自動(dòng)補(bǔ)全 passwd 命令。
另外如果輸入的字符匹配多個(gè)命令則會(huì)列出所有可用的命令,比如,如果輸入do,此時(shí)按 Tab 鍵 Shell 就會(huì)自列出可用的命令。
但是系統(tǒng)自帶的命令補(bǔ)全功能有限,自動(dòng)補(bǔ)全功能僅限于命令和文件名。
可以安裝 Bash 命令補(bǔ)全增強(qiáng)軟件包 bash-completion來(lái)實(shí)現(xiàn)更多命令的補(bǔ)全。
以Centos為例
直接通過(guò)yum命令安裝
bash-completion版本信息
配置命令補(bǔ)全
命令補(bǔ)全的腳本存放在/usr/share/bash-completion/completions/目錄,可以在這個(gè)目錄查看支持增強(qiáng)補(bǔ)全功能的命令。
再試試輸入docker命令后按tab鍵:
可以看到后續(xù)可用命令的提示,媽媽再也不用擔(dān)心我記不住命令了。
同樣對(duì)于kubenetes也可以實(shí)現(xiàn)命令的自動(dòng)補(bǔ)全和提示:
如果是在安裝bash-completion之后安裝git是不能自動(dòng)命令補(bǔ)全,需要手動(dòng)進(jìn)行一些配置。
git安裝之后文檔里會(huì)有g(shù)it-completion.bash文件
安裝完git之后重新source一下bash-completion
看看配置之后的效果
如果覺(jué)得有用記得收藏點(diǎn)贊
Linux(CentOS6.5)自動(dòng)補(bǔ)全失效解決方案。
如果是你CLI(command line interface)的愛(ài)好者的話(huà),自動(dòng)補(bǔ)齊的功能一定是你的必選。直入正題,使用bash-completion可以幫你解決,CentOS6.5默認(rèn)沒(méi)有安裝,則需要手動(dòng)安裝:[root@localhost etc]# yum install bash-completion
若以上命令不好使,可使用[root@localhost etc]# yum upg(rade)
linux 應(yīng)該都有自動(dòng)補(bǔ)全的。
如果確定沒(méi)有輸入錯(cuò)誤的話(huà),請(qǐng)檢查:
1、是否存在多個(gè)相同字頭,多輸入幾個(gè)字母試試
2、字符集問(wèn)題導(dǎo)致未正確傳遞tab過(guò)去。
如果能提供更多信息將會(huì)更利于找到問(wèn)題所在。
在Linux的終端中輸入tab鍵時(shí),有時(shí)會(huì)出現(xiàn)命令不能補(bǔ)全的情況,此時(shí)有一種原因是bash錯(cuò)誤。
使用 ls -l /bin/sh 命令發(fā)現(xiàn)
/bin/sh - /bin/dash
dash是一個(gè)不同于bash的Shell,它主要為了執(zhí)行腳本而出現(xiàn),而不是交互,它速度更快,但功能比bash要少的多。語(yǔ)法嚴(yán)格遵守POSIX標(biāo)準(zhǔn)。
通過(guò)命令 ln -sf bash /bin/sh 可以將dash改成bash。此時(shí)問(wèn)題可以解決。
Ubuntu系統(tǒng)在某些情況下,apt-get 不能補(bǔ)全相關(guān)命令,可以通過(guò)修改/etc/bash.bashrc文件的相關(guān)行,把默認(rèn)的#號(hào)去掉即可。
if [ -f /etc/bash_completion ]; then
/etc/bash_completion
fi
重新登錄Shell即可。
此處參考: .
本文出自 “ 低調(diào)的前進(jìn) ” 博客,請(qǐng)務(wù)必保留此出處