
Muchas de las respuestas de StackOverflow sugieren que se debe a que cd
es una función incorporada, pero type cd
ambas type pwd
devuelven "shell incorporada" y solo sudo cd
devuelven un "comando no encontrado".
Entonces, ¿se cd
maneja como un caso especial, al contrario de muchas respuestas sobre SO, que es " sudo
solo funciona con programas"?
Respuesta1
pwd
existe como un shell incorporado (razón por la cual type pwd
devuelve que es un shell incorporado) y por separado como unUtilidad principal de GNU. La versión pwd
que utiliza su sistema es laUtilidad principal de GNUversión. Es un ejecutable y como tal se puede utilizar sudo para ejecutarlo; a diferencia de cd
cuál es un comando incorporado del shell.
Puedes verificar esto por ti mismo.
Escriba ambos comandos usted mismo y observe los resultados. (si hay varias versiones del mismo comando en su sistema, el which
comando le indicará cuál se está invocando cuando lo ingrese)
which pwd
which cd
Un shell incorporado no devolverá ninguna ruta de carpeta a un ejecutable cuando ejecute el which
comando. Aquí hay ejemplos de resultados de ambos comandos en mi sistema:
nate@linux:~> which pwd
/usr/bin/pwd
nate@linux:~> which cd
which: no cd in (/home/nate/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin:/home/nate/Scripts:/home/nate/Scripts)
Respuesta2
Hay un pwd
ejecutable en alguna parte (pruébelo whereis pwd
) y sudo
lo usa.