Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/06/2011, à 11: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, à 11: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 :

Mon terminal a écrit :

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, à 11:30)

#3 Le 05/06/2011, à 12: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, à 12:16

01101011

Re : terminal : commandes dangereuses

cocoubuntu a écrit :

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 ?!

cocoubuntu a écrit :

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 smile.

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 tongue !

Dernière modification par koshie-Final-Release (Le 05/06/2011, à 12:16)

#5 Le 05/06/2011, à 12: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, à 17:39

aduxas

Re : terminal : commandes dangereuses

koshie-Final-Release a écrit :

-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, à 18: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, à 18: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, à 19:17

jilucorg

Re : terminal : commandes dangereuses

abelthorne a écrit :

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 :

man rm a écrit :

       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, à 21:20

aduxas

Re : terminal : commandes dangereuses

jilucorg a écrit :

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