====== 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 ! ===== 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. La commande **rm** permet de supprimer un ou plusieurs fichiers d'un répertoire, ainsi que de supprimer des répertoires. À 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. 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 ==== Donc, lorsque vous utilisez la commande de suppression **rm**, réfléchissez bien à ce que vous faites et soyez attentif à ce que vous tapez, les conséquences peuvent en être des plus fâcheuses en cas d'un **rm** fait un peu trop vite. === Astuce === 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 : rm /etc/rc*.d/S*blabla Remplacer préalablement la commande **rm** par [[:doc:systeme:ls | la commande ls]] ainsi : ls /etc/rc*.d/S*blabla Où l'on pourra voir la liste réelle des suppressions qui seront faites __avant que cela ne soit opéré DÉ FI NI TI VE MENT__ ! Voir cette combine du captnfab //dans le contexte// du forum là : * http://debian-facile.org/forum/viewtopic.php?pid=40205#p40205 //Malin ce matelot, n'est-il pas ?// ;-) ===== Synopsis ===== * Syntaxe rm * Exemple rm essai1 La commande “rm” contient de nombreuses options mais je ne vais rajouter que l’essentiel.\\ 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”. ===== option commande -r ===== L'option "-r" permet de supprimer un répertoire et ses sous-répertoires (attention TRÈS dangereux !). * Syntaxe rm -r Ici on va effacer le répertoire RM * Exemple ls amsn_received bin Desktop Documents foto logs public_html RM rm -r RM * Résultat ls amsn_received bin Desktop Documents foto logs public_html ===== 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 : rm -rv RM Et nous pouvons être sûr ainsi de ne pas dépasser l'ensemble que nous désirons supprimer. Reste un //Yes// de confirmation pour réaliser la commande... ou //no//, hein ! Merci **Geai dechaine** pour la remarque dans le forum là : http://debian-facile.org/forum/viewtopic.php?pid=12657#p12657 ===== option commande -f ===== L'option "-f" permet de supprimer les fichiers protégés en écriture et les répertoires sans que le prompt ne demande une confirmation de suppression (à utiliser avec précaution ...). * Syntaxe rm -f ===== Vider un dossier ===== Une commande utile pour vider directement un dossier de tout son contenu et non pour le supprimer : * Syntaxe rm -R /chemin/vers/le_dossier/* Si votre dossier contient, en plus, des fichiers cachés, vous pouvez le vider directement en tapant : * Syntaxe rm -R /chemin/vers/le_dossier/* /chemin/vers/le_dossier/.* ===== Supprimer un dossier vide ===== * Syntaxe rmdir /chemin/vers/le_repertoire_vide ===== Astuce ===== Supprimer un fichier dont le nom est précédé d'un tiret : rm -- -fichier //Merci à //**enicar**// pour cette précision utilisable aussi avec// [[:doc:systeme:mv | la commande mv]]. ===== TP-01 Partition racine (/) pleine ===== Suite à une manipulation de téléchargement, sans redémarrage possible, vous pouvez obtenir cela : dpkg --configure -a dpkg: échec de l'écriture de status enregistrements de « libjaxp1.3-java » à « /var/lib/dpkg/status »: Aucun espace disponible sur le périphérique aptitude clean 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 ! 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 Je ne peux pas faire : aptitude autoclean pour faire de la place, ni supprimer quoique ce soit...\\ Que faire ?????? df -h /dev/sda1 disp. 0 occupé 100% Ouvrir le pc en console, mode [[:doc:systeme:recovery | RECOVERY]].\\ Et lister la partition racine bloquée ainsi (voir [[:doc:systeme:ls | Commande LS]]) : ls -lR / | more 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. Résolu avec des rm -r des vieux boot ! Attention avec la commande **rm -Rf** ne pas faire ça dans la racine... ! Car cela détruit __tous les dossiers__ en //forçant// la destruction des dossiers même pleins !\\ \\ //Merci à tout le forum DF tellement actif pour ces questions bien détaillée et pour les indications de résolution qui ne le sont pas moins//. **Youpi** ! ;-) Le lien est là : http://debian-facile.org/forum/viewtopic.php?id=1859