Comment déplacer tous les fichiers d'un dossier vers un autre en utilisant la ligne de commande?

163

J'aimerais savoir comment déplacer tous les fichiers d’un dossier vers un autre dossier avec une ligne de commande.

Disons que je suis dans mon dossier Téléchargements et que je souhaite déplacer 100 fichiers dans mon dossier Vidéos sans avoir à écrire tous les noms de fichiers.

    
posée Michael 06.08.2012 - 17:14
la source

8 réponses

227

Ouvrez un terminal et exécutez cette commande:

mv  -v ~/Downloads/* ~/Videos/

Il déplacera tous les fichiers et dossiers du dossier Downloads vers le dossier Videos.

Pour déplacer tous les fichiers, mais pas les dossiers:

Si vous souhaitez déplacer tous les fichiers (mais pas les dossiers) du dossier Downloads vers le dossier Videos, utilisez cette commande

find ~/Downloads/ -type f -print0 | xargs -0 mv -t ~/Videos

Pour déplacer uniquement les fichiers des dossiers de téléchargement, mais pas des sous-dossiers:

Si vous souhaitez déplacer tous les fichiers du dossier Downloads, mais pas les fichiers des dossiers du dossier Download, utilisez cette commande:

find ~/Downloads/ -maxdepth 1 -type f -print0 | xargs -0 mv -t ~/Videos

ici, l'option -maxdepth spécifie la profondeur à rechercher, 1 signifie uniquement le répertoire spécifié dans la commande find. Vous pouvez essayer d'utiliser 2 , 3 également pour tester.

Pour une explication détaillée, consultez la page de manuel de recherche d'Ubuntu .

    
réponse donnée Anwar 06.08.2012 - 17:18
la source
17
mv ~/Downloads/* ~/Videos

Il déplacera tous les fichiers, y compris les sous-dossiers du répertoire que vous voulez, sur mv . Si vous voulez cp (copy) ou rm (remove), vous aurez besoin de l'option -r (recursive) pour inclure les sous-dossiers.

    
réponse donnée user223289 08.12.2013 - 04:24
la source
5

C'est possible en utilisant rsync , par exemple:

rsync -vau --remove-source-files src/ dst/

où:

  

-v , --verbose : augmente la verbosité.

     

-a , --archive : mode d'archivage; est égal à -rlptgoD (pas de -H , -A , -X ).

     

-u , --update : Ignorer les fichiers plus récents sur le récepteur.

     

--remove-source-files Ceci dit à rsync de supprimer du côté expéditeur les fichiers (c'est-à-dire les non-répertoires) qui font partie du transfert et qui ont été dupliqués avec succès du côté réception.

Si vous disposez des privilèges root, préfixez sudo pour remplacer les problèmes d'autorisation potentiels.

    
réponse donnée kenorb 06.06.2015 - 17:08
la source
2

Utiliser

mv -v ~/rootfolder/branch/* ~/rootfolder

J'espère que cela aide. Parce que j'avais la même douleur et que je perdais beaucoup de temps à réparer mon erreur.

    
réponse donnée Udit Chugh 26.01.2015 - 00:06
la source
1
  1. Accédez à la ligne de commande et accédez au répertoire dans lequel vous souhaitez le déplacer avec cd folderNamehere
  2. Tapez pwd . Cela imprimera le répertoire que vous souhaitez déplacer également.
  3. Ensuite, accédez au répertoire contenant tous les fichiers avec cd folderNamehere
  4. Maintenant, déplacez tous les fichiers de type mv *.* typeAnswerFromStep2here

Cela va déplacer tous les fichiers de ce répertoire vers l’autre.

    
réponse donnée jrh 12.09.2013 - 14:07
la source
0

Pour déplacer un répertoire avec ou sans contenu vers son nouveau nom, comme vous utiliseriez la commande mv pour renommer un fichier:

mv -T dir1 dir2

où:

  • -T considère la destination comme un fichier normal
  • dir1 est le nom d'origine du répertoire
  • dir2 est le nouveau nom du répertoire

NB: dir2 n’a pas à exister.

J'espère que cela fera gagner beaucoup de temps, en tant que noob, avant cela, je créerais un répertoire avec le nouveau nom, puis déplacerais le contenu du répertoire vers le répertoire créé précédemment.

Utiliser pour les sous-répertoires

Cette commande est utile lorsque de nombreux fichiers ont été enregistrés dans un sous-dossier du répertoire cible, à savoir Downloads/mp4 . Dans cet exemple, l'exécution de mv -T Downloads/mp4 Videos entraînera le retrait du sous-dossier mp4 et le déplacement de tous les fichiers contenus dans le dossier Vidéos.

    
réponse donnée Feyisayo Sonubi 09.12.2015 - 08:33
la source
0

Pour le cas simple:

mv ~/Downloads/* ~/Videos

Si vous souhaitez également déplacer des fichiers de points, définissez l'option de shell dotglob .

shopt -s dotglob
mv ~/Downloads/* ~/Videos

Cela laisse l’option shell définie.

Pour une seule fois, dotglob utilise les commandes dans un sous-shell:

(shopt -s dotglob; mv ~/Downloads/* ~/Videos)
    
réponse donnée Hontvári Levente 22.01.2018 - 11:16
la source
0

essayez-le

find ~/Desktop -type f -iname  "*.mp4" -exec mv {} ~/Videos \;

-type avec l'argument -type, vous pouvez spécifier le type file.on cette instruction qui est le fichier moyen.if en utilisant -d qui signifie le répertoire.

-iname: la méthode la plus courante et la plus évidente pour rechercher un fichier consiste à utiliser son argument -name.si vous n'êtes pas sûr de sa sensibilité à la casse, vous pouvez utiliser l'argument -iname

mv {} et enfin pour spécifier le répertoire cible, puis déplacer les fichiers là-bas en utilisant l'argument mv {}

    
réponse donnée pedram shabani 01.04.2018 - 18:54
la source

Lire d'autres questions sur les étiquettes