De temps à autre je dois supprimer un répertoire complètement et
récursivement.
Donc je tape rm -rf *
Quand je tape une commande aussi dangereuse, j'aimerais bien qu'elle ne soit
pas sauvegardée dans l'historique, l'histoire de ne pas la rappeler en
faisant une fausse manip dans un autre répertoire...
Est-ce qu'il y a un moyen de désactiver l'historique de bash
temporairement ?
Question subsidiaire, quels sont vos "trucs" pour vous protéger des
suppressions accidentelles ?
De temps à autre je dois supprimer un répertoire complètement et récursivement. Donc je tape rm -rf *
Moi, je tappe
$ cd .. $ rm -fr repertoire/*
dans ces cas là. Et si j'étais un peu plus prudent, avec un rm qui l'autorise (GNU en particulier) :
$ rm repertoire/* -fr
(en ne mettant le -fr que quand on est sur de ne pas avoir fait de faute de frappe)
Et accessoirement, zsh me demande confirmation avant de faire une expansion de l'étoile quand la commande est "rm" ;-).
-- Matthieu
Samuel Colin
Dixit Adrien :
Bonjour à tous,
Bonjour,
Est-ce qu'il y a un moyen de désactiver l'historique de bash temporairement ?
Là comme ça, je dirais faire un alias sur rm de telle manière qu'il
influe sur l'historique. Il doit y avoir moyen de faire ça avec "history -d" avec un grep sur l'historique pour voir les entrées qui ressemblent à "rm -rf *" et les effacer.
Question subsidiaire, quels sont vos "trucs" pour vous protéger des suppressions accidentelles ?
Des sauvegardes. Beaucoup. Partout.
Dixit Adrien :
Bonjour à tous,
Bonjour,
Est-ce qu'il y a un moyen de désactiver l'historique de bash
temporairement ?
Là comme ça, je dirais faire un alias sur rm de telle manière qu'il
influe sur l'historique.
Il doit y avoir moyen de faire ça avec "history -d" avec un grep sur
l'historique pour voir les entrées qui ressemblent à "rm -rf *" et les
effacer.
Question subsidiaire, quels sont vos "trucs" pour vous protéger des
suppressions accidentelles ?
Est-ce qu'il y a un moyen de désactiver l'historique de bash temporairement ?
Là comme ça, je dirais faire un alias sur rm de telle manière qu'il
influe sur l'historique. Il doit y avoir moyen de faire ça avec "history -d" avec un grep sur l'historique pour voir les entrées qui ressemblent à "rm -rf *" et les effacer.
Question subsidiaire, quels sont vos "trucs" pour vous protéger des suppressions accidentelles ?
Des sauvegardes. Beaucoup. Partout.
Sébastien Monbrun aka TiChou
Dans le message <news:44ec708d$0$26013$, *Adrien* tapota sur f.c.o.l.configuration :
Bonjour,
De temps à autre je dois supprimer un répertoire complètement et récursivement. Donc je tape rm -rf *
Quand je tape une commande aussi dangereuse, j'aimerais bien qu'elle ne soit pas sauvegardée dans l'historique, l'histoire de ne pas la rappeler en faisant une fausse manip dans un autre répertoire...
Est-ce qu'il y a un moyen de désactiver l'historique de bash temporairement ?
Je vois au moins 3 possibilités pour éviter de conserver une commande dans l'historique.
La première, c'est de définir la variable d'environnement HISTIGNORE avec la liste des commandes à ne pas sauvegarder dans l'historique :
$ HISTIGNORE='rm -rf *'
=> toutes les commandes commençant par 'rm -rf ' sont ignorées de l'historique
La deuxième, c'est de définir la variable d'environnement HISTCONTROL avec l'option ignorespace ou ignoreboth (= ignorespace+ignoredup). Ainsi, à chaque fois que vous désirez taper une commande sans que celle-ci soit sauvegardée dans l'historique, vous la précédez d'un espace. Cela s'avère indispensable quand de rares commandes nécessitent de saisir un mot de passe en clair en ligne de commande, ou bien pour éviter de sauvegarder des commandes dangereuses comme c'est le cas ici.
Enfin, la troisième serait de créer une fonction 'rm' qui, en plus de lancer la commande rm, supprimerait l'historique de la commande avec la commande interne 'history' de bash.
-- Sébastien Monbrun aka TiChou
Dans le message <news:44ec708d$0$26013$626a54ce@news.free.fr>,
*Adrien* tapota sur f.c.o.l.configuration :
Bonjour,
De temps à autre je dois supprimer un répertoire complètement et
récursivement.
Donc je tape rm -rf *
Quand je tape une commande aussi dangereuse, j'aimerais bien qu'elle ne
soit pas sauvegardée dans l'historique, l'histoire de ne pas la rappeler
en faisant une fausse manip dans un autre répertoire...
Est-ce qu'il y a un moyen de désactiver l'historique de bash
temporairement ?
Je vois au moins 3 possibilités pour éviter de conserver une commande dans
l'historique.
La première, c'est de définir la variable d'environnement HISTIGNORE avec la
liste des commandes à ne pas sauvegarder dans l'historique :
$ HISTIGNORE='rm -rf *'
=> toutes les commandes commençant par 'rm -rf ' sont ignorées de
l'historique
La deuxième, c'est de définir la variable d'environnement HISTCONTROL avec
l'option ignorespace ou ignoreboth (= ignorespace+ignoredup).
Ainsi, à chaque fois que vous désirez taper une commande sans que celle-ci
soit sauvegardée dans l'historique, vous la précédez d'un espace. Cela
s'avère indispensable quand de rares commandes nécessitent de saisir un mot
de passe en clair en ligne de commande, ou bien pour éviter de sauvegarder
des commandes dangereuses comme c'est le cas ici.
Enfin, la troisième serait de créer une fonction 'rm' qui, en plus de lancer
la commande rm, supprimerait l'historique de la commande avec la commande
interne 'history' de bash.
Dans le message <news:44ec708d$0$26013$, *Adrien* tapota sur f.c.o.l.configuration :
Bonjour,
De temps à autre je dois supprimer un répertoire complètement et récursivement. Donc je tape rm -rf *
Quand je tape une commande aussi dangereuse, j'aimerais bien qu'elle ne soit pas sauvegardée dans l'historique, l'histoire de ne pas la rappeler en faisant une fausse manip dans un autre répertoire...
Est-ce qu'il y a un moyen de désactiver l'historique de bash temporairement ?
Je vois au moins 3 possibilités pour éviter de conserver une commande dans l'historique.
La première, c'est de définir la variable d'environnement HISTIGNORE avec la liste des commandes à ne pas sauvegarder dans l'historique :
$ HISTIGNORE='rm -rf *'
=> toutes les commandes commençant par 'rm -rf ' sont ignorées de l'historique
La deuxième, c'est de définir la variable d'environnement HISTCONTROL avec l'option ignorespace ou ignoreboth (= ignorespace+ignoredup). Ainsi, à chaque fois que vous désirez taper une commande sans que celle-ci soit sauvegardée dans l'historique, vous la précédez d'un espace. Cela s'avère indispensable quand de rares commandes nécessitent de saisir un mot de passe en clair en ligne de commande, ou bien pour éviter de sauvegarder des commandes dangereuses comme c'est le cas ici.
Enfin, la troisième serait de créer une fonction 'rm' qui, en plus de lancer la commande rm, supprimerait l'historique de la commande avec la commande interne 'history' de bash.
-- Sébastien Monbrun aka TiChou
Adrien
Est-ce qu'il y a un moyen de désactiver l'historique de bash temporairement ?
Merci beaucoup pour vos réponse. Adrien
Est-ce qu'il y a un moyen de désactiver l'historique de bash
temporairement ?