MV(1) Manuel de Référence d'OpenBSD MV(1)
===== NOM =====
**mv** - déplacement de fichier
===== RÉSUMÉ =====
**mv** [**-fi**] //source// //cible//
**mv** [**-fi**] //source// //...// //répertoire//
===== DESCRIPTION =====
Dans sa première forme, l'utilitaire **mv** déplace le fichier pointé par l'opérande //source// en l'opérande //cible//. Cette forme est employée lorsque la dernière opérande ne précise pas un répertoire déjà existant.
Dans sa seconde forme **mv** déplace chaque fichiers pointé par une opérande //source// vers une destination spécifiée par l'opérande //répertoire//. Il se produit une erreur si l'opérande //répertoire// n'existe pas. Le chemin de destination de chaque opérande //source// correspond à la concaténation de l'opérande //répertoire//, d'un slash, et de la dernière composante du chemin d'accès du fichier.
Les options sont les suivantes :
* **-f** Ne demande aucune confirmation lors de l'écrasement du chemin de destination.
* **-i** Fait en sorte que **mv** demande confirmation avant de déplacer un fichier qui écraserait un fichier existant. Si la réponse provenant de l'entrée standard commence par le caractère `y', alors **mv** tente de procéder au déplacement.
C'est la dernière des options **-f** ou **-i** saisies qui affecte le comportement de **mv**.
L'utilitaire **mv** déplace les liens symboliques, mais pas les fichiers référencés par les liens.
Si le chemin de destination n'est pas dans un mode qui permet l'écriture, **mv** demande confirmation à l'utilisateur, comme précisé avec l'option **-i**.
Si l'appel à [[:maxime:openbsd:manpages-fr:2:rename|rename(2)]] échoue parce que la source et la destination ne se trouvent pas sur le même système de fichiers, **mv** utilise [[:maxime:openbsd:manpages-fr:1:cp|cp(1)]] et [[:maxime:openbsd:manpages-fr:1:rm|rm(1)]] pour accomplir le déplacement. L'effet est équivalent à :
$ rm -f chemin_de_destination && \
cp -PRp fichier_source destination && \
rm -rf fichier_source
L'utilitaire **mv** retourne 0 lors de sa fermeture si son exécution s'est bien passé, ou une valeur >0 si une erreur s'est produite.
===== EXEMPLES =====
Renommer un fichier //foo// en //bar//, en écrasant //bar// s'il existe déjà :
$ mv -f foo bar
L'une ou l'autre de ces commandes renommera le fichier //-f// en //bar//, en demandant confirmation si //bar// existe déjà :
$ mv -i -- -f bar
$ mv -i ./-f bar
===== VOIR AUSSI =====
[[:maxime:openbsd:manpages-fr:1:cp|cp(1)]], [[:maxime:openbsd:manpages-fr:1:rm|rm(1)]], [[:maxime:openbsd:manpages-fr:2:rename|rename(2)]], [[:maxime:openbsd:manpages-fr:7:symlink|symlink(7)]]
===== NORMES =====
L'utilitaire **mv** respecte les spécifications IEEE Std 1003.1-2004 ("POSIX")
===== HISTORIQUE =====
La commande **mv** est apparue dans AT&T UNIX Version 1.
===== REMARQUES =====
Dans un second cas, si le chemin de destination existe, l'opérande //source// et le chemin de destination doivent être tous deux des fichiers ou tous deux des répertoires pour que l'opération réussisse. Par exemple, si //f// est un fichier et que //d// et //d/f// sont des répertoires, la commande suivante échouera :
$ mv f d
OpenBSD 4.3 26 Mai 2008 2