J'ai cette structure de dossiers :
foo
`----> bar
Comment puis-je extraire le contenu de bar
dans foo
?
J'ai essayé mv -f bar/* .
depuis foo
.
-f, –force | ne pas demander avant d'écraser
mais j'obtiens "impossible de déplacer bar/ajax
à foo/ajax
car le répertoire n'est pas vide"
Comment puis-je résoudre ce problème ?
Réponse acceptée :
mv
écrasera les fichiers, mais il refusera d'écraser les répertoires . Il n'y a pas de commande unique qui fusionnera les répertoires et supprimera les répertoires source (ce qui est probablement ce que vous voulez avec mv
). Même rsync --remove-source-files
laissera des répertoires vides.
Vous pouvez utiliser une combinaison de commandes :
cp -a dev/. .
rm -r dev
qui copie tout dans dev
dans le répertoire courant puis supprime le dev
répertoire.
Ou :
rsync -a --remove-source-files dev/ .
find dev -depth -type d -exec rmdir {} ;
qui utilise rsync
pour déplacer tous les fichiers, puis supprime les répertoires vides laissés derrière.