Programación y secuencias de comandos

Línea de comandos de Linux y atajos de shell bash

Línea de comandos de Linux y atajos de shell bash

Introducción

Aunque puede pensar que ha aprendido a dominar la línea de comando de Linux con Bash Shell, siempre hay algunos trucos nuevos para aprender a hacer que sus habilidades de línea de comando sean más eficientes. Este artículo le enseñará algunos trucos más básicos sobre cómo hacer su vida con la línea de comandos de Linux y Bash más llevable e incluso agradable.

Expansión del historial de comandos de Bash

Esta sección se ocupará principalmente de atajos de Bash en combinación con tres personajes de expansión de la historia de Bash "!","^"Y"#". Persona de expansión de la historia del comando bash "!"Indica la expansión del inicio de la historia. El "^" es un personaje de sustitución para modificar un comando de ejecución previamente. El último personaje opcional es "#", que denota el recordatorio de la línea como comentario.

Repita el último comando

$ Echo Bash Accesos directos
Atajos de Bash
ps !!
atajos de eco bash
Atajos de Bash

!! es probablemente el atajo bash más fácil y popular, que simplemente muestra y ejecuta su último comando ingresado.

Repita el comando más reciente

$ Echo Bash Accesos directos
Atajos de Bash
$ wc -m /etc /bash_completion
45 /etc /bash_completion
ps !eco
atajos de eco bash
Atajos de Bash

Entrando "!"Personaje seguido de palabra clave le indicará a Shell que busque un comando más reciente que comience con palabra clave. Se puede hacer una modificación menor del comando anterior para imprimir solo el comando más reciente pero no ejecutarlo. Esto puede ser bastante útil si no está seguro de cuál fue su comando más reciente y no quiere ejecutarlo antes de poder confirmar su significado. Para hacer eso simplemente agregar :pag Al final de tu comando seguido de !! Si está feliz de ejecutarlo:

$ Echo Bash Accesos directos
Atajos de Bash
$ wc -m /etc /bash_completion
45 /etc /bash_completion
ps !Echo: P
atajos de eco bash
ps !!
atajos de eco bash
Atajos de Bash

Todos los argumentos del último comando

$ Echo Bash Accesos directos
Atajos de Bash
$ touch !*
Touch Bash atajos
$ LS
Atajos de Bash

El !* El atajo se expandirá a todos los argumentos utilizados por el último comando. En nuestro ejemplo anterior, hemos utilizado todos los argumentos anteriores utilizados por el comando echo para crear archivos utilizando el comando touch con los mismos argumentos.

Primer argumento del último comando

$ Echo Bash Accesos directos
Atajos de Bash
$ touch !^
Touch Bash
$ LS
Intento

Del mismo modo, como en el ejemplo anterior, en este ejemplo hemos usado el atajo bash !^ para reutilizar solo el primer argumento del último comando.

Último argumento del último comando

atajos de eco bash
Atajos de Bash
$ touch !ps
toque atajos
$ LS
Atajos

Lo mismo que en el ejemplo anterior también podemos reutilizar el último argumento suministrado al comando Ejecutar previamente.

Sustitución de comando rápido

En el siguiente ejemplo, vamos a volver a ejecutar el comando anterior pero sustituir la palabra "Linux" con "Bash".

$ Echo Linux Comando Línea de comando Linux Comando de comando
Línea de comando de Linux Línea de comando Linux
$^Linux^Bash^
Línea de comandos de comando echo bash linux
línea de comandos de comando bash línea de comando Linux

El ejemplo anterior ha sustituido la primera aparición de la primera aparición de la palabra clave Linux con bash. Esto es equivalente a:

ps !!: S/Linux/Bash/

Ejecutar enésimo comando desde la historia

Por defecto, Bash Shell mantiene una pista de todos los comandos que ha ejecutado anteriormente como historial. Cada comando en su historial de bash tiene su número relevante. El siguiente ejemplo ejecutará el comando 189 en su historial de comando bash.

ps !189

Del mismo modo que en los ejemplos anteriores puede, en lugar de ejecutar el comando directamente, imprimirlo primero con :pag.

 ps !189: P

PISTA: Para ver los últimos 5 comandos en su historial de comando bash ejecute: $ Historia 5

Para ejecutar el último 4to comando de su historial de bash, use disminución -4:

ps !-4

Repita toda la línea de comando

ps Línea de comandos de echo !#
Línea de comando echo bash echo bash línea de comandos
línea de comando bash echo echo línea de comandos bash

El !# hace que Bash sobre la ejecución del comando repita todo lo que ha escrito en toda la línea de comandos. Puede limitar este comportamiento imprimiendo solo ciertas palabras clave con: enésima palabra clave. Por ejemplo, para volver a imprimir solo la segunda palabra clave que puede usar:

Línea de comandos de $ echo bash !#: 2
echo de comando de línea de comandos de echo
Comando de línea de comandos de Bash

Atendos para editar su línea de comandos Bash

Lista de accesos directos básicos de edición de la línea de comandos Bash

Ctrl + F Avanzar una palabra
Ctrl + B Moverse hacia atrás una palabra
Alt + C Capitalizar el carácter actual en el cursor y moverse al final de la palabra
Alt + u Haga que todos los caracteres sean mayores a partir de la posición actual del cursor hasta el final de la palabra
Alt + l Haga todos los caracteres en minúsculas a partir de la posición actual del cursor hasta el final de la palabra
Alt + D Elimine todos los caracteres que comienzan desde la posición actual del cursor hasta el final de la palabra
Alt + F Avanzar por la palabra por palabra
Alt + t Cambiar la palabra actual con anterior
Ctrl + t Intercambiar el personaje actual con anterior
Ctrl + K Eliminar todo desde la posición actual del cursor hasta el final de la línea de comando
CTRL + Y Pegar texto o caracteres previamente eliminados con atajos de deleción

Conclusión

El objetivo de este artículo era introducir algunos atajos básicos de Bash utilizados en una línea de comandos de Linux. Para más lectura de la página Manual de acceso de Bash and History:

$ hombre Bash
$ HISTORIA HOMBRE
Error fatal La partición primaria incorrecta 0 termina en el cilindro parcial final
Error fatal mala partición primaria 0 la partición termina en el cilindro parcial final este error ocurre cuando CFDisk está tratando de leer una part...
Joomla - Error La respuesta XML que se devolvió del servidor no es válida
Hoy he tenido un problema para instalar un Joomla 1.5 en mi servidor VPS. De hecho, pude instalarlo pero sin datos de muestra. El mensaje de error que...
Página de Manual
Nombre Chown cambie el propietario del archivo y la sinopsis de grupo Chown [opción] ... [propietario] [ [grupo]] archivo ... chown [opción] ... -refe...