GNU/Linux >> Tutoriels Linux >  >> Linux

5 Achèvement standard disponible dans la ligne de commande Linux Bash

Sous Linux, Bash fournit par défaut la complétion standard suivante que les utilisateurs peuvent utiliser dans la ligne de commande :

  1. Complétion de nom de variable
  2. Saisie du nom d'utilisateur
  3. Complétion exécutable
  4. Remplissage du nom de fichier et du répertoire
  5. Complétion du nom d'hôte

1. Achèvement de nom de variable

Après avoir tapé $ dans le terminal, appuyez deux fois sur la touche de tabulation pour afficher toutes les variables shell disponibles, comme indiqué ci-dessous.

$ 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. Complétion du nom d'utilisateur

Lorsque vous appuyez deux fois sur la touche de tabulation, après le tilde (~), bash lancera automatiquement la complétion du nom d'utilisateur.

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

Veuillez noter que cela ne récupère pas le nom d'utilisateur du répertoire personnel. Au lieu de cela, il affiche tous les noms d'utilisateur disponibles à partir du fichier /etc/passwd

3. Complétion du nom de chemin pour les exécutables

Lorsque vous essayez d'exécuter une commande, si l'exécutable a l'autorisation d'exécution, elle sera automatiquement terminée si une seule correspondance est trouvée, comme indiqué dans l'exemple ci-dessous.

$ 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

Lorsque plusieurs correspondances sont trouvées, il affichera les commandes disponibles.

4. Achèvement du nom de fichier et du répertoire

Cette complétion concerne les noms de fichiers et de répertoires apparaissant à la deuxième position et aux positions suivantes sur la ligne de commande. Contrairement à l'exemple ci-dessus, cela ne vérifie aucune autorisation et affiche simplement tous les fichiers et répertoires disponibles.

$ ls
countfiles.sh  dir1  dir2  dir3 

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

$ cat c[TAB][TAB]

$ cat countfiles.sh

De plus, lorsqu'il y a beaucoup de fichiers à afficher, au lieu d'afficher toutes les possibilités à l'écran, ce qui peut devenir très déroutant, le message d'avertissement suivant s'affiche.

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

5. Achèvement du nom d'hôte

Afin d'obtenir les noms d'hôte auxquels se connecter, appuyez deux fois sur la touche de tabulation après le symbole @ comme indiqué ci-dessous :

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

Vous pouvez utiliser cette fonctionnalité de complétion de nom d'hôte avec n'importe quelle commande où vous pouvez donner @ pour le nom d'hôte. Par exemple, vous pouvez également l'utiliser avec scp comme indiqué ci-dessous :

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

Veuillez noter que cela récupère les noms d'hôte disponibles à partir du fichier /etc/hosts.


Linux
  1. Avoir une vache à la ligne de commande Linux

  2. Enfermez-vous sur la ligne de commande Linux

  3. 10 exemples de commandes complètes Linux Bash_Completion utiles (achèvement de la ligne de commande Bash sur les stéroïdes)

  4. Définir la fonction dans la ligne de commande unix/linux (par exemple BASH)

  5. Bash si sur une seule ligne

Commande Diff sous Linux

Comment utiliser le proxy sur la ligne de commande Linux ?

Comment démarrer en ligne de commande Linux

Maîtrisez la ligne de commande Linux

Principes de base de la ligne de commande Linux :sudo

Comment trouver une adresse IP dans la ligne de commande Linux