Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
doc:systeme:rm [19/08/2012 06:26] martin_mtl |
doc:systeme:rm [11/01/2019 22:03] (Version actuelle) smolski [ATTENTION !] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== La commande rm ====== | ====== La commande rm ====== | ||
+ | |||
+ | * Objet : La commande rm | ||
+ | * Niveau requis :{{tag>débutant avisé}} | ||
+ | * Commentaires : //Commande pour supprimer des fichiers ou des répertoires - A utiliser avec la plus grande prudence ;-) // | ||
+ | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) | ||
+ | * Suivi : {{tag>à-tester}} | ||
+ | * Création par [[user>mattux]] le 07/06/2007 | ||
+ | * Testé par .... le .... | ||
+ | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=119804#p119804|C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
===== ATTENTION ! ===== | ===== ATTENTION ! ===== | ||
- | Lorsque vous utilisez cette commande en **root**, soyez bien certain de ce que vous faites. | + | Lorsque vous utilisez cette commande en **root**, soyez bien certain de ce que vous faites car les fichiers et les dossiers supprimés le sont "définitivement", ils ne vont pas dans la corbeille. |
- | Indication préalable : | ||
La commande **rm** permet de supprimer un ou plusieurs fichiers d'un répertoire, ainsi que de supprimer des répertoires. | La commande **rm** permet de supprimer un ou plusieurs fichiers d'un répertoire, ainsi que de supprimer des répertoires. | ||
- | <note important>Les fichiers et les dossiers supprimés le sont "définitivement", ils ne vont pas dans la corbeille.</note> | + | |
+ | <note tip>À noter que pour supprimer un fichier il faut avoir [[doc:systeme:droits-unix|la permission en écriture]] sur le répertoire parent, pas sur le fichier lui-même.</note> | ||
+ | L'opération de suppression (unlink) d'un fichier consiste en réalité à supprimer l'entrée du fichier dans le répertoire parent donc à modifier le répertoire, pas le fichier. D'ailleurs que la commande rm demande confirmation pour supprimer un fichier en lecture seule. | ||
+ | |||
+ | //Merci// **raleur** ;) | ||
==== Vigilance ==== | ==== Vigilance ==== | ||
Ligne 15: | Ligne 27: | ||
=== Astuce === | === Astuce === | ||
- | Afin de se garer de manipulations dangereuses, notamment sur des lignes de commande un peu alambiquées et surtout en root((Voir : [[commande:su]])), genre : | + | Afin de se garder de manipulations dangereuses, notamment sur des lignes de commande un peu alambiquées et surtout en root((Voir : [[:doc:systeme:su]])), genre : |
<code bash> | <code bash> | ||
rm /etc/rc*.d/S*blabla</code> | rm /etc/rc*.d/S*blabla</code> | ||
- | Remplacer préalablement la commande **rm** par [[commande:ls | la commande ls]] ainsi : | + | Remplacer préalablement la commande **rm** par [[:doc:systeme:ls | la commande ls]] ainsi : |
<code bash> | <code bash> | ||
ls /etc/rc*.d/S*blabla</code> | ls /etc/rc*.d/S*blabla</code> | ||
Ligne 39: | Ligne 51: | ||
* Exemple | * Exemple | ||
- | mattux@linux-deb:~> rm essai1 | + | <code user>rm essai1</code> |
La commande “rm” contient de nombreuses options mais je ne vais rajouter que l’essentiel.\\ | La commande “rm” contient de nombreuses options mais je ne vais rajouter que l’essentiel.\\ | ||
- | Pour connaitre les autres options, je vous recommande d’ouvrir Konqueror et de taper dans l’url “#commande”. N'oubliez pas le dièse (#) sans espace ! | + | Pour connaître les autres options, je vous recommande d’ouvrir Konqueror et de taper dans l’url “#commande”. N'oubliez pas le dièse (#) sans espace ! |
Vous pouvez aussi obtenir, à tout moment, **en console** la page de man de la commande avec “cobex4@pc:/> man commande”. | Vous pouvez aussi obtenir, à tout moment, **en console** la page de man de la commande avec “cobex4@pc:/> man commande”. | ||
Ligne 58: | Ligne 70: | ||
* Exemple | * Exemple | ||
- | mattux@linux-deb:~> ls | + | <code user>ls</code> |
- | amsn_received bin Desktop Documents foto logs public_html RM | + | <file config retour de la commande>amsn_received bin Desktop Documents foto logs public_html RM</file> |
- | mattux@linux-deb:~> rm -r RM | + | <code user>rm -r RM</code> |
* Résultat | * Résultat | ||
- | mattux@linux-deb:~> ls | + | <code user>ls</code> |
- | amsn_received bin Desktop Documents foto logs public_html | + | <file config retour de la commande>amsn_received bin Desktop Documents foto logs public_html</file> |
===== option commande -v ===== | ===== option commande -v ===== | ||
L'option "-v" (verbose ou mode "bavard...") permet de connaître exactemement toute l'étendue de la suppression, donc, à employer pour la sécurité avec le -r, soit : | L'option "-v" (verbose ou mode "bavard...") permet de connaître exactemement toute l'étendue de la suppression, donc, à employer pour la sécurité avec le -r, soit : | ||
- | mattux@linux-deb:~> rm -rv RM | + | <code user>rm -rv RM</code> |
Et nous pouvons être sûr ainsi de ne pas dépasser l'ensemble que nous désirons supprimer. | Et nous pouvons être sûr ainsi de ne pas dépasser l'ensemble que nous désirons supprimer. | ||
Ligne 104: | Ligne 116: | ||
rmdir /chemin/vers/le_repertoire_vide | rmdir /chemin/vers/le_repertoire_vide | ||
+ | ===== Astuce ===== | ||
+ | |||
+ | Supprimer un fichier dont le nom est précédé d'un tiret : | ||
+ | <code bash> | ||
+ | rm -- -fichier</code> | ||
+ | |||
+ | //Merci à //**enicar**// pour cette précision utilisable aussi avec// [[:doc:systeme:mv | la commande mv]]. | ||
===== TP-01 Partition racine (/) pleine ===== | ===== TP-01 Partition racine (/) pleine ===== | ||
Suite à une manipulation de téléchargement, sans redémarrage possible, vous pouvez obtenir cela : | Suite à une manipulation de téléchargement, sans redémarrage possible, vous pouvez obtenir cela : | ||
- | # dpkg --configure -a | + | <code root>dpkg --configure -a</code> |
- | dpkg: échec de l'écriture de status enregistrements de « libjaxp1.3-java » à « /var/lib/dpkg/status »: | + | <file config retour de la commande>dpkg: échec de l'écriture de status enregistrements de « libjaxp1.3-java » à « /var/lib/dpkg/status »: |
- | Aucun espace disponible sur le périphérique | + | Aucun espace disponible sur le périphérique</file> |
- | # aptitude clean | + | <code root>aptitude clean</code> |
- | E: dpkg a été interrompu. Il est nécessaire d'utiliser « dpkg --configure -a » pour corriger le problème. | + | <file config retour de la commande>E: dpkg a été interrompu. Il est nécessaire d'utiliser « dpkg --configure -a » pour corriger le problème. |
Lecture des listes de paquets... Erreur ! | Lecture des listes de paquets... Erreur ! | ||
E: Unable to write mmap - msync (28: Aucun espace disponible sur le périphérique) | E: Unable to write mmap - msync (28: Aucun espace disponible sur le périphérique) | ||
- | E: Les listes de paquets ou le fichier d'état ne peuvent pas être ouverts, ou sont incompréhensibles. | + | E: Les listes de paquets ou le fichier d'état ne peuvent pas être ouverts, ou sont incompréhensibles</file> |
Je ne peux pas faire : | Je ne peux pas faire : | ||
- | # aptitude autoclean | + | <code root>aptitude autoclean</code> |
pour faire de la place, ni supprimer quoique ce soit...\\ | pour faire de la place, ni supprimer quoique ce soit...\\ | ||
Que faire ?????? | Que faire ?????? | ||
- | # df -h /dev/sda1 disp. 0 occupé 100% | + | <code root>df -h</code> |
+ | <file config retour de la commande>/dev/sda1 disp. 0 occupé 100%</file> | ||
- | Ouvrir le pc en console, mode [[manuel:recovery | RECOVERY]].\\ | + | Ouvrir le pc en console, mode [[:doc:systeme:recovery | RECOVERY]].\\ |
- | Et lister la partition racine bloquée ainsi (voir [[commande:ls | Commande LS]]) : | + | Et lister la partition racine bloquée ainsi (voir [[:doc:systeme:ls | Commande LS]]) : |
- | $ ls -lR / | more | + | <code user>ls -lR / | more</code> |
Utiliser **more** vous permet de faire défiler par [**Entrée**] ligne par ligne des listes très importantes... Et visualiser ainsi les fichiers et repertoires en trop, bloquant le redémarrage. | Utiliser **more** vous permet de faire défiler par [**Entrée**] ligne par ligne des listes très importantes... Et visualiser ainsi les fichiers et repertoires en trop, bloquant le redémarrage. | ||