¿Cómo cambiar el nombre de un directorio?

0

Mi directorio de inicio no estaba donde debía estar. Pude arreglar la ubicación del directorio. Luego se necesitaba arreglar el permiso del directorio de inicio con

$ cd /Users/
$ sudo chown -R hook1:staff /Users/hook1
chown: /Users/hook1: no file or directory
$ ls -F
Shared/    chris/      hook1???/

El directorio de inicio aparece incorrectamente como hook1???/ no hook1/ ¿Hay alguna razón para esto?

    
pregunta Chris 17.07.2015 - 16:42

1 respuesta

1

Si lo que publicaste fue literalmente el nombre del directorio, esto debería funcionar:

cd /Users
mv hook1\?\?\? hook1

El problema, como señala fd0, es que tiene caracteres invisibles / no imprimibles en el nombre de su directorio. Use comandos de shell básicos y no destructivos para aislar el nombre del directorio mediante comodines y, a continuación, cambie su nombre. Por ejemplo, prueba esto:

cd /Users
ls -ld h*

Eso debería dar como resultado que se liste exactamente un directorio. Si no es así, continúe agregando letras antes del * para crear una máscara de comodín que produzca exactamente un resultado:

ls -ld ho*     # produces 3 results
ls -ld hoo*    # produces 1 result

Si llegas a un punto en el que pasas de más de un resultado a cero, entonces te has topado con otro personaje invisible. Haga una copia de seguridad de una letra, agregue un signo de interrogación y luego vuelva a agregar la letra.

ls -ld ho*     # produces 3 results
ls -ld hoo*    # produces 0 results
ls -ld ho?o*   # produces 1 result

Si aún tiene problemas, juegue con más * y ? hasta que tenga algo que produzca exactamente un resultado:

ls -ld ho*     # produces 3 results
ls -ld hoo*    # produces 0 results
ls -ld ho?o*   # produces 0 results
ls -ld ho*o*   # produces 1 result

Una vez que tengas eso, entonces úsalo en tu comando mv :

mv ho*o* hook1

Si nada de esto funciona, publica los resultados de ls -ld experimentos.

    
respondido por el Joe Casadonte 18.07.2015 - 02:21

Lea otras preguntas en las etiquetas