Estoy tratando de encontrar la ruta de los comandos básicos como ls
o cd
usando which
el comando. Veo el camino para ls
pero no para cd
. Por supuesto, ambos comandos funcionan bien. ¿Alguna idea?
$ which ls
/bin/ls
$ which cd
$
Respuesta1
cd
Siempre 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" cd
en el estándar POSIX:
Dado que
cd
afecta 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
type
será 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?"