La commande mv
Elle signifie "déplacer", et c'est exactement ce qu'elle fait : elle déplace des fichiers et des répertoires d'un endroit à un autre dans le système de fichiers. Mais mv
n'est pas seulement destiné à déplacer des fichiers ; elle est également utilisée pour les renommer.
Introduction à mv
Avant de plonger dans les mécanismes de la commande mv
, comprenons pourquoi elle est un outil indispensable pour l'utilisateur de Linux. Le système de fichiers sous Linux est une structure hiérarchique, et l'organisation des fichiers et des répertoires est une tâche courante. La commande mv
est l'outil principal pour ce travail. Elle est simple, puissante et, lorsqu'elle est utilisée avec soin, peut vous faire gagner beaucoup de temps.
Syntaxe de base
La syntaxe de base de la commande mv
est la suivante :
mv [options] source destination
Ici, source
est le fichier ou le répertoire que vous souhaitez déplacer ou renommer, et destination
est l'emplacement cible ou le nouveau nom pour le fichier/répertoire.
Déplacement de fichiers
Pour déplacer un fichier, vous spécifiez l'emplacement actuel du fichier en tant que source et le nouvel emplacement en tant que destination. Par exemple, pour déplacer un fichier nommé file1.txt
du répertoire courant vers /home/user/documents
, vous utiliseriez :
mv file1.txt /home/user/documents/
Après l'exécution de cette commande, file1.txt
n'existera plus dans le répertoire courant ; il se trouvera dans /home/user/documents
.
Renommage de fichiers
Renommer un fichier consiste essentiellement à le déplacer vers le même emplacement avec un nom différent. Pour renommer file1.txt
en newfile.txt
dans le même répertoire, vous utiliseriez :
mv file1.txt newfile.txt
Déplacement de répertoires
Le déplacement de répertoires fonctionne de manière similaire au déplacement de fichiers. Pour déplacer un répertoire nommé my_directory
vers /home/user/
, vous utiliseriez :
mv my_directory /home/user/
Écrasement de fichiers
Par défaut, si un fichier portant le même nom existe à la destination, mv
écrasera celui-ci sans avertissement. Pour éviter les écrasements accidentels, il est bon de pratique d'utiliser l'option -i
(interactive) qui vous demandera confirmation avant d'écraser :
mv -i source destination
Sortie verbose
L'option -v
(verbose) fait en sorte que mv
affiche ce qu'il fait, ce qui peut être utile pour confirmer les actions :
mv -v source destination
Exemples d'utilisation avancée
Déplacement de plusieurs fichiers
Vous pouvez déplacer plusieurs fichiers à la fois en les listant avant la destination :
mv file1.txt file2.txt file3.txt /home/user/documents/
Utilisation des jokers
Les jokers peuvent être utilisés pour déplacer un groupe de fichiers qui correspondent à un modèle :
mv *.txt /home/user/documents/ # Déplace tous les fichiers .txt du répertoire courant vers /home/user/documents/
Préservation des attributs
L'option -p
permet de préserver les attributs des fichiers, tels que les horodatages et les listes de contrôle d'accès :
mv -p source destination
Déplacement de fichiers vers un répertoire portant le même nom
Si le répertoire de destination a le même nom qu'un fichier source, vous devez vous assurer que la destination se termine par une barre oblique pour éviter d'écraser le répertoire :
mv file1.txt /home/user/file1.txt/ # Cela déplace file1.txt dans le répertoire /home/user/file1.txt
Ce qu'il faut surveiller
- Sensibilité à la casse : Les systèmes de fichiers Linux sont sensibles à la casse. Faites attention aux noms de fichiers et de répertoires ;
File1.txt
etfile1.txt
sont considérés comme des fichiers différents. - Écrasement : Utilisez toujours les options
-i
ou-n
(no clobber) pour éviter d'écraser accidentellement des fichiers. - Permissions : Assurez-vous d'avoir les permissions nécessaires pour déplacer des fichiers, surtout lorsque vous travaillez en tant qu'utilisateur non root.
- Même système de fichiers : Déplacer des fichiers au sein du même système de fichiers est presque instantané car cela implique uniquement la mise à jour des métadonnées du système de fichiers. Cependant, déplacer des fichiers entre différents systèmes de fichiers (par exemple, entre deux disques durs) va réellement copier les données puis supprimer la source, ce qui prend plus de temps.
Sorties :
Voici ce que vous pourriez voir lors de l'utilisation de mv
avec différentes options :
# Déplacement d'un fichier avec sortie verbose
$ mv -v file1.txt /home/user/documents/
'file1.txt' -> '/home/user/documents/file1.txt'
# Renommage d'un fichier avec confirmation interactive
$ mv -i file1.txt newfile.txt
mv: écraser 'newfile.txt'? y
N'oubliez pas d'utiliser les options -i
ou -n
pour éviter la perte de données et d'utiliser -v
pour une sortie verbose afin de suivre vos actions. Avec la pratique, mv
deviendra une seconde nature, et vous naviguerez dans votre système Linux avec la finesse d'un professionnel.