GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo corregir errores y errores tipográficos en comandos de consola anteriores en Linux

¿Alguna vez, sin saberlo, ejecutó un comando con un error tipográfico? Bueno, simplemente puede presionar la flecha ARRIBA/ABAJO para abrir el historial de comandos, encontrar el comando mal escrito, editar el error tipográfico y finalmente volver a ejecutarlo. ¡Esto es lo que la mayoría de nosotros haremos normalmente! Sin embargo, también hay otras formas de corregir errores tipográficos en comandos ingresados ​​previamente. En este tutorial, veremos todas las formas posibles de corregir errores en comandos de consola anteriores en Linux y Unix.

Descargo de responsabilidad:

Este artículo contiene un NSFW (No es seguro para el trabajo) y una palabra inusual en algunos lugares. Aunque oculté ligeramente esa palabra, no pude evitarla por completo. Dado que no hay forma de excluir esa palabra, acepte mis disculpas de antemano si esta publicación lo hizo sentir incómodo y si lo ofendí de alguna manera.

1. Corrige errores en comandos de consola anteriores usando la aplicación 'thef*ck'

La utilidad f*ck se utiliza para corregir errores y errores tipográficos en los comandos ejecutados previamente en Linux.

¿Ejecutaste un comando con un error tipográfico a toda prisa? ¿Olvidaste agregar sudo? en un comando? ¡No hay problema! ¡Esta aplicación mostrará automáticamente los comandos corregidos para el comando ejecutado anteriormente!

Puede elegir el comando correcto y presionar ENTER para ejecutarlo. ¡No es necesario navegar por el historial de comandos para corregir manualmente el error tipográfico en un comando!

El desarrollador de esta aplicación se inspiró en un tweet e hizo esta genial aplicación. Está escrito en lenguaje Python. Es una aplicación de código abierto y su código está disponible públicamente en GitHub.

1.1. Instalación

Podemos instalarlo usando el PiP administrador de paquetes o el administrador de paquetes predeterminado de la distribución.

Asegúrate de tener PiP instalado .

Después de instalar PiP, ejecute el siguiente comando para instalarlo como se muestra a continuación:

$ pip3 install --user thefuck

Esto instalará la última versión disponible.

También está empaquetado para muchas distribuciones de Linux y Unix, por lo que puede instalarlo utilizando el administrador de paquetes predeterminado de su distribución. Consulte la página de GitHub del proyecto (que se encuentra al final) para saber cómo instalarlo usando el administrador de paquetes del sistema operativo.

1.2. Configuración

Se recomienda agregar la siguiente línea en su .bash_profile , .bashrc , .zshrc u otra secuencia de comandos de inicio.

$ nano ~/.bashrc

Agregue la siguiente línea:

eval $(thefuck --alias fixthis)

Aquí, usé 'fixthis' como un alias. Puedes usar lo que quieras como alias.

Presiona Ctrl+o y ENTER para guardar el archivo y Ctrl+x para cerrarlo.

Ejecute el siguiente comando para actualizar los cambios:

$ source ~/.bashrc

1.3. Uso

El 'fixthis' funciona en base a un conjunto de reglas integradas. La lista completa de reglas habilitadas se puede encontrar aquí. También puede crear sus propias reglas.

Al ejecutar un comando mal escrito, intentará hacer coincidir el comando anterior con una regla. Si se encuentra una coincidencia, se crea un nuevo comando usando la regla coincidente y se ejecuta.

Veamos algunos ejemplos.

Voy a actualizar mi sistema Manjaro usando el siguiente comando como usuario normal:

$ pacman -Syu

Salida de muestra:

error: you cannot perform this operation unless you are root.

Como puede ver, el comando anterior muestra un error de permiso. Porque no agregué sudo frente al comando.

No es necesario agregar sudo y vuelva a ejecutar el comando. Todo lo que tiene que hacer es ejecutar el comando 'fixthis' como se muestra a continuación:

$ fixthis

Ahora, mostrará una lista de sugerencias de comandos válidos para el comando ejecutado anteriormente.

Si es el que desea ejecutar, simplemente presione ENTER para ejecutarlo. Si no es así, presione las flechas ARRIBA/ABAJO para mostrar otros comandos sugeridos.

En mi caso, elijo el primero, que es el comando correcto, como se muestra en el resultado a continuación.

sudo pacman -Syu [enter/↑/↓/ctrl+c]

¿Ver? Si el comando anterior falla debido a un error de permiso, la aplicación 'fixthis' antepondrá el comando con sudo y ejecutarlo de nuevo. ¿Guay, verdad? Para cancelar la ejecución del comando, presione ctrl+c .

De manera similar, si ejecutó un comando mal escrito, corregirá el error ortográfico y ejecutará el comando nuevamente.

$ pithon

Salida de muestra:

bash: pithon: command not found
$ fixthis
python3 [enter/↑/↓/ctrl+c]

Si desea corregir los comandos de forma recursiva hasta que tenga éxito, puede usar -r opción:

$ fixthis -r

Vea el screencast oficial a continuación hecho por su desarrollador para ver más ejemplos.

A pesar de ser muy útil para corregir rápidamente errores tipográficos y errores en los comandos de Linux, esta aplicación tiene un nombre confidencial e inapropiado, por lo que es posible que no desee usarla en algunas situaciones.

Si se siente incómodo al ejecutar este comando en tales situaciones, simplemente puede crear un alias (por ejemplo, corrija esto) como se muestra en la sección "Configuración" anterior.

2. Corregir errores en los comandos usando Fix

El arreglo es otra utilidad genial que nos ayuda a corregir rápidamente errores o errores tipográficos en un comando. Aunque Fix hace lo mismo que thef*ck, difiere ligeramente.

Thef*ck es fuerte en sintaxis mientras que Fix es mejor cuando el aspecto semántico es importante. Thef * ck no puede decirle qué paquete instalar cuando la ejecución de un script no funciona.

La utilidad Fix está diseñada para usarse cuando no sabe cómo solucionarlo usted mismo. Sugiere algunas soluciones para los comandos mal escritos o mal escritos.

Utiliza Codex AI de OpenAI sugerir todas las soluciones posibles para corregir los errores en los comandos. Todo lo que necesita hacer es anteponer al comando "arreglar", y la IA sugerirá soluciones óptimas.

2.1. Instalar corrección en Linux

¡Instalar Fix es fácil!

1. Primero, debe obtener acceso a la API de Codex de OpenAI. .

2. Y git clona el repositorio:

$ git clone https://github.com/tom-doerr/fix.git

Clonará el contenido del repositorio github del proyecto en una carpeta local llamada 'fix '.

3. cd en el directorio 'fix':

$ cd fix

4. Agrega main.py a su $PATH:

$ cp $PWD/main.py ~/.local/bin/fix

2.2. Uso

Para corregir un comando mal escrito, simplemente agregue 'arreglar' delante del comando como se muestra a continuación:

$ fix mkdir abc/def

Para corregir el último comando, simplemente haga:

$ fix !!

La IA genera en su mayoría soluciones incorrectas, pero suficientes de las soluciones generadas funcionan realmente para que sean útiles.

Aquí está la demostración visual de la aplicación Fix.

Lectura sugerida:

  • Diferentes formas de repetir su último comando en Linux

3. Corrija los comandos Bash mal escritos con el símbolo Caret

Este truco solo funcionará en BASH.

Este truco es muy simple. Simplemente reemplazamos la palabra mal escrita con palabra correcta usando Caret (^ ) símbolo.

Digamos que desea crear un directorio con 'mkdir ' dominio. Pero te perdiste la 'i ' en el comando e ingresó 'mkdr ' en su lugar, como a continuación.

$ mkdr ostechnix
bash: mkdr: command not found

Para corregir el error tipográfico en el comando anterior, simplemente podemos reemplazar 'dr ' con 'dir ' con el símbolo de intercalación como a continuación:

$ ^dr^dir^

Ahora Bash interpretará esto como 'mkdir ', ejecútelo y muestre el resultado como se muestra a continuación.

mkdir ostechnix

4. Corregir errores tipográficos al usar el comando cd

A menudo traté de escribir rápido en la consola y terminé con errores tipográficos cuando cd en un directorio.

$ cd Pctures
bash: cd: Pctures: No such file or directory

Me perderé una o dos palabras al escribir el nombre del directorio. Si eres como yo, aquí tienes cómo corregir errores tipográficos automáticamente al usar cd comando.

Para solucionar este problema, edite ~/.bashrc archivo:

$ nano ~/.bashrc

Agregue la siguiente línea al final:

shopt -s cdspell

Presiona Ctrl+o y ENTER para guardar el archivo y Ctrl+x para cerrarlo.

Ejecute el siguiente comando para actualizar los cambios:

$ source ~/.bashrc

A partir de ahora, su shell reconoce automáticamente la ruta de directorio correcta incluso si cometió un error tipográfico.

Este truco tiene algunos inconvenientes. El caso y el orden es importante.

Por ejemplo, si usa 'imágenes' en lugar de 'Imágenes' , no reconocerá la ruta. Aquí, he usado minúsculas 'p' para el directorio 'Imágenes' .

$ cd pctures
bash: cd: pctures: No such file or directory

También si usa 'Pctrues' en lugar de 'Imágenes' , aún no reconocerá la ruta del directorio incluso si usa el caso correcto y se queja de que no existe tal archivo o directorio.

$ cd Pctrues
bash: cd: Pctrues: No such file or directory

Aquí, he cambiado el orden de las letras del directorio 'Imágenes'.

Además, si faltan más de una letra en la ruta del directorio, no funcionará tan bien.

Tenga en cuenta que este consejo es solo para 'cd ' dominio. Además, este consejo es solo para Bash. En Fish y Zsh, esta función está integrada.

Bonificación:sugerencia de instalación de paquetes cuando se ejecuta un comando faltante

Debería haber notado que cuando ejecuta un comando no disponible, recibirá un mensaje de error como el siguiente:

bash: ....: command not found

Si sabe qué paquete proporciona el comando que falta, simplemente puede instalar ese paquete y volver a ejecutar el comando nuevamente. Sin embargo, si no lo sabe, es posible que necesite un poco de ayuda.

Para mitigar este problema, hay un paquete llamado 'command-not-found '. Esto sugerirá una lista de paquetes para instalar para usar el comando no disponible.

Buscará automáticamente en los repositorios oficiales, al ingresar un comando no reconocido o no disponible. Para obtener más información, consulte el siguiente enlace.

  • Sugerir la instalación de paquetes cuando se ejecuta un comando no disponible

Conclusión

¡Ahí tienes! Estas son algunas formas de lidiar con errores tipográficos y errores en la línea de comandos en sistemas Linux y Unix. Puede elegir el que más le convenga o usar una combinación de dos o más. Por ejemplo, uso tanto 'Fix' como 'thef*ck' de vez en cuando para corregir errores y errores tipográficos en los comandos de la consola.


Linux
  1. 10 usos asombrosos y misteriosos de (!) símbolo u operador en los comandos de Linux

  2. Cómo deshabilitar los comandos de apagado y reinicio en Linux

  3. Comandos de Linux:descripción general y ejemplos

  4. Cómo guardar comandos de Linux y usarlos bajo demanda

  5. Comandos de Linux:trabajos, bg y fg

Cómo ejecutar automáticamente secuencias de comandos y comandos de inicio de Linux

Cómo corregir fácilmente los comandos Bash mal escritos en Linux

Cómo ejecutar múltiples comandos de Linux en un solo comando

Cómo instalar y usar el comando fd en Linux

Cómo ejecutar varios comandos de Linux a la vez en la terminal de Linux

Cómo escribir y ejecutar un programa C en Linux