La commande mv (pour move) permet de déplacer un fichier, répertoire ou tout arborescence sur Linux.
Elle s'utilise donc lorsque vous désirez déplacer un fichier ou répertoire d'un emplacement vers un autre.
Mais on peut aussi l'utiliser pour renommer un fichier.
Ainsi, c'est une des commandes de base Linux à connaître au côté de cp, rm ou ls pour manipuler les fichiers.
Dans ce tutoriel, je vous montre comment utiliser la commande mv avec de multiples exemples.
Comment utiliser la commande mv sur Linux
Voici la syntaxe de la commande mv :
mv [OPTIONS] Source Destination
La source et la destination peuvent être un fichier ou un répertoire.
Ainsi vous pouvez déplacer n'importe quel fichier ou répertoire vers l'emplacement souhaité.
Enfin la liste des options.
OPTIONS | DESCRIPTION |
--backup[=CONTROL] ou -b | Faire une sauvegarde de chaque fichier de destination existant |
-f, --force | Ne rien demander avant écraser |
-i, --interactive | Afficher une invite avant d'écraser |
-n, --no-clobber | Ne pas écraser un fichier existant Si vous spécifiez en plus -i, -f, -n, seul le dernier est en vigueur. |
--strip-trailing-slashes | Tetirez toutes les barres obliques de la source de chaque source argument |
-S, --suffix=SUFFIXE | Remplacer le suffixe de sauvegarde habituel |
-t, --target-directory=REPERTOIRE | Déplacer tous les arguments de la source dans le répertoire |
-T, --no-target-directory | Traiter la destination comme un fichier normal |
-u, --update | Déplacer uniquement lorsque le fichier source est plus récent que le fichier de destination ou quand le Le fichier de destination est manquant |
-v, --verbose | Mode bavard. Affiche des informations en sortie de commande |
-Z, --context | Définir le contexte de sécurité SELINUX de destination |
Comment utiliser la commande mv pour déplacer des fichiers ou répertoires
Renommer un fichier
Puisque la commande mv permet de déplacer un fichier vers une destination spécifique, on peut l'utiliser pour renommer un fichier.
Pour cela, on déplace le fichier au même emplacement sous un nouveau nom.
La syntaxe est alors :
mv fichier1 fichier2
Par exemple pour renommer monfichier.txt en monbeaufichier.txt :
monfichier.txt monbeaufichier.txt
Renommer un répertoire
Dans la même logique, on peut renommer un répertoire en déplaçant le répertoire dans le même emplacement mais en indiquant un nouveau nom.
La syntaxe est la suivante :
mv dir1 dir2
par exemple pour renommer le répertoire monrepertoire en monbeaurepertoire :
mv monrepertoire monbeaurepertoire
Déplacer un fichier
Pour déplacer un fichier avec mv, il vous suffit de le spécifier en source et d'indiquer la destination.
Par exemple ci-dessous, on déplace fichier.txt vers /tmp
mv fichier.txt /tmp/
Mais on peut aussi spécifier le chemin complet lorsque la source n'est pas le chemin actuel :
mv /home/malekalmorte/fichier.txt /tmp/
Pour déplacer dans le répertoire courant, utilisez le caractère point comme destination :
mv /home/malekalmorte/fichier.txt .
Enfin si vous désirez renommer le fichier de destination, indiquez le nouveau nom dans la destination.
Par exemple pour déplacer le fichier fichier.txt en le renommant en fichier_old.txt :
mv /home/malekalmorte/fichier.txt /tmp/fichier_old.txt
Déplacer plusieurs fichier vers un répertoire spécifique
On peut cibler plusieurs fichiers à l'aide du caractère joker.
Cela permet de déplacer un lots de fichiers.
Ainsi pour déplacer tous les fichiers d'un répertoire :
mv * destination/
Si vous désirez déplacer que les fichiers avec une extension particulière spécifiez là de cette manière :
mv *.ext destination/
Par exemple pour déplacer tous les fichiers JPG :
mv *.jpg destination/
Enfin pour déplacer des fichiers avec deux extensions en une seule commande mv :
mv *.{jpg,png} destination/
Comment faire des détails de mv émettant de quoi tout cela fait ?
Par défaut, la commande mv n'affiche aucune information.
Pour forcer la commande mv à afficher les fichiers déplacés et passer en mode bavard, on utilise l'option -v :
mv -v fichier.txt /tmp/
Demander une confirmation avant de déplacer un fichier
La commande mv possède une option pour demander une confirmation avant d'écraser un fichier existant dans la destination.
Cela est utile pour s'assurer que l'on n'écrase pas par erreur un fichier existant :
mv -i fichier1 fichier2
Par exemple pour déplacer fichier.txt dans /tmp et demander confirmation avant écrasement si /tmp/fichier.txt existe :
mv -i /home/malekalmorte/fichier.txt /tmp/
Si aucun fichier n'existe dans la destination, la commande n'affiche rien.
Par contre, si un fichier du même nom est présent, elle demande confirmation avant écrasement.
Répondez y pour supprimer.
mv: overwrite '/tmp/fichier.txt'?
Dans le cas où vous déplacez plusieurs fichiers, vous aurez à confirmer l'écrasement pour chacun d'eux.
Déplacer uniquement lorsqu'il est plus récent que le fichier de destination ?
Supposons qu'il existe un fichier nommé fichier.txt dans le répertoire de téléchargement de votre système et un fichier contenant le même nom dans votre répertoire personnel.
Maintenant, vous voulez mettre à jour ~/Downloads/fichier.txt avec ~/fichier.txt, mais uniquement lorsque ce dernier est plus récent. Ensuite, dans ce cas, vous devrez utiliser l'option de ligne de commande -u.
mv -u ~/fichier.txt ~/Downloads/fichier.txt
Sauvegarder les fichiers avant de les déplacer
Enfin vous pouvez sauvegarder le fichier de destination avant son écrasement.
Pour cela, on utilise l'option --suffix afin de spécifier l'extension de sauvegarde comme .bak ou .old
Voici la syntaxe pour déplacer un fichier et sauvegarder le fichier de destination :
mv --suffix=.bak File1 File2
Par exemple ci-dessous, on déplace fichier.txt qui existe dans la destination.
De ce fait, fichier.bak est créé :
mv --suffix=.bak /home/debian/fichier.txt .
Liens
- La commande ls Linux : utilisation et exemples
- Commande find Linux : Exemples d'utilisation pour rechercher des fichiers
- La commande cp de Linux : Exemples d'utilisation
- Comment utiliser la commande mv pour déplacer des fichiers ou répertoires
- Copier des fichiers ou répertoire dans un terminal sur Linux
- rsync : synchroniser, copier des fichiers à distance ou locaux
L’article La commande mv pour déplacer des fichiers ou répertoires est apparu en premier sur malekal.com.
0 Commentaires