¿Por qué no funciona "sudo cd"?

¿Por qué no funciona "sudo cd"?

¿Por qué escribir?sudo cd lo que sea¿No cambiará el directorio?

Respuesta1

cdes un shell incorporado. sudoSó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 -spara iniciar un shell raíz y luego simplemente cdingresar 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 suconvertirte en root y luego cdtodo 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:

  1. Si su sistema operativo sigue POSIX, entonces ejecutesudo 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 cdse ejecuta sin errores, pero no cambia el directorio de trabajo actual de su shell actual.

    (referencia:esta respuesta)

  2. De lo contrario, la ejecución sudo cdprovocará 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 error sudo: cd: command not found).

    Entonces sudo cdse ejecuta con error.

información relacionada