Éviter les opérations dangereuses en ligne de commande
Par haypo, jeudi 19 juin 2008 à 00:06 :: Logiciel libre :: #152 :: rss
L’erreur est humaine, mais pour provoquer une vraie catastrophe, il faut un ordinateur.
Quand on passe trop de temps dans la ligne de commande, on a tendance à oublier qu'on manipule des documents importants et qu'au détour d'une commande on peut les éradiquer à tout jamais ! Voici quelques astuces pour limiter la casse : lignes à ajouter dans votre configuration « ~/.bashrc ».
Option -i pour demander confirmation
Alias qui rajoutent l'option -i sur les opérations dangereuses :
alias ln="ln -i -v" alias cp='cp -i -v' alias mv='mv -i -v' alias rm='rm -i'
Vous pouvez également utiliser l'option -k de tar pour éviter d'écraser les fichiers existant :
alias tar='tar -k'
Option -C de bash
Bash possède une option -C pour interdire les redirections vers un fichier existant :
set -C
Exemple au pif : ça arrive qu'on tape « echo "user:password:" >/etc/passwd » alors qu'on voulait écrire « >>/etc/passwd » :-)
Configurer l'historique
Bash permet de ne pas mettre une commande dans l'historique (touche haut ou CTRL + r) avec la variable HISTIGNORE :
# Ignore commands like: # >konsole&< # any command starting with a space (eg. " sudo touch /tmp/x") # >bg< # >fg< # >exit< # >svn revert*< # >hg revert*< # >*rm *< (eg. "svn rm file", "rm -rf dir", ...) # >tee *< export HISTIGNORE='*&: *:[bf]g:exit:*>|*:history*:svn revert*:hg revert*:*rm *:tee *'
Du coup, si vous tapez une commande que vous savez délicate, précédez la d'une espace pour éviter qu'elle soit sauvée (merci acatout pour l'astuce !).
Commentaires
1. Le jeudi 19 juin 2008 à 08:55, par Olivier « toutoune25 » Tétard
2. Le jeudi 19 juin 2008 à 14:28, par haypo
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.