日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Linux命令自動(dòng)補(bǔ)全工具,自動(dòng)補(bǔ)全git、Docker、k8s等命令

 什么是命令自動(dòng)補(bǔ)全

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的南寧網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

在 Linux 命令行中,當(dāng)輸入字符后,按Tab 鍵,Shell 就會(huì)列出以這些字符開頭的所有可用命令,如果只有一個(gè)命令匹配到,按一次 Tab 鍵就自動(dòng)將這個(gè)命令補(bǔ)全。

如果輸入pass,此時(shí)按 Tab 鍵,因?yàn)橐詐ass開頭的命令只有passwd這個(gè)命令, Shell 就會(huì)自動(dòng)補(bǔ)全 passwd 命令。

另外如果輸入的字符匹配多個(gè)命令則會(huì)列出所有可用的命令,比如,如果輸入do,此時(shí)按 Tab 鍵 Shell 就會(huì)自列出可用的命令。

 
 
  1. [root@node2 ~]# do
  2. do docker-containerd-shim dockerd done
  3. docker docker-containerd-shim-current dockerd-current
  4. docker-containerd docker-ctr-current docker-storage-setup
  5. docker-containerd-current docker-current domainname

但是系統(tǒng)自帶的命令補(bǔ)全功能有限,自動(dòng)補(bǔ)全功能僅限于命令和文件名。

可以安裝 Bash 命令補(bǔ)全增強(qiáng)軟件包 bash-completion來(lái)實(shí)現(xiàn)更多命令的補(bǔ)全。

bash-completion的安裝

以Centos為例

 
 
  1. [root@node1 ~]# cat /etc/redhat-release
  2. CentOS Linux release 7.7.1908 (Core)

直接通過(guò)yum命令安裝

 
 
  1. yum install bash-completion

bash-completion版本信息

 
 
  1. [root@node1 completions]# rpm -qi bash-completion
  2. Name : bash-completion
  3. Epoch : 1
  4. Version : 2.1
  5. Release : 6.el7
  6. Architecture: noarch
  7. Install Date: Thu 19 Mar 2020 07:59:19 AM CST
  8. Group : Unspecified
  9. Size : 264934
  10. License : GPLv2+
  11. Signature : RSA/SHA256, Fri 04 Jul 2014 08:47:01 AM CST, Key ID 24c6a8a7f4a80eb5
  12. Source RPM : bash-completion-2.1-6.el7.src.rpm
  13. Build Date : Tue 10 Jun 2014 08:05:27 AM CST
  14. Build Host : worker1.bsys.centos.org
  15. Relocations : (not relocatable)
  16. Packager : CentOS BuildSystem 
  17. Vendor : CentOS
  18. URL : http://bash-completion.alioth.debian.org/
  19. Summary : Programmable completion for Bash
  20. Description :
  21. bash-completion is a collection of shell functions that take advantage
  22. of the programmable completion feature of bash.

配置命令補(bǔ)全

 
 
  1. source /usr/share/bash-completion/bash_completion

命令補(bǔ)全的腳本存放在/usr/share/bash-completion/completions/目錄,可以在這個(gè)目錄查看支持增強(qiáng)補(bǔ)全功能的命令。

再試試輸入docker命令后按tab鍵:

 
 
  1. [root@node1 completions]# docker
  2. build diff history inspect logs port restart search stats top wait
  3. commit events image kill network ps rm secret stop unpause
  4. container exec images load node pull rmi service swarm update
  5. cp export import login pause push run stack system version
  6. create help info logout plugin rename save start tag volume
  7. [root@node1 completions]# docker

可以看到后續(xù)可用命令的提示,媽媽再也不用擔(dān)心我記不住命令了。

同樣對(duì)于kubenetes也可以實(shí)現(xiàn)命令的自動(dòng)補(bǔ)全和提示:

 
 
  1. [root@node1 ~]# kubectl
  2. annotate certificate cordon drain get port-forward run uncordon
  3. api-versions cluster-info cp edit label proxy scale version
  4. apply completion create exec logs replace set
  5. attach config delete explain options rolling-update taint
  6. autoscale convert describe expose patch rollout top
  7. [root@node1 ~]# kubectl

git的命令補(bǔ)全

如果是在安裝bash-completion之后安裝git是不能自動(dòng)命令補(bǔ)全,需要手動(dòng)進(jìn)行一些配置。

git安裝之后文檔里會(huì)有g(shù)it-completion.bash文件

 
 
  1. [root@node1 bash-completion]# find / -name git-completion*
  2. /usr/share/doc/git-1.8.3.1/contrib/completion/git-completion.bash
  3. /usr/share/doc/git-1.8.3.1/contrib/completion/git-completion.tcsh
  4. /usr/share/doc/git-1.8.3.1/contrib/completion/git-completion.zsh
  5. /usr/share/bash-completion/completions/git-completion.bash
  6. /usr/share/git-core/contrib/completion/git-completion.tcsh
  7. [root@node1 bash-completion]#

安裝完git之后重新source一下bash-completion

 
 
  1. source /usr/share/bash-completion/bash_completion

看看配置之后的效果

 
 
  1. [root@node3 ~]# git
  2. add cherry difftool init reflog show
  3. am cherry-pick fetch log relink show-branch
  4. annotate clean filter-branch merge remote stage
  5. apply clone format-patch mergetool repack stash
  6. archive column fsck mv replace status
  7. bisect commit gc name-rev request-pull submodule
  8. blame config get-tar-commit-id notes reset subtree
  9. branch credential grep pull revert tag
  10. bundle describe help push rm whatchanged
  11. checkout diff imap-send rebase shortlog
  12. [root@node3 ~]# git


網(wǎng)站標(biāo)題:Linux命令自動(dòng)補(bǔ)全工具,自動(dòng)補(bǔ)全git、Docker、k8s等命令
文章URL:http://www.dlmjj.cn/article/dheoeip.html