2009-12-27 17:25:21 +0000 2009-12-27 17:25:21 +0000
84
84

¿Cómo puedo mover archivos y directorios a la carpeta principal en Linux?

En Linux (Ubuntu), ¿cómo se mueven todos los archivos y directorios al directorio principal?

Respuestas (12)

96
96
96
2013-01-26 20:20:56 +0000

He venido aquí porque yo también soy nuevo en este tema. Por alguna razón lo anterior no me sirvió. Lo que hice para mover todos los archivos de un dir a su dir padre fue:

cd to/the/dir
mv * ../
72
72
72
2009-12-27 17:29:43 +0000
find . -maxdepth 1 -exec mv {} .. \;

esto moverá también los archivos ocultos.

Recibirá el mensaje

mv: cannot move `.' to `../.': Device or resource busy

cuando intente mover . (directorio actual) pero eso no causará ningún daño.

10
10
10
2009-12-27 17:27:56 +0000

Escriba esto en el shell:

mv *.* ..

Eso mueve TODOS los archivos un nivel hacia arriba.

El carácter * es un comodín. Así que *.deb moverá todos los archivos .deb, y Zeitgeist.* moverá Zeitgeist.avi y Zeitgeist.srt una carpeta hacia arriba, ya que, por supuesto, .. indica el directorio padre.

Para mover todo, incluyendo las carpetas, etc., sólo tienes que usar * en lugar de *.*

6
6
6
2014-07-16 18:50:24 +0000

No puede ser más sencillo que:

mv * ../

Para mover también archivos ocultos:

mv /path/subfolder/{.,}* /path/

mv es un comando para mover archivos, * significa todos los archivos y carpetas y ../ es la ruta al directorio padre.

2
2
2
2011-01-25 21:33:46 +0000

En bash se puede usar* shopt -s dotglob**para hacer que * coincida con todos los archivos y los mueva simplemente por

shopt -s dotglob; mv * ..

Esta no es la mejor solución ya que la configuración es permanente para el shell hasta que se cambie por

shopt -u dotglob

pero creo que es bueno saberlo.

1
1
1
2012-07-25 20:15:46 +0000

Un método que no causa errores y funciona siempre:

ls -1A . | while read -r file                                                    
do                                                                                  
    mv "./${file}" ..                                                            
done
1
1
1
2014-07-16 18:37:18 +0000
find . -maxdepth 2 -type f -exec mv {} .. \;

Utilicé una variación de lo anterior para mover todos los archivos de las subcarpetas a la principal.

Tenía los datos en carpetas por año, pero descubrí que usando los metadatos podía tenerlos todos en la misma carpeta, lo que facilitaba la gestión.

ej.

/data/2001/file_1
/data/2002/file_2
/data/2003/file_3
0
0
0
2016-04-11 04:38:26 +0000

No es necesario cambiar de directorio. Simplemente incluya * al final de la ruta:

mv /my/folder/child/* /my/folder/

Lo anterior sólo mueve archivos no ocultos. Para mover sólo los archivos ocultos, utilice .*

mv /my/folder/child/.* /my/folder/

Lo anterior se puede combinar en un solo comando:

mv /my/folder/child/{.,}* /my/folder/

Vea también Cómo mover todos los archivos, incluidos los ocultos, al directorio principal mediante *

0
0
0
2018-12-13 14:22:48 +0000
find -type f|while read line; do mv $line ${line##*/}; done
0
0
0
2009-12-27 17:48:32 +0000

Asumiendo que todos tus archivos ocultos comienzan con un punto seguido de una letra o un número (lo cual debería ser así), podrías usar

mv * .[A-Za-z0-9]* ..

La parte .[A-Za-z0-9]* es para asegurarte de que no intentas mover . o .. a lo largo, lo cual fallaría.

0
0
0
2011-11-03 11:39:25 +0000

Es sencillo mover todos los archivos y carpetas al directorio padre en Linux.

Ve a esa carpeta y utiliza este comando:

mv * /the full path

Por ejemplo, si tus archivos y carpetas son los siguientes

/home/abcuser/test/1.txt 
                   2.txt
                   3.jpg
                   4.php
                   1folder
                   2folder

Vaya a esa carpeta mediante cd:

cd /home/abcuser/test
mv * /home/abcuser

Todos tus archivos y carpetas se moverán a la carpeta abcuser (directorio padre).

-1
-1
-1
2016-05-20 06:32:28 +0000

cambie al subdirectorio y ejecute el siguiente comando para copiar o mover archivos.

ej: a es el directorio principal y b es el subdirectorio, queremos mover/copiar todos los archivos de b a a (subdirectorio al directorio principal).

cd b
cp * ..
mv * ..