GNU/Linux >> LINUX-Kenntnisse >  >> Linux

5 Standardvervollständigung Verfügbar in der Linux Bash-Befehlszeile

Unter Linux bietet Bash standardmäßig die folgende Standardvervollständigung für Benutzer zur Verwendung in der Befehlszeile:

  1. Variablennamen-Vervollständigung
  2. Vervollständigung des Benutzernamens
  3. Ausführbare Vervollständigung
  4. Dateiname und Verzeichnisvervollständigung
  5. Hostnamen-Vervollständigung

1. Vervollständigung des Variablennamens

Nachdem Sie $ im Terminal eingegeben haben, werden durch zweimaliges Drücken der Tabulatortaste alle verfügbaren Shell-Variablen wie unten gezeigt angezeigt.

$ echo $[TAB][TAB]
$_                            $COMP_POINT                   $HOSTTYPE                     $PS1
$_backup_glob                 $COMPREPLY                    $IFS                          $PS2
$BASH                         $COMP_TYPE                    $inx                          $PS4
$BASH_ALIASES                 $COMP_WORDBREAKS              $LANG                         $PWD
$BASH_ARGC                    $COMP_WORDS                   $LANGUAGE                     $RANDOM
$BASH_ARGV                    $cur                          $LESSCLOSE                    $redir
$BASH_CMDS                    $cword                        $LESSOPEN                     $SECONDS
$BASH_COMMAND                 $DIRSTACK                     $LINENO                       $SHELL
$BASH_COMPLETION_COMPAT_DIR   $DISPLAY                      $LINES                        $SHELLOPTS
$BASH_LINENO                  $errx                         $LOGNAME                      $SHLVL
$BASHOPTS                     $EUID                         $LS_COLORS                    $split
$BASHPID                      $exclude                      $MACHTYPE                     $SUDO_COMMAND
$BASH_REMATCH                 $flag                         $MAIL                         $SUDO_GID
$BASH_SOURCE                  $FUNCNAME                     $MAILCHECK                    $SUDO_UID
$BASH_SUBSHELL                $GROUPS                       $OLDPWD                       $SUDO_USER
$BASH_VERSINFO                $__grub_script_check_program  $OPTERR                       $suffix
$BASH_VERSION                 $HISTCMD                      $OPTIND                       $TERM
$__colormgr_commandlist       $HISTCONTROL                  $OSTYPE                       $UID
$COLORTERM                    $HISTFILE                     $outx                         $USER
$COLUMNS                      $HISTFILESIZE                 $PATH                         $USERNAME
$COMP_CWORD                   $HISTSIZE                     $PIPESTATUS                   $words
$COMP_KEY                     $HOME                         $PPID                         $XAUTHORITY
$COMP_LINE                    $HOSTNAME                     $prev                         $_xspecs

2. Vervollständigung des Benutzernamens

Wenn Sie nach der Tilde (~) zweimal die Tabulatortaste drücken, beginnt Bash automatisch mit der Vervollständigung des Benutzernamens.

$ cd ~[TAB][TAB]
~bala/      ~raj/
~jason/     ~randy/
~john/      ~ritu/
~mayla/     ~thomas/
~nisha/     ~www-data

Bitte beachten Sie, dass der Benutzername nicht aus dem Home-Verzeichnis übernommen wird. Stattdessen zeigt es alle verfügbaren Benutzernamen aus der Datei /etc/passwd

an

3. Pfadnamen-Vervollständigung für ausführbare Dateien

Wenn Sie versuchen, einen Befehl auszuführen und die ausführbare Datei über die Ausführungsberechtigung verfügt, wird sie automatisch abgeschlossen, wenn eine einzelne Übereinstimmung gefunden wird, wie im folgenden Beispiel gezeigt.

$ ls -l /etc/init.d/reboot
-rwxr-xr-x 1 root root 639 Jan 30  2013 /etc/init.d/reboot

$ /etc/init.d/reb[TAB][TAB]

$ /etc/init.d/reboot

Wenn mehrere Übereinstimmungen gefunden werden, werden verfügbare Befehle angezeigt.

4. Dateiname und Verzeichnisvervollständigung

Diese Vervollständigung gilt für Dateinamen und Verzeichnisnamen, die an der zweiten und folgenden Position in der Befehlszeile auftreten. Im Gegensatz zum obigen Beispiel prüft dies nicht auf Berechtigungen und zeigt nur alle verfügbaren Dateien und Verzeichnisse an.

$ ls
countfiles.sh  dir1  dir2  dir3 

$ cat [TAB][TAB]
countfiles.sh  dir1  dir2  dir3  

$ cat c[TAB][TAB]

$ cat countfiles.sh

Auch wenn viele Dateien anzuzeigen sind, wird anstelle der Anzeige aller Möglichkeiten auf dem Bildschirm, was sehr verwirrend werden kann, die folgende Warnmeldung ausgegeben.

$ ls -l /etc/
Display all 228 possibilities? (y or n)

5. Vervollständigung des Hostnamens

Um die Hostnamen zu erhalten, zu denen eine Verbindung hergestellt werden soll, drücken Sie zweimal die Tabulatortaste nach dem @-Symbol, wie unten gezeigt:

$ ssh john@[TAB][TAB]
@dev-db  @fileserver @qa-server
@prod-db @localhost  @web-server

Sie können diese Funktion zur Vervollständigung des Hostnamens zusammen mit jedem Befehl verwenden, bei dem Sie @ für den Hostnamen angeben können. Beispielsweise können Sie dies mit scp auch wie unten gezeigt verwenden:

$ scp filename.txt john@[TAB][TAB]
@dev-db  @fileserver @qa-server
@prod-db @localhost  @web-server

Bitte beachten Sie, dass dies die verfügbaren Hostnamen aus der Datei /etc/hosts übernimmt.


Linux
  1. So löschen Sie den BASH-Befehlszeilenverlauf in Linux

  2. So löschen Sie den Bash-Verlauf unter Linux

  3. Bash-Bang-Befehle:Ein Must-Know-Trick für die Linux-Befehlszeile

  4. 10 nützliche Linux Bash_Completion Complete-Befehlsbeispiele (Bash Command Line Completion on Steroids)

  5. 6 Verkettungsoperatoren für Bash-Shell-Befehlszeilen unter Linux

Diff-Befehl unter Linux

Wie verwende ich Proxy in der Linux-Befehlszeile?

So booten Sie in die Linux-Befehlszeile

Meistern Sie die Linux-Befehlszeile

Grundlagen der Linux-Befehlszeile:sudo

So finden Sie die IP-Adresse in der Linux-Befehlszeile