¿Por qué escribir?sudo cd lo que sea¿No cambiará el directorio?
Respuesta1
cd
es un shell incorporado. sudo
Sólo funciona con ejecutables. Podría hacerlo sudo sh -c 'cd dirname'
, pero tan pronto como se cierre el shell, regresará al directorio desde el que comenzó. Si dices qué es lo que estás tratando de lograr, entonces puedo ayudarte a encontrar una manera de hacerlo.
Respuesta2
En su lugar, intente usar sudo -s
para iniciar un shell raíz y luego simplemente cd
ingresar al directorio.
Cuando haya terminado como root, presione CtrlDo escriba exit
.
Como Arjan insinúa en su comentario a continuación, es importante tener en cuenta que, como root, uno puede dañar fácilmente los componentes esenciales del sistema.¡Úselo con cuidado!
Respuesta3
Simplemente puedes su
convertirte en root y luego cd
todo lo que quieras... Sé que ya se aceptó una respuesta, pero si una no está en la lista de sudoers, entonces esta es la única opción.
Respuesta4
Hay dos formas en las que "no funcionará", según su sistema operativo:
Si su sistema operativo sigue POSIX, entonces ejecute
sudo cd
provocará quecomando externo"cd" (generalmente ubicado en/usr/bin/cd
) para ejecutar en un proceso bifurcado como usuario root. Ese proceso cambia de directorio con éxito. Una vez finalizado el proceso, volverá a su shell habitual, que todavía se encuentra en el directorio donde comenzó.Entonces
sudo cd
se ejecuta sin errores, pero no cambia el directorio de trabajo actual de su shell actual.(referencia:esta respuesta)
De lo contrario, la ejecución
sudo cd
provocará lo siguiente. Su computadora buscará en su RUTA, intentando encontrar un ejecutable llamado "cd". No encontrará ninguno. (Solo elcomando incorporado de shell"cd" existe y no es un archivo ejecutable). Por lo tanto, obtienes un error. (En Ubuntu, aparece el mensaje de errorsudo: cd: command not found
).Entonces
sudo cd
se ejecuta con error.