Installé avec le paquet coreutils
Voir aussi : cp
Afficher la version de la commande mv
mv --version
ou
apt-cache policy coreutils
Mode verbeux
mv -v [...]
Affiche les actions effectuées (déplacement, renommage, écrasement, etc.)
ex :
# mv -v dir1/ dir2/
« dir1/ » -> « dir2/ »
Renommer un fichier ou dossier
Un fichier :
mv /pathX/filename /pathX/newfilename
L’option -i permet de demander une confirmation avant d’écraser l’éventuel fichier newfilename existant.
L’option -f permet de ne pas demander de confirmation avant d’écraser l’éventuel fichier newfilename existant, si un alias du type mv=’mv -i’ existe dans /etc/profile ou /etc/bash.bashrc (niveau global), ou dans ~/.profile ou ~/.bashrc (niveau utilisateur).
Un dossier :
mv /pathX/dirname/ /pathX/newdirname/
Le dossier newdirname ne doit pas exister, sinon dirname (et son contenu) sera déplacé dans ce dernier.
Déplacer un fichier ou un dossier dans un dossier existant
Un fichier :
mv /pathX/filename /pathY/destination/
Un dossier :
mv /pathX/dirname/ /pathY/destination/
Ne pas écraser un fichier existant de même nom
mv -n /pathX/dirname/* /pathY/destination/
Ne pas écraser un fichier existant de même nom et plus récent
mv -u /pathX/dirname/* /pathY/destination/
Sauvegarder les fichiers écrasés
mv /pathX/dirname/* /pathY/destination/ --backup=t
Sauvegardera les fichiers écrasés en leur concaténant une extension numérotée.
ex :
# mv -v source/* destination/ --backup=t « source/file1 » -> « destination/file1 » (archive : « destination/file1.~1~ ») « source/file2 » -> « destination/file2 » (archive : « destination/file2.~1~ ») « source/file3 » -> « destination/file3 » (archive : « destination/file3.~1~ ») # ls -lA destination/ total 0 -rw-r--r-- 1 root root 0 déc. 4 01:03 file1 -rw-r--r-- 1 root root 0 déc. 4 01:03 file1.~1~ -rw-r--r-- 1 root root 0 déc. 4 01:03 file2 -rw-r--r-- 1 root root 0 déc. 4 01:03 file2.~1~ -rw-r--r-- 1 root root 0 déc. 4 01:03 file3 -rw-r--r-- 1 root root 0 déc. 4 01:03 file3.~1~
mv /pathX/dirname/* /pathY/destination/ --backup=simple
Sauvegardera les fichiers écrasés en laur concaténant un tilde final.
ex :
# mv -v source/* destination/ --backup=simple « source/file1 » -> « destination/file1 » (archive : « destination/file1~ ») « source/file2 » -> « destination/file2 » (archive : « destination/file2~ ») « source/file3 » -> « destination/file3 » (archive : « destination/file3~ ») # ls -lA destination/ total 0 -rw-r--r-- 1 root root 0 déc. 4 01:03 file1 -rw-r--r-- 1 root root 0 déc. 4 01:03 file1.~ -rw-r--r-- 1 root root 0 déc. 4 01:03 file2 -rw-r--r-- 1 root root 0 déc. 4 01:03 file2.~ -rw-r--r-- 1 root root 0 déc. 4 01:03 file3 -rw-r--r-- 1 root root 0 déc. 4 01:03 file3.~
Sauvegarder les fichiers écrasés en ajoutant automatiquement l’extension .old
Ponctuellement :
mv -b -S .old /pathX/dirname/* /pathY/destination/
ex :
# mv -v -b -S .old source/* destination/ « source/file1 » -> « destination/file1 » (archive : « destination/file1.old ») « source/file2 » -> « destination/file2 » (archive : « destination/file2.old ») « source/file3 » -> « destination/file3 » (archive : « destination/file3.old ») # ls -lA destination/ total 0 -rw-r--r-- 1 root root 0 déc. 4 01:53 file1 -rw-r--r-- 1 root root 0 déc. 4 01:49 file1.old -rw-r--r-- 1 root root 0 déc. 4 01:53 file2 -rw-r--r-- 1 root root 0 déc. 4 01:49 file2.old -rw-r--r-- 1 root root 0 déc. 4 01:53 file3 -rw-r--r-- 1 root root 0 déc. 4 01:49 file3.old
De manière permanente :
Il faut avant tout définir une variable d’environnement appelée SIMPLE_BACKUP_SUFFIX et lui affecter la valeur « .old »
Cette variable peut être définie, au niveau global, /etc/profile ou /etc/bash.bashrc ou, au niveau utilisateur, dans ~/.profile ou ~/.bashrc, en ajoutant la ligne suivante dans un de ces fichiers :
[...] export SIMPLE_BACKUP_SUFFIX=".old"
Puis, pour qu’elle soit chargée dans la session courante :
# source /etc/bash.bashrc
ou
# . /etc/bash.bashrc
Dans le cas où la variable a été défnie dans le fichier /etc/bash.bashrc.
Vérification de la valeur affectée à la variable :
# echo $SIMPLE_BACKUP_SUFFIX
.old
Enfin, il est possible de lancer la commande mv en mode backup sans spécifier le suffixe utilisé puisqu’il est défini dans la variable :
mv -b /pathX/dirname/* /pathY/destination/
ex :
# mv -v -b source/* destination/ « source/file1 » -> « destination/file1 » (archive : « destination/file1.old ») « source/file2 » -> « destination/file2 » (archive : « destination/file2.old ») « source/file3 » -> « destination/file3 » (archive : « destination/file3.old ») # ls -lA destination/ total 0 -rw-r--r-- 1 root root 0 déc. 4 01:57 file1 -rw-r--r-- 1 root root 0 déc. 4 01:53 file1.old -rw-r--r-- 1 root root 0 déc. 4 01:57 file2 -rw-r--r-- 1 root root 0 déc. 4 01:53 file2.old -rw-r--r-- 1 root root 0 déc. 4 01:57 file3 -rw-r--r-- 1 root root 0 déc. 4 01:53 file3.old