自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux命令自動補(bǔ)全工具,自動補(bǔ)全git、Docker、k8s等命令

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

[[319333]]

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

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

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

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

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

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

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

bash-completion的安裝

以Centos為例

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

直接通過yum命令安裝

  1. yum install bash-completion 

bash-completion版本信息

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

配置命令補(bǔ)全

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

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

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

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

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

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

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

git的命令補(bǔ)全

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

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

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

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

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

看看配置之后的效果

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

 

 

 

責(zé)任編輯:張燕妮 來源: 今日頭條
相關(guān)推薦

2009-06-03 17:00:08

Eclipse自動補(bǔ)全

2024-05-10 08:51:31

Python命令補(bǔ)全工具

2021-07-14 14:20:22

root命令Linux

2020-07-31 07:44:12

代碼自動補(bǔ)全

2021-04-22 09:46:35

K8SCluster Aut集群

2022-02-07 08:42:28

k8sdocker命令

2022-04-02 06:43:44

CLI 工具Fig終端自動補(bǔ)全

2014-12-31 17:12:54

模糊查詢模糊查詢

2022-01-25 09:58:21

IPython 8.代碼命令行

2014-08-20 10:02:54

GitGit能力

2020-12-21 08:10:01

Kubernetes實(shí)用技巧kubectl

2015-09-28 11:22:55

命令行補(bǔ)全Linux

2025-02-17 01:00:00

Visual命令終端

2013-10-22 11:17:30

Google自動搜索

2022-04-22 13:32:01

K8s容器引擎架構(gòu)

2021-11-07 07:41:21

K8S命令行管理工具容器

2014-04-08 15:05:11

LinuxLinux命令行補(bǔ)全命令

2019-08-02 10:31:21

深度學(xué)習(xí)編程人工智能

2024-11-11 00:38:13

Mypy靜態(tài)類型

2022-09-25 21:34:55

命令操作
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號