Commande mv

Fonction

Permet de déplacer des fichiers.

Syntaxe

Pour déplacer et renommer un fichier :

mv [ -E{force|ignore|warn} ] [ -i | -f ] [ -I ] FichierSource ... FichierCible

Pour déplacer et renommer un répertoire :

mv -E{force|ignore|warn} ] [ -i | -f ] [ -I ] RépertoireSource ... RépertoireCible

Pour déplacer des fichiers et des répertoires vers un répertoire sans les renommer :

mv -E{force|ignore|warn} ] [ -i | -f ] [ -I ] FichierSource/RépertoireSource RépertoireCible

Description

Avertissement : La commande mv peut écraser un grand nombre de fichiers existants, à moins que vous ne spécifiez l'option -i. L'option -i vous invite à confirmer l'écrasement d'un fichier. Si vous incluez les options -f et -i, seule celle spécifiée en dernier est appliquée.

La commande mv déplace des fichiers et des répertoires d'un répertoire vers un autre, ou renomme un fichier ou un répertoire. Si vous déplacez un fichier ou un répertoire vers un autre répertoire, le nom de fichier de base est conservé. Le déplacement d'un fichier n'a aucune incidence sur ses liens à d'autres fichiers, à moins que vous ne le déplaciez vers un autre système de fichiers. Lorsque vous déplacez un répertoire vers un autre répertoire, il est ajouté avec tout ce qu'il contient sous le répertoire existant.

Lorsque vous utilisez la commande mv pour renommer un fichier ou un répertoire, le paramètre RépertoireCible peut représenter un nouveau nom de fichier ou un nouveau nom de chemin de répertoire.

Si le déplacement du fichier implique l'écrasement d'un fichier existant qui n'est pas doté du droit d'accès en écriture et que l'entrée standard correspond à un poste de travail, la commande mv affiche le code d'accès au fichier et lit une ligne sur l'entrée standard. Si cette ligne commence par un y ou par l'équivalent d'un y dans l'environnement local, la commande mv déplace le fichier. Dans le cas contraire, la commande mv n'intervient pas sur le fichier et passe au suivant. Le code d'accès au fichier ne représente pas nécessairement tous les droits d'accès si FichierCible est associé à une liste de contrôle d'accès. Lorsque le répertoire parent de FichierSource est accessible en écriture et que son bit "sticky" est activé, les conditions suivantes sont vérifiées, en tout ou en partie :

Pour éviter l'affichage de ce message d'avertissement et du message invitant l'utilisateur à entrer des données, vous pouvez utiliser l'option -f.

La commande mv vous permet de déplacer des fichiers au sein d'un même système de fichiers ou vers un autre système de fichiers. Que vous utilisiez un ou plusieurs systèmes de fichiers, elle copie le fichier vers la cible et supprime l'original. La commande mv conserve les informations suivantes dans le nouveau fichier : heure de la dernière modification de données, heure de l'accès le plus récent, ID utilisateur, ID groupe, mode d'ouverture de fichier, attributs étendus et listes de contrôle d'accès du fichier d'origine. Pour ce qui est des liens symboliques, la commande mv conserve uniquement le propriétaire et le groupe du lien lui-même.

Si elle ne peut pas conserver le propriétaire et l'ID groupe, elle efface les bits S_ISUID et S_ISGID dans la cible. Si elle ne peut pas effacer ces bits, elle imprime un message de diagnostic sur stderr, mais le code de sortie n'est pas affecté.

Si elle est interrompue prématurément, la commande mv modifie soit le fichier source soit le chemin de destination.

Remarque :
La commande mv prend en charge le paramètre (tiret, tiret) comme délimiteur pour indiquer la fin des options.

La commande mv ne déplace pas un objet s'il a été exporté en tant que référenceur NFS Version 4. L'objet est alors marqué comme occupé et conservé jusqu'à ce que l'exportation soit inversée.

Options

Avertissement : La commande mv peut écraser un grand nombre de fichiers existant, à moins que vous ne spécifiez l'option -i. L'option -i vous invite à confirmer l'écrasement d'un fichier. Si vous incluez les options -f et -i, seule celle spécifiée en dernier est appliquée.
-E L'option -E requiert un des arguments ci-après. Si vous omettez l'option cette option, l'argument warn est activé par défaut.
force
L'opération mv échoue sur un fichier s'il est impossible de conserver la taille de l'ensemble de blocs contigus fixe ou la réservation d'espace du fichier.
ignore
Ignore toute erreur liée à la conservation des attributs relatifs à l'ensemble de blocs contigus.
warn
Génère un avertissement s'il est impossible de conserver la taille de l'ensemble de blocs contigus fixe ou la réservation d'espace du fichier.
-f Ne demande pas confirmation de l'écrasement d'un fichier existant.
-i Avant de déplacer un fichier ou un répertoire vers un nom de chemin existant, cette option demande confirmation en affichant le nom de fichier suivi d'un point d'interrogation. Si vous répondez par une ligne commençant par un y ou l'équivalent d'un y dans l'environnement local, le déplacement est effectué. Dans le cas contraire, il n'a pas lieu.
-I Supprime le message d'avertissement pendant la conversion des listes de contrôle d'accès.

Exemples

  1. Pour renommer un fichier, entrez :

    mv annexe annx.a

    Cette commande renomme annexe annx.a. Si un fichier nommé annx.a existe déjà, son contenu est remplacé par celui du fichier annexe.

  2. Pour déplacer un répertoire, entrez :

    mv guide manuel

    Cette commande déplace tous les fichiers et répertoires que contient guide vers le répertoire manuel, s'il existe. Sinon, le répertoire guide est renommé manuel.

  3. Pour déplacer un fichier vers un autre répertoire en le renommant, entrez :

    mv intro manuel/chap1

    Cette commande déplace intro vers manuel/chap1. Le nom intro est supprimé du répertoire en cours et le fichier est répertorié sous le nom chap1 dans le répertoire manuel.

  4. Pour déplacer un fichier vers un autre répertoire sans le renommer, entrez :

    mv chap3 manuel

    Cette commande déplace chap3 vers manuel/chap3

    Remarque : Les exemples 1 et 3 nomment deux fichiers, l'exemple 2 nomme deux répertoires existants et l'exemple 4 nomme un fichier et un répertoire.
  5. Pour déplacer plusieurs fichiers vers un autre répertoire, entrez :

    mv chap4 jean/chap5 /home/manuel

    Cette commande déplace le fichier chap4 vers le fichier /home/manuel/chap4 et le fichier jean/chap5 vers le fichier /home/manuel/chap5.

  6. Pour utiliser la commande mv avec des métacaractères, entrez :

    mv manuel/* .

    Cette commande déplace tous les fichiers du répertoire manuel vers le répertoire en cours . (point), en conservant les noms tels qu'ils apparaissaient dans manuel. Cette opération vide également le répertoire manuel. Vous devez taper un espace entre l'astérisque et le point.

    Remarque : Les métacaractères développent uniquement le nom des fichiers existants. La commande mv intro man*/chap1, par exemple, n'est pas valide si le fichier manuel/chap1 n'existe pas.

Etat de sortie

0 Tous les fichiers en entrée ont été déplacés.
>0 Une erreur s'est produite.

Fichiers

/usr/bin/mv Contient la commande mv.

Rubriques connexes

Commandes chmod et rm.


Envoyer un commentaire | Evaluer la page