GNU/Linux >> Tutoriales Linux >  >> Linux

5 Finalización estándar disponible en la línea de comandos de Linux Bash

En Linux, de forma predeterminada, Bash proporciona la siguiente finalización estándar para que los usuarios la utilicen en la línea de comandos:

  1. Finalización de nombre de variable
  2. Finalizar nombre de usuario
  3. Finalización del ejecutable
  4. Finalización de nombre de archivo y directorio
  5. Finalización de nombre de host

1. Finalización de nombre de variable

Después de escribir $ en la terminal, al presionar el tabulador dos veces se mostrarán todas las variables de shell disponibles, como se muestra a continuación.

$ 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. Finalización del nombre de usuario

Cuando presiona tabulador dos veces, después de la tilde (~), bash iniciará automáticamente la finalización del nombre de usuario.

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

Tenga en cuenta que esto no recoge el nombre de usuario del directorio de inicio. En su lugar, muestra todos los nombres de usuario disponibles del archivo /etc/passwd

3. Finalización de nombre de ruta para ejecutables

Cuando intenta ejecutar un comando, si el ejecutable tiene permiso de ejecución, se completará automáticamente si se encuentra una única coincidencia, como se muestra en el ejemplo a continuación.

$ 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

Cuando se encuentran múltiples coincidencias, mostrará los comandos disponibles.

4. Finalización de nombre de archivo y directorio

Esta finalización es para los nombres de archivos y directorios que se encuentran en la segunda posición y en las subsiguientes en la línea de comandos. A diferencia del ejemplo anterior, esto no verifica ningún permiso y solo mostrará todos los archivos y directorios disponibles.

$ ls
countfiles.sh  dir1  dir2  dir3 

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

$ cat c[TAB][TAB]

$ cat countfiles.sh

Además, cuando hay muchos archivos para mostrar, en lugar de mostrar todas las posibilidades en la pantalla, lo que puede resultar muy confuso, mostrará el siguiente mensaje de advertencia.

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

5. Finalización del nombre de host

Para obtener los nombres de host a los que conectarse, presione el tabulador dos veces después del símbolo @ como se muestra a continuación:

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

Puede usar esta función de finalización de nombre de host junto con cualquier comando en el que pueda dar @ para el nombre de host. Por ejemplo, también puede usar esto con scp como se muestra a continuación:

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

Tenga en cuenta que esto recoge los nombres de host disponibles del archivo /etc/hosts.


Linux
  1. 8 consejos para la línea de comandos de Linux

  2. Tener una vaca en la línea de comandos de Linux

  3. Encárguese en la línea de comandos de Linux

  4. Comandos Bash Bang:un truco imprescindible para la línea de comandos de Linux

  5. Defina la función en la línea de comandos de Unix/Linux (por ejemplo, BASH)

Comando Dif en Linux

¿Cómo usar el proxy en la línea de comandos de Linux?

Cómo iniciar en la línea de comandos de Linux

Domina la línea de comandos de Linux

Conceptos básicos de la línea de comandos de Linux:sudo

Cómo encontrar la dirección IP en la línea de comandos de Linux