Tutoriales

Cómo corregir el error «Comando no encontrado» en Linux

Cuando intenta ejecutar un comando (con o sin sudo) y recibe un error que dice «comando no encontrado», lo que significa que la secuencia de comandos o el archivo que intenta ejecutar no existe en la ubicación especificada por la variable PATH. ¿Qué es esta variable y cómo ejecuta el comando que no puede encontrar?

Más información sobre las variables de entorno

En el cálculo, un Cambiando es un marcador de posición para un valor que se puede cambiar. Utiliza variables todos los días en el habla normal, aunque no crea que lo son. Cuando dices «mi computadora portátil», estás usando «laptop» como una variable genérica o marcador de posición para la computadora que llevas, ya sea una elegante carcasa de Lenovo, una Mac o una Raspberry Pi.

Variable ambiental es una variable especial que contiene información sobre su sesión de inicio de sesión. Muchas de estas variables se establecen de forma predeterminada durante la instalación o la creación de usuarios. Se almacenan para que los usen los shells del sistema, las aplicaciones y los scripts al ejecutar comandos.

Hay variables globales o definidas por el sistema y variables locales o definidas por el usuario.

variable global

Las variables globales están predefinidas en su shell de inicio de sesión, pero no son inmutables y se pueden modificar o eliminar según sus preferencias.puedes usarlo printenv o env Comando para mostrar las variables de entorno del sistema:

$ env 
SHELL=/bin/bash 
SESSION_MANAGER=local/kiwi.homelinux.local:@/tmp/.ICE-unix/1906,unix/kiwi.homelinux.local:/tmp/.ICE-unix/19
06 
WINDOWID=153092103 
COLORTERM=truecolor 
XDG_CONFIG_DIRS=/home/tux/.config/kdedefaults:/etc/xdg:/etc/kde/xdg 
LESS=-XR 
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1 
HISTCONTROL=:ignorespace:ignoredups:ignorespace:ignoredups 
PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/local/share/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig 
[...]

este env El comando imprime todas las variables de entorno globales. Las variables distinguen entre mayúsculas y minúsculas, y todas las distribuciones de Linux usan nombres de variables de entorno en mayúsculas de forma predeterminada.

LEER  ¡YO EXPLICO! KALI LINUX 2021: Aprende a usarlo desde cero # 05
Publicaciones relacionadas

[ Keep your favorite Git commands, aliases, and tips close at hand. Download the Git cheat sheet. ]

variable local

Las variables locales existen solo dentro de un shell específico. Por lo tanto, cuando define una variable local, solo está disponible en su shell actual. No se propaga ni persiste en nuevas sesiones de shell a menos que lo exporte como una variable global.

Las variables locales generalmente se definen en minúsculas para evitar sobrescribir variables globales del mismo nombre.

Variable de entorno PATH

La variable de entorno global PATH enumera los directorios en los que su sistema busca comandos ejecutables válidos.De forma predeterminada, contiene los directorios estándar donde se suelen almacenar los ejecutables, p. /usr/bin, /usr/local/biny muchos más.

Cuando ingresas un comando como grep o vim, su sistema busca en todos los directorios enumerados en la variable PATH en el orden indicado hasta que encuentra un ejecutable con el mismo nombre. Si no puede encontrarlo, emite un error de «comando no encontrado».

$ printenv PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/tux/.local/bin:/home/tux/bin

$ env $PATH
env: /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/tux/.local/bin:/home/tux/bin

5 formas de corregir el error «Comando no encontrado»

Hay varias formas de resolver este problema. Aquí hay cinco.

1. Incluir caminos

No todo lo que desea ejecutar debe estar en su camino. Puede ejecutar un archivo directamente especificando la ruta al archivo que se va a ejecutar. Al identificar la ubicación del archivo, puede evitar por completo que el sistema busque su ruta.

Por ejemplo, suponga que tiene un hello quieres correrEstá en su directorio de inicio y lo ha marcado como ejecutable chmod +x:

$ ~/hello
hello world

Al decirle a su sistema dónde está el archivo, la variable PATH nunca está involucrada y el archivo funciona como se esperaba.

2. Agrega una nueva ruta

Alternativamente, puede agregar un nuevo directorio a PATH. Agregue sus ejecutables a ese directorio, luego puede ejecutarlos sin proporcionar manualmente la ruta:

$ cp ~/hello ~/.local/bin
$ export PATH=$PATH:$HOME/.local/bin
$ printenv PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/tux/.local/bin

Es posible que desee agregar nuevas variables de entorno PATH a su shell de inicio de sesión incluyéndolas en su .bashrc archivo como la nueva configuración.

3. Copie el archivo en una ubicación de ruta existente

Si desea ejecutar un archivo binario o script, cópielo en cualquier ruta de directorio que ya se encuentre en la variable de entorno PATH:

$ sudo cp ~/hello /usr/local/bin/
$ hello
hello world

4. Dile a Bash dónde buscar

Probablemente la opción más fácil, especialmente para scripts o aplicaciones únicas, es decirle a Bash que no considere PATH sino que «mire aquí». Para hacer esto, coloque un punto y una barra antes del nombre del comando, secuencia de comandos o aplicación.por hello guión, se ve así:

$ sudo ./hello
hello world

No se realizarán cambios permanentes en el sistema. Esto puede ser útil si está escribiendo un script y desea probarlo antes de copiarlo o moverlo a su ubicación de almacenamiento normal (presumiblemente a lo largo de la RUTA).

5. Instalar el paquete

A veces, Bash muestra un error de «comando no encontrado» cuando intenta usar un comando, probablemente porque el programa no está instalado en su sistema. Corrija esto instalando el paquete que contiene el comando.Por ejemplo, si no tiene Nmap instalado, entonces nmap Escribir el comando en la terminal falla:

$ nmap
nmap: command not found
$ sudo dnf install --assumeyes --quiet nmap
$ nmap
Nmap 7.92 ( https://nmap.org ) 
Usage: nmap [Scan Type(s)] [Options] {target specification}
[...]

[ Want to learn more? Sign up for a free trial of full access to Red Hat’s curriculum. ]

mantente en el camino

La variable PATH es una herramienta poderosa para personalizar la forma en que su sistema responde a los comandos, así que tómese un tiempo para familiarizarse con ella. A menudo se usa cuando se ejecutan comandos para encontrar ejecutables de comandos.

En este tutorial, aprendió cinco métodos para corregir errores de «comando no encontrado» en la terminal, tres de los cuales dependen de la variable PATH. Ahora que sabe qué son las variables y cómo encontrar el ejecutable del comando, no estará tan confundido cuando reciba un error de «comando no encontrado» en la pantalla.

LEER  Las 6 mejores banderas ocultas de Chrome que puedes activar ahora mismo

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba