#1 Le 05/06/2011, à 10:14
- cocoubuntu
terminal : commandes dangereuses
http://doc.ubuntu-fr.org/commandes_dangereuses
je vois qu' l'on peut remplacer rm -rf /lenomdu dossier
par un rm -i .... voir la doc
qu'en penser ?
Hors ligne
#2 Le 05/06/2011, à 10:29
- 01101011
Re : terminal : commandes dangereuses
Salut,
-i fait l'inverse de -f, c'est-à-dire qu'il demande une confirmation au prompt avant de supprimer un dossier ou un fichier :
koshie@Coquillage:~$ mkdir test
koshie@Coquillage:~$ rm -r test/
koshie@Coquillage:~$ mkdir test
koshie@Coquillage:~$ rm -ri test/
rm : supprimer répertoire «test/» ? y
Pourquoi cette question ? Le man est pourtant très clair à ce sujet, et un petit test m'a tout de suite fait comprendre (puisque je ne connaissais pas cette option avant de me documenter avec le man pour te répondre).
Dernière modification par koshie-Final-Release (Le 05/06/2011, à 10:30)
#3 Le 05/06/2011, à 11:03
- cocoubuntu
Re : terminal : commandes dangereuses
soyons clair , je suis en,retraite depuis 11 ans et donc je ne fais pas ces tests
la commande visée est"" rm -i "" et non pas"" rm -ri "
ne serait il pas plus facile
d'ecraser ce home.bak -donc ne pas le supprimer avec rm -rf /home.bak --
avec le reformatage de la racinel ors d el'installation d'une nouvelle version -
et apres avoir deplacé le home sur une partition separée ?
merci
Hors ligne
#4 Le 05/06/2011, à 11:16
- 01101011
Re : terminal : commandes dangereuses
soyons clair , je suis en,retraite depuis 11 ans et donc je ne fais pas ces tests
Ce qui ne veut absolument rien dire. Pourquoi avoir 60 ans et plus t'empêcherait de créer un dossier et le supprimer avec différentes options ?!
la commande visée est"" rm -i "" et non pas"" rm -ri "
Ce qui est la même chose à un détail près, -r c'est pour supprimer un dossier, sans -r c'est pour un fichier. Donc on s'en fiche, j'ai juste pas eu envie de faire autre chose que de créer un dossier .
Pour ce que tu dis ensuite, tu as un topic dédié auquel j'ai participé.
Manifestement, tu ne m'as pas écouté. Relis le topic en question, je t'ai filé différentes explications et liens qui résolvaient ton problème et qui en plus était plus rapide, moins dangereux et moins compliqué que ce que tu voulais faire.
Koshicalement tiens, pardon l'ancien !
Dernière modification par koshie-Final-Release (Le 05/06/2011, à 11:16)
#5 Le 05/06/2011, à 11:23
- jilucorg
Re : terminal : commandes dangereuses
À noter que rm -r sans l'option '-f' efface les fichiers existants sans demander confirmation :
$ mkdir test && touch ./test/bla.txt && mkdir ./test/test2 && touch ./test/test2/bli.txt
$ rm -r test
$
jiluc.
––
Pour soutenir concrètement le logiciel libre : l'April ! http://www.april.org
Hors ligne
#6 Le 05/06/2011, à 16:39
- aduxas
Re : terminal : commandes dangereuses
-r c'est pour supprimer un dossier, sans -r c'est pour un fichier.
Pas tout à fait. rmdir sert a supprimer un dossier. rmdir n'est pas dangereux, car il n'aura aucun effet si le dossier contient encore des fichiers, même cachés. rm -r supprime à la fois les fichiers et les dossiers, mais de façon récursive. C.à.d. ça parcourt les sous-dossiers aussi. rm -r est donc potentiellement plus dangereux. Si tu fais rm -r * dans ton home, il ne te restera plus rien du tout. rm -rf est encore plus dangereux car il vire aussi les fichiers que tu as protégés explicitement.
Hors ligne
#7 Le 09/06/2011, à 17:14
- cocoubuntu
Re : terminal : commandes dangereuses
donc en definitive , que faut il faire pour "" neutraliser ce /home.bak ?
Hors ligne
#8 Le 09/06/2011, à 17:34
- abelthorne
Re : terminal : commandes dangereuses
C'est quoi /home.bak : un fichier ? un dossier ? Tu peux donner le résultat de ls -l / | grep bak pour y voir un peu plus clair ?
Pour les commandes, il faut savoir que tu peux utiliser plusieurs options en les regroupant. Si tu tapes rm -rf machin, tu n'utilises pas une hypothétique option "rf" mais bien deux options : "r" (récursif : supprimer un dossier et tout son contenu) et "f" (forcer la suppression sans rien demander). Donc rm -ri et rm -i ont bien une option en commun. Simplement, il y en a une qui effacera le contenu des dossiers passés en paramètre et pas l'autre (ce qui fait qu'ils ne seront pas effacés s'ils ne sont pas vides).
Hors ligne
#9 Le 09/06/2011, à 18:17
- jilucorg
Re : terminal : commandes dangereuses
Si tu tapes rm -rf machin, tu n'utilises pas une hypothétique option "rf" mais bien deux options : "r" (récursif : supprimer un dossier et tout son contenu) et "f" (forcer la suppression sans rien demander).
J'insiste à nouveau vigoureusement (voir mon post plus haut) : il est très dangereux – titre de ce sujet – de croire que sans l'option -f on est tranquille, on pourra répondre oui ou non au coup par coup :
Si l'option -I ou --interactive=once est fournie, et qu'il y a plus de trois fichiers ou qu'une des otpions -r, -R ou
--recursive est utilisée, alors rm demande à l'utilisateur s'il faut effectuer l'opération. Si la réponse n'est pas
affirmative, la commande est interrompue.Sinon, si un fichier n'est pas accessible en écriture, si l'entrée standard est un terminal, et si les options -f et
--force ne sont pas indiquées, ou si l'option -i ou --interactive=always est indiquée, rm demande à l'utilisateur de confirmer
l'effacement du fichier. Si la réponse n'est pas affirmative, le fichier est ignoré.
rm -lr efface récursivement en demandant
rm-r efface récursivement sans demander sauf quand il rencontre un fichier protégé en écriture
rm -rf ne fait qu'éviter la question pour les fichiers inaccessibles en écriture.
Une arborescence entière dans laquelle aucun fichier n'est protégé en écriture peut être supprimée avec son contenu sans la moindre demande de confirmation avec seulement 'rm -r'
jiluc.
––
Pour soutenir concrètement le logiciel libre : l'April ! http://www.april.org
Hors ligne
#10 Le 09/06/2011, à 20:20
- aduxas
Re : terminal : commandes dangereuses
Une arborescence entière dans laquelle aucun fichier n'est protégé en écriture peut être supprimée avec son contenu sans la moindre demande de confirmation avec seulement 'rm -r'
C'est ce qu'on appèle YAFIYGI, meme si l'origine du terme est les éditeurs de texte. Tu peux mettre
alias rm rm -i
dans ton .bashrc
Hors ligne