3 votos

Borrado del directorio / usr / local / bin por error

Soy un poco novato en Unix. Recientemente he comenzado un bash tutorial donde he creado un hola mundo bash script como este:

#!/bin/bash
echo 'Hello World!'

entonces, me mudé en /usr/local/bin usando este comando:

sudo mv hello.sh /usr/local/bin

ahora /bin en /usr/local ya no es un directorio, pero un archivo, y cuando se utiliza el comando ls-l, me sale este resultado:

MacBook-Pro-de-Omar:local omarnavarro$ ls
bin
MacBook-Pro-de-Omar:local omarnavarro$ ls -l
total 8
-rwxr-xr-x  1 omarnavarro  staff  32 Apr 11 19:27 bin
MacBook-Pro-de-Omar:local omarnavarro$ cat bin
#!/bin/bash
echo 'Hello world!'

Entiendo que el directorio /usr/local/bin es parte de la $RUTA, y así creo que debe haber habido un montón de comandos en allí. Me afectará esto mucho? ¿cómo puedo restaurar los comandos que antes vivían en /usr/local/bin cuando se trataba de un directorio. No puedo creer que la pata de tan mal!

7voto

Farinha Puntos 5518

El canónica de la respuesta, por supuesto, es para restaurar /usr/local/bin desde tu última copia de seguridad...

La buena noticia es que si que mv comando se ha ejecutado correctamente y crea un archivo llamado bin, a continuación, /usr/local/bin no existe ya como un directorio de tu sistema, y has perdido nada. De lo contrario, hello.sh habría sido trasladado a la /usr/local/bin directorio (que supuestamente era la intención de este tutorial), no lo han reemplazado.

Esto no es inesperado, como /usr/local/bin no suele existir en los Macs hasta que usted o una 3 ª parte aplicaciones crea. Pero ahora que usted ha aprendido de la impresionante potencia de la línea de comandos, usted sabe por qué es importante mantener copias de seguridad buena ;)

Había destrozado /usr/bin tendría que volver a instalar el sistema:

La buena noticia es que la integridad del sistema de protección (SIP) se está haciendo más difícil para destrozar el sistema de archivos con sudo

PS: Una manera fácil de evitar que el problema ocurra es siempre agregar un punto / si mover archivos a otro directorio (o que dependen de la finalización de pestaña que hace la misma cosa): sudo mv hello.sh /usr/local/bin/. De esta manera usted obtendrá un mensaje de error si el directorio de destino no existe.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X