Tente com isso:
mv /path/sourcefolder/* /path/destinationfolder/
Como posso mover todos os arquivos e pastas de um diretório para outro via comando mv?
zsh:
mv /src/*(D) /dst/
(D)
para incluir arquivos de pontos.
Isso funciona para mim no Bash (acho que isso depende muito do seu shell ...)
$ mv source/{,.}* /destination/folder/here
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 ..
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.
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/
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