Como mover todos os arquivos e pastas via comando mv [duplicado]

80

Como posso mover todos os arquivos e pastas de um diretório para outro via comando mv?

    
por Luka 05.10.2012 / 14:09

7 respostas

91

Tente com isso:

mv /path/sourcefolder/* /path/destinationfolder/
    
por 05.10.2012 / 14:11
13

zsh:

mv /src/*(D) /dst/

(D) para incluir arquivos de pontos.

    
por 11.10.2012 / 00:13
11

Isso funciona para mim no Bash (acho que isso depende muito do seu shell ...)

$  mv source/{,.}* /destination/folder/here
    
por 06.10.2012 / 04:50
3

Isso funciona para mim no Bash 4.2.46, ele move todos os arquivos e pastas, incluindo pastas e arquivos ocultos para outro diretório

mv /sourcedir/{,.[^.]}* /destdir/

Observe que. [^.] * significa todos os arquivos ocultos, exceto. e ..

    
por 09.05.2016 / 06:42
0

Eu diria que é um pouco chato, mas a maneira realmente à prova de balas (GNU) é:

cd /SourceDir && find ./ -maxdepth 1 -mindepth 1 -exec mv -t /Target/Dir {} +

S. Agora você pode ver porque muitas pessoas preferem o Midnight Commander, no entanto.

    
por 11.10.2012 / 00:03
0

Se você quiser apenas fazer uma ação de recortar e colar, há uma maneira simples que funcionou para mim:

$mv /media/dir_source $HOME/Documents/ 

Ele moverá a pasta chamada dir_source localizada em /media para o diretório $HOME/Documents/

    
por 05.11.2015 / 08:47
-2

ainda outra maneira apenas para o inferno dele (porque eu amo maneiras complicadas de fazer as coisas, eu acho)

cd /source
for f in $(\ls -QA); do eval mv $f /destination/$f; done

o -Q e o -A não são POSIX, no entanto, o -A é bastante predominante e, para não usar o -Q , é necessário alterar o IFS (o que significa que você não precisa do eval mas precisa citar a variável)

IFS="
" && for f in $(ls -A); do mv "$f" /destination/"$f"; done
    
por 05.12.2012 / 21:57