Descargué una estructura de archivos bastante grande (>100 GB) a una subcarpeta de mi directorio raíz, llamémosla /folder
. El problema es que accidentalmente lo copié en una subcarpeta de esa carpeta, en lugar de simplemente directamente en esa carpeta, así que ahora tengo /folder/folder/*
en lugar de /folder/*
cuál es lo que quiero. ¿Existe una mejor manera de eliminar el nivel adicional que simplemente:
# mv /folder/folder/* /folder
# rmdir /folder/folder
Respuesta1
Si el origen y el destino están en el mismo sistema de archivos, mv simplemente creará otra entrada de directorio, no copiará 100 GB de datos. Así que esta es la mejor manera de hacerlo, no es necesario buscar otra forma. Pero si están en sistemas de archivos diferentes, los datos se copiarán. Además, no es necesario rmdir: mv lo hará automáticamente.
Respuesta2
El mv
comando no mueve los datos de los archivos, solo los nombres de los archivos. Si le preocupa que se muevan todos los datos de cada archivo, esto no funcionará.
Respuesta3
Puedes usar:
# cd /folder/folder
# mv * ../
# rmdir /folder/folder
pero ¿cuál es el problema con lo que tenías? ¿Puedes aclarar lo que quieres decir con una mejor manera?
Respuesta4
Un procedimiento ligeramente más sencillo (menos operaciones de mv en total)
mv /folder /surplusfolder
mv /surplusfolder/folder /folder
rmdir /surplusfolder