web-dev-qa-db-fra.com

Comment déplacer tous les fichiers d'un dossier à un autre à l'aide de la ligne de commande?

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

Disons que je suis dans mon dossier Téléchargements et il y a 100 fichiers que je voudrais déplacer dans mon dossier Vidéos, sans avoir à écrire le nom de tous les fichiers.

229
Michael

Ouvrez un terminal et exécutez cette commande:

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

Il déplacera tous les fichiers et dossiers du dossier Téléchargements vers le dossier Vidéos.


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

Si vous souhaitez déplacer tous les fichiers (mais pas les dossiers) du dossier Téléchargements vers le dossier Vidéos, 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 Téléchargements, mais pas les fichiers contenus dans les dossiers du dossier de téléchargement, utilisez cette commande:

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

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

Voir Ubuntu trouver la page de manuel pour une explication détaillée

307
Anwar
mv ~/Downloads/* ~/Videos

Tous les fichiers, y compris les sous-dossiers, seront déplacés dans le répertoire de votre choix vers mvname__. Si vous souhaitez cp(copier) ou rm(supprimer), vous aurez besoin de l'option -r (récursive) pour inclure les sous-dossiers.

25
user223289

C'est possible en utilisant rsyncname__, par exemple:

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

où:

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

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

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

--remove-source-files Ceci indique rsyncpour supprimer les fichiers du côté envoi (signifiant non-répertoires) faisant partie du transfert et ayant été dupliqué avec succès du côté destinataire.

Si vous avez des privilèges root, préfixez Sudopour remplacer les problèmes d’autorisation potentiels.

9
kenorb

Pour le cas simple:

mv ~/Downloads/* ~/Videos

Si vous souhaitez également déplacer des fichiers point (masqués), définissez l'option dotglob Shell.

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

Cela laisse le jeu d'options Shell.

Pour une utilisation ponctuelle de dotglob, exécutez les commandes dans un sous-shell:

(shopt -s dotglob; mv ~/Downloads/* ~/Videos)
8
Hontvári Levente

Utilisation

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

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

3
Udit Chugh

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

mv -T dir1 dir2

où:

  • -T traite 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 ne doit pas exister.

J'espère que cela économisera beaucoup de temps à quelqu'un, auparavant, je créerais un répertoire avec le nouveau nom, puis déplacerais le contenu du répertoire dans le répertoire créé précédemment.

tiliser 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, si vous exécutez mv -T Downloads/mp4 Videos, le sous-dossier mp4 sera supprimé et tous les fichiers qu'il contient seront déplacés vers le dossier Vidéos.

1
Feyisayo Sonubi
  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 aussi le répertoire que vous voulez déplacer.
  3. Ensuite, passez au répertoire où se trouvent tous les fichiers avec cd folderNamehere
  4. Maintenant, pour déplacer tous les fichiers, tapez mv *.* typeAnswerFromStep2here

Cela déplacera tous les fichiers de ce répertoire à l’autre.

1
jrh
mv source_path/* destination_path/

dans ce cas, vous devez mettre les barres obliques et * après le chemin source afin que les fichiers soient placés dans chemin source_path au lieu du répertoire source complet.

Exemple: mv /home/username/test/* /home/username/test2/

La commande ci-dessus déplace tous les fichiers (sauf s'ils sont cachés) du répertoire source vers le répertoire de destination.

0
vivek Kumar

l'essayer

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

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

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

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

0
pedram shabani