Commandes Linux : mv

MV

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
Fermer le menu
%d blogueurs aiment cette page :