GNU/Linux >> Tutoriales Linux >  >> Linux

Comando Bash fc:maneja fácilmente el Bash Shell como un profesional

¿Alguna vez ejecutó un comando en Bash y obtuvo un error debido a una palabra mal escrita? ¿O tal vez olvidó los últimos tres comandos que ejecutó? En lugar de volver a escribir o recordar comandos anteriores, Bash fc El comando puede ayudar a realizar ediciones rápidas y volver a ejecutar comandos anteriores.

En este artículo, aprenderá cómo aprovechar fc para editar y volver a ejecutar comandos desde su historial de comandos. Después de leer esta guía, tendrás fc ¡como el guerrero de la línea de comandos que quieres ser!

Requisitos

Este artículo será un tutorial. Si planea seguir paso a paso, necesita una computadora con Linux o una computadora con Windows 10 con el Subsistema de Windows para Linux (WSL) habilitado. Este tutorial usará Ubuntu 20.04 LTS.

Acerca de Bash fc Comando

fc no es una aplicación de Linux sino una utilidad de shell integrada en Bash. Bash está disponible en la mayoría de las principales distribuciones de Linux. Con unas pocas pulsaciones de teclas, Bash fc El comando le permite enumerar, editar o ejecutar comandos anteriores.

El fc El comando también está disponible en Z Shell (ZSH). Pero el ejemplo de este artículo usará fc en Bash.

¿Ejecutaste un comando largo que resultó ser incorrecto? fc le evitará volver a escribir todo el comando. En su lugar, fc le permite editar el comando utilizando el editor de texto de su elección. ¡Después de guardar sus ediciones, los comandos editados se ejecutarán automáticamente!

Listo para tomar fc ¿Para un giro? ¡Vamos a sumergirnos!

Lista de comandos anteriores

¿Se alejó de su computadora, regresó y olvidó qué comando ejecutó por última vez? O tal vez no pueda recordar si ha ejecutado varios comandos en la secuencia correcta. ¿A qué te dedicas? Relájate, fc te ayudará a recordar. Así es como.

1. Abra una terminal Bash en su computadora.

2. Para fc para ser útil, debe tener algún tipo de historial de comandos con el que trabajar. Como acaba de abrir una nueva ventana de terminal, es posible que aún no haya un historial de comandos. Para crear un historial de comandos para realizar pruebas, copie cada comando a continuación y ejecútelo en su terminal. Estos comandos no son intrusivos y no está poniendo en peligro su computadora.

# Clear the screen
 clear
 
# print a string to the terminal session
 echo 'working on the command line with fc'
 
# show some system information
 uname -a
 
# use PS command to get process information
 ps aux

3. A continuación, enumere todos los comandos en el historial ejecutando el siguiente comando. El -l opción instruye fc para enumerar solo todos los comandos anteriores y no ejecutarlos.

fc -l

Como puede ver a continuación, el fc El comando mostró los cuatro comandos que emitió anteriormente. Los números a la izquierda indican el orden en que ejecutó cada comando.

Editar y volver a ejecutar el último comando

Imagine una situación en la que está instalando una aplicación y cometió un error de ortografía. Como resultado, el comando falla. En lugar de volver a escribir todo el comando, ¿por qué no editar el comando y volver a ejecutarlo automáticamente? Para hacerlo, sigue estos pasos.

1. Simule la instalación de una aplicación inexistente ejecutando el siguiente comando en su terminal. Tenga en cuenta que intencionalmente escribirá mal el nombre de la aplicación caffiene .

sudo apt install caffiene -y

Como resultado, el intento de instalación falla. Recibirá un mensaje similar al siguiente.

2. Para corregir el último comando que ejecutó, ejecute el siguiente comando en la terminal. Al hacerlo, se abrirá el búfer del historial de comandos en el editor de texto predeterminado. En este ejemplo, el editor de texto predeterminado es nano.

fc

La siguiente captura de pantalla muestra el último comando dentro del editor nano.

Si nano no es su editor de texto preferido, puede instruir a fc para usar un editor diferente, como vi. Para ello, incluye el -e opción seguida del nombre del editor de texto. Por ejemplo, fc -e vi abrirá el historial de comandos en el editor de texto vi.

3. Una vez que esté en el editor de texto nano, corrija la ortografía del nombre de la aplicación desde caffiene a caffeine .

4. Después de corregir el nombre de la aplicación, presione CTRL+X para salir de nano.

5. En el siguiente mensaje que le pide ¿Guardar búfer modificado? , presiona Y —> Enter para guardar los cambios.

Inmediatamente después de salir del editor de texto, fc ejecuta automáticamente el comando que editó.

Editar y volver a ejecutar un comando anterior

Con fc , no solo puede editar el último comando que ejecutó, sino que también puede editar cualquiera de los comandos anteriores que ejecutó. Por ejemplo, para editar el comando echo 'working on the command line with fc' , sigue estos pasos.

1. Enumere el comando anterior en la terminal ejecutando el siguiente comando.

fc -l

2. Busque el comando que desea editar en la lista del historial de comandos y tome nota del número a su izquierda. En este ejemplo, el número de comando es 2.

3. Para editar el comando con el número de entrada 2, ejecute el siguiente comando en la terminal. El comando se abrirá en el editor de texto para su edición.

fc 2

4. Una vez en el editor de texto, ahora edite el comando según sea necesario.

5. Después de editar el comando, presione CTRL+X para salir de nano.

6. En el siguiente mensaje que le pide ¿Guardar búfer modificado? , presiona Y —> Enter para guardar los cambios.

Después de guardar el comando y salir del editor de texto, el comando que editó se ejecuta automáticamente en el shell.

Editar y volver a ejecutar varios comandos

Si crees que fc solo puede editar y ejecutar un comando anterior a la vez, entonces está de enhorabuena. ¿Por qué? fc ¡También le permite editar múltiples comandos anteriores! ¿Cómo es útil editar múltiples comandos anteriores? Por un lado, puede cambiar el orden de ejecución del comando.

Suponga que desea editar los números de comando anteriores 2 a 7. Para hacerlo, proceda de la siguiente manera.

1. Ejecute el siguiente comando en su terminal Bash y presione Enter . El siguiente comando se lee como fc 2 7 , lo que significa que fc abrirá los comandos 2 a 7 para editar.

fc 2 7

2. A continuación, edite los comandos según sea necesario. Para este ejemplo:

  • Eliminar el sudo apt install caffiene -y comando.
  • Cambia el orden de uname -a y ps aux .
  • Eliminar clear .

3. Después de editar los comandos, presione CTRL+X para salir de nano.

4. En el siguiente mensaje que le pide ¿Guardar búfer modificado? , presiona Y —> Enter para guardar los cambios.

Los comandos que editó se ejecutarán automáticamente después de salir del editor de texto.

Volver a ejecutar un comando anterior sin editar

Suponga que solo necesita ejecutar un comando anterior sin editar primero. fc tiene una opción para eso. Siga los pasos a continuación para ejecutar un comando anterior desde una entrada específica en el historial.

  1. Enumere el comando anterior en la terminal ejecutando el siguiente comando.
fc -l

2. En la lista del historial de comandos, busque el comando que desea ejecutar nuevamente y tome nota del número a su izquierda. En este ejemplo, el número de comando es 2.

3. Para ejecutar el comando anterior específico, ejecute el siguiente comando en el shell. El -s opción instruye fc para omitir la edición y continuar con la ejecución del comando número 2.

fc -s 2

La siguiente captura de pantalla muestra el comando número 2 ejecutado por fc del historial de comandos.

Conclusión

Este artículo se propuso despertar su interés en un comando útil pero a menudo perdido y olvidado llamado fc . Aprendiste a usar fc para evitar volver a escribir comandos ejecutados anteriormente, lo que puede ser una pérdida de tiempo.

Con el conocimiento que ahora tienes sobre fc , ¿es algo que crees que usarías? ¿O seguirás prefiriendo volver a escribir los comandos en el shell? ¡Haz una buena elección!


Linux
  1. Alias ​​de línea de comandos en el shell de Linux

  2. Personalización del shell Bash

  3. La diferencia entre los operadores Bash [[ Vs [ Vs ( Vs ((?)

  4. ¿Navegación rápida de directorios en Bash Shell?

  5. ¿El punto del comando externo `cd`?

Cómo usar el comando de lectura Bash

La lista de atajos de teclado Bash útiles

Cómo usar el comando Declare en Linux Bash Shell

5 consejos para usar el comando SS de Linux como un profesional

¿Entiendes el significado de `$_`?

'&&' vs. '&' con el comando 'test' en Bash