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.
command-line
Michael
la source
la source
files
mais de personnes vous expliquant comment déménager, non seulement,files
maisfolders
également. Est-ce que ça va?Réponses:
Ouvrez un terminal et exécutez cette commande:
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.
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:
Ici, l'
-maxdepth
option spécifie à quelle profondeur find doit essayer,1
c'est-à-dire uniquement le répertoire spécifié dans la commande find. Vous pouvez essayer d'utiliser2
,3
également pour tester.Voir la page de manuel de recherche Ubuntu pour une explication détaillée.
la source
-print0 | xargs -0 mv -t ~/Videos
peut être plus efficacement fait avec-exec mv -t ~/Videos \{\} \+
:-)mv -v ~/Downloads/* ~/Videos/
ne fonctionne pas pour les fichiers cachésTous les fichiers, y compris les sous-dossiers, seront déplacés dans le répertoire de votre choix
mv
. Si vous voulezcp
(copier) ourm
(supprimer) vous aurez besoin de l'-r
option (récursive) pour inclure les sous-dossiers.la source
mv
option récursive n'est pas nécessaire pour inclure les sous-dossiers. On peut aussi l'utiliser pour renommer.Pour le cas simple:
Si vous souhaitez également déplacer des fichiers point (masqués), définissez l' option shell dotglob .
Cela laisse le jeu d’options shell.
Pour une utilisation ponctuelle de dotglob, exécutez les commandes dans un sous-shell:
la source
(shopt -s dotglob; mv ~/Downloads/* ~/Videos)
ne fait que déplacer (couper) le contenu (y compris les fichiers cachés). Dans ce cas, les dossiers d'origine et de destination doivent déjà exister. A la fin, le répertoire d'origine devient vide.C'est possible en utilisant
rsync
, par exemple:où:
Si vous avez des privilèges root, préfixez-le avec
sudo
pour remplacer les problèmes d’autorisation potentiels.la source
Utilisation
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.
la source
Pour déplacer un répertoire avec ou sans contenu vers son nouveau nom, de la même manière que vous utiliseriez la
mv
commande pour renommer un fichier:mv -T dir1 dir2
où:
-T
traite la destination comme un fichier normaldir1
est le nom original du répertoiredir2
est le nouveau nom du répertoireNB:
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.
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, c.-à-d
Downloads/mp4
. Dans cet exemple, le sousmv -T Downloads/mp4 Videos
-mp4
dossier sera supprimé et tous les fichiers qu'il contient seront déplacés vers le dossier Vidéos.la source
dir1
suppression de. Outre cette précaution, cette réponse a noté quelque chose de bon pour un usage quotidien.mv fileA fileB
mais l'-T
indicateur, dans ce cas, traite le répertoire / destination comme un fichier et le renomme.cd folderNamehere
pwd
. Cela imprimera aussi le répertoire que vous voulez déplacer.cd folderNamehere
mv *.* typeAnswerFromStep2here
Cela déplacera tous les fichiers de ce répertoire à l’autre.
la source
foo.txt
,bar.
et lesbar
deuxbar.
etbar
ne sera pas déplacé. Utiliser*
au lieu de*.*
s'occupe de ça. Mais dans les deux cas, les fichiers cachés tels que:.foobar
ne seront pas déplacés.Dans ce cas, vous devez
*
indiquer une barre oblique et le chemin source après afin que les fichiers se trouvent dans le 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.
la source
l'essayer
-type avec l'argument -type vous pouvez spécifier le type fichier.on cette instruction qui est le fichier moyen.if en utilisant de -d qui signifie 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 de spécifier le répertoire cible, puis de déplacer les fichiers à l'aide de l'argument mv {}
la source