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