La ruta ejecutable básica de Linux no aparece

La ruta ejecutable básica de Linux no aparece

Estoy tratando de encontrar la ruta de los comandos básicos como lso cdusando whichel comando. Veo el camino para lspero no para cd. Por supuesto, ambos comandos funcionan bien. ¿Alguna idea?

$ which ls
/bin/ls
$ which cd
$

Respuesta1

cdSiempre es un comando incorporado proporcionado por el propio shell. No se encontrará como una utilidad externa. Esto no es de ninguna manera específico de Linux.

Desde elSección "USO DE APLICACIONES" cden el estándar POSIX:

Dado que cdafecta al entorno de ejecución actual del shell, siempre se proporciona como un shell integrado regular. Si se llama en un subshell o en un entorno de ejecución de utilidad independiente, como uno de los siguientes:

(cd /tmp)
nohup cd
find . -exec cd {} \;

no afecta el directorio de trabajo del entorno de la persona que llama.


Una forma portátil de encontrar la ruta de un comando es usar command -v:

bash-4.4$ command -v ls
/bin/ls
bash-4.4$ command -v cd
cd

typeserá un poco más detallado:

bash-4.4$ type ls
ls is /bin/ls
bash-4.4$ type cd
cd is a shell builtin

Ver también "¿Por qué no utilizar "cuál"? ¿Qué usar entonces?"

información relacionada