Il y a quelque temps, j'ai supprimé par erreur mon dossier personnel car j'ai exécuté un rm -rf *
sur le mauvais terminal, dont le répertoire de travail était le dossier personnel!
J'aimerais avoir un alias pour la rm
commande, mais ce n'était pas le cas.
Maintenant, je prévois de faire un script comme alias pour rm
.
Avez-vous des meilleures pratiques à suggérer?
Merci.
rm
soit une commande dangereuse nécessitant un pseudonyme pour des raisons de sécurité. En utilisant les optionsr
etf
, vous dites au shell que je sais que c'est dangereux, et j'y ai réfléchi attentivement, et c'est _vraiment_ ce que je veux faire . Si vous n'utilisez pas ces options, vous ne pouvez pas supprimer l'intégralité de votre dossier de départ avec.rm
vous vous habituerez à cet alias. Puis un jour, vous serez sur un système où l'alias n'existe pas et vous ferez la mauvaise chose quand vous vous y attendez le moins. Et ce ne sera probablement pas votre système.rm
àrm -i
.Réponses:
Si vous voulez une personnalisation
rm
, ne l'appelez pasrm
mais un nom à vousmyrm
,delete
ou autre chose.L'
rm='rm -i'
alias est une horreur car après un certain temps, vous vous attendezrm
à vous inviter par défaut avant de supprimer des fichiers. Bien sûr, un jour, vous l'exécuterez avec un compte qui n'a pas cet alias défini et avant de comprendre ce qui se passe, il est trop tard.Dans tous les cas, une bonne façon de se préparer à la perte ou à la corruption de fichiers consiste à effectuer des sauvegardes.
Une alternative rapide qui vous protégera contre la suppression ou l'écrasement accidentel de fichiers utilise un système de fichiers qui prend en charge des instantanés illimités comme ZFS. Si des instantanés fréquents sont effectués automatiquement, vous pouvez récupérer les fichiers dans l'état où ils étaient lors du dernier instantané avant l'incident.
la source
Si vous voulez enregistrer des alias, mais ne voulez pas risquer de vous habituer aux commandes fonctionnant différemment sur votre système que sur les autres, vous pouvez désactiver
rm
comme ceciEnsuite, vous pouvez créer votre propre alias sécurisé, par exemple
ou utilisez à la
trash
place.la source
remove
commeecho "rm is disabled, use trash or /bin/rm instead." -irv
. Et, juste comme une question de bon sens, ne voudriez-vous pas que le message derm
se réfère à votreremove
commande sûre ?Vous pouvez essayer d'utiliser à la
trash
place. N'oubliez pas de le vider de temps en temps ...la source
Sans avoir à changer le profil de tout le monde, vous pouvez placer le fichier appelé -i dans le répertoire.
la source
.* *
, plutôt que* .*
(ce que je pense être plus courant) ou* . *
(ce que vous avez dit). ……………………………………………………………………… Pour que cette technique soit vraiment, globalement efficace, vous devez la faire dans chaque répertoire où vous avez la permission d'écriture . Mais je suis d'accord, c'est une astuce intéressante.J'utilise le script suivant.
Si vous supprimez accidentellement un fichier, récupérez-le à partir du
$HOME/tmp
.Le script déplace les fichiers supprimés vers un
tmp
répertoire et les supprime la prochaine fois que le script de suppression est exécuté si le délai d'accès est de 7 jours plus tard (nettoyage semi-automatisé du$HOME/tmp
répertoire).la source
Dans ton profil,
la source
rm -I
donne le meilleur des deux mondes, @jlliagre.Un script appelé
d
, avec contenumv $* /tmp
.edit: C'est une mauvaise idée; voir ci-dessous. J'ai actuellement
alias d='mv -t /tmp'
dans ma.profile
place.la source
d "foo bar"
supprimera les fichiersfoo
etbar
). Quelque chose de plus sûr est probablement#!/bin/bash TRASH="$( mktemp -d -t trashed.XXX )"; echo "Moving to trash $TRASH"; mv -v -- "$@" "$TRASH"
(mktemp
et lamv
syntaxe dépend de votre système, celui-ci fonctionne pour Linux).d
commandementalias d='mv -t /tmp'
en mon.profile
; Je pense que c'est la solution simple que je cherchais.Ce code bash ajoute la fonction
rm
à votre~/.bash_profile
fichier de configuration. Après avoir exécuté cela, si vous écrivezrm file
, vous déplacerez ce fichier vers/tmp
la source
rm
à votre~/.bash_profile
fichier de configuration. Après avoir exécuté ce fichier, si vous écrivezrm file
, vous déplacerez ce fichier vers le/tmp
.