Commande rm

Fonction

Supprime des fichiers ou des répertoires (supprime le lien).

Syntaxe

rm [  -f ] [  -r ] [  -R ] [  -i ] [  -e ] Fichier ...

Description

La commande rm supprime d'un répertoire les entrées correspondant au paramètre Fichier. Si une entrée est le dernier lien à un fichier, celui-ci est supprimé. Si vous ne disposez pas du droit d'accès en écriture sur un fichier et que l'unité d'entrée standard correspond à un terminal, vous êtes invité à entrer le nom du fichier et à confirmer sa suppression. Si vous tapez y (yes), le fichier est supprimé. Si vous tapez tout autre caractère, il est conservé. Il n'est pas nécessaire que vous disposiez du droit d'accès en lecture ou en écriture sur le fichier que vous voulez supprimer. En revanche, vous devez bénéficier du droit d'accès en écriture sur le répertoire dans lequel il réside.

Si le fichier est un lien symbolique, ce dernier est supprimé, mais le fichier ou le répertoire auquel il fait référence est conservé. Pour supprimer un lien symbolique, vous n'avez pas besoin du droit d'accès en écriture, sous réserve que vous bénéficiez de ce droit sur le répertoire.

Si le fichier . (point) ou .. (point, point) est spécifié comme nom de base du paramètre Fichier, la commande rm écrit un message de diagnostic en erreur standard et n'intervient pas sur ces paramètres.

La commande rm écrit une invite en erreur standard et lit une ligne de l'entrée standard si l'option -f est omise et que a) le paramètre Fichier ne dispose pas du droit d'accès en écriture et l'unité d'entrée standard correspond à un poste de travail, ou b) l'option -i est spécifiée. Si la réponse est négative, la commande rm n'intervient pas sur le fichier en cours et passe directement au fichier suivant.

Les fichiers appartenant à d'autres utilisateurs ne peuvent pas être supprimés si le bit "sticky" du répertoire est défini et que l'utilisateur n'est pas le propriétaire de ce dernier.

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

Toute tentative de suppression d'un fichier ou d'un répertoire exporté en vue d'être utilisé par le serveur NFS Version 4 renvoie un message d'erreur indiquant que la ressource est occupée. Pour que le fichier ou répertoire puisse être supprimé, le processus d'exportation doit être inversé.

Options

-e Affiche un message après chaque fichier supprimé.
-f Ne demande pas confirmation de la suppression d'un fichier protégé contre l'écriture. Si un fichier spécifié n'existe pas, cette option n'affiche pas de message d'erreur ni d'état erreur. Si vous incluez les options -f et -i, seule celle spécifiée en dernier est appliquée.
-i Demande confirmation avant de supprimer chaque fichier. Lorsque vous utilisez les options -i et -r simultanément, la commande rm vous invite également à confirmer la suppression des répertoires. Si vous incluez les options -i et -f, seule celle spécifiée en dernier est appliquée.

-r Autorise la suppression récursive de répertoires et de leur contenu lorsque le paramètre Fichier représente un répertoire. Cette option équivaut à l'option -R.
-R Autorise la suppression récursive de répertoires et de leur contenu lorsque le paramètre Fichier représente un répertoire. Cette option équivaut à l'option -r.

Etat de sortie

Cette commande renvoie les valeurs de sortie suivantes :

0 Si l'option -f est omise, toutes les entrées du répertoire nommé sont supprimées. Dans le cas contraire, toutes les entrées existantes du répertoire nommé sont supprimées
>0 Une erreur s'est produite.

Exemples

  1. Pour supprimer un fichier, entrez :

    rm monfichier

    S'il existe un autre lien à ce fichier, le fichier est conservé et porte le nom du lien, mais le nom monfichier est supprimé. Si le nom monfichier est l'unique lien, le fichier lui-même est supprimé.

  2. Pour supprimer un fichier sans avoir à confirmer l'opération, entrez :
    rm  -f core
    Aucun message de confirmation n'est affiché avant que la commande rm -f ne tente de supprimer le fichier core. Toutefois, un message d'erreur s'affiche si ce fichier est protégé contre l'écriture et ne vous appartient pas ou que vous ne disposez pas des droits d'accès de niveau superutilisateur. Aucun message d'erreur ne s'affiche lorsque la commande rm -f tente de supprimer des fichiers non existants.
  3. Pour supprimer des fichiers un par un, entrez :
    rm  -i monrép/*
    Chaque fois qu'un nom de fichier s'affiche, entrez y pour le supprimer ou appuyez sur la touche Entrée pour le conserver.
  4. Pour supprimer une arborescence de répertoires, entrez :
    rm -ir manuel
    Cette commande supprime récursivement le contenu de tous les sous-répertoires du répertoire manuel, en vous invitant à confirmer la suppression de chaque fichier, puis supprime le répertoire manuel lui-même. Exemple :

    Vous :  rm -ir manuel
    Système : rm: Select files in directory manuel? Enter y for yes.
    Vous :  y
    Système : rm: Select files in directory manuel/version1? Enter y for yes.
    Vous :  y
    Système : rm: Remove manuel/version1?
    Vous :  y
    Système : rm: Remove manuel/version1/chapitre1?
    Vous :  y
    Système : rm: Remove manuel/version1/chapitre2?
    Vous :  y
    Système: rm: Select files in directory manuel/version2? Enter y for yes.
    Vous :  y
    Système : rm: Remove manuel/version2?
    Vous :  y
    System: rm: Remove manuel?
    Vous :  y

    Dans cet exemple, la commande rm vous invite d'abord à examiner le contenu du répertoire manuel. Comme le répertoire manuel contient des sous-répertoires, la commande rm vous demande ensuite si vous souhaitez rechercher des fichiers à supprimer dans manuel/version1, puis elle vous invite à confirmer la suppression des fichiers manuel/version1/chapitre1 et manuel/version1/chapitre2. Elle vous demande ensuite si vous souhaitez examiner le sous-répertoire manuel/version2. Enfin, elle vous invite à confirmer la suppression des répertoires manuel/version1, manuel/version2 et manuel.

    Si vous refusez de supprimer un répertoire ( manuel/version2, par exemple), la commande rm ne supprime pas le répertoire manuel. Elle renvoie alors le message : rm: Directory manuel not empty.

Fichiers

/usr/bin/rm Contient la commande rm.

Envoyer un commentaire | Evaluer la page