J'utilise le terminal quotidiennement, je l'utilise souvent rm DirectoryName
. Parfois, je suis un peu fou et fais rm *
. Comme vous pouvez l'imaginer, ces manigances sont parfois revenues et m'ont frappé au visage. Est-ce que quelqu'un sait comment je crée un mappage alors rm whatever
déplace tout dans la corbeille que je supprime ensuite manuellement.
62
mv /file/to/delete ~./Trash
alias rm=/bin/rm -i
devrait vous permettre de sortir en toute sécurité de votre fou . De plus, quel répertoire de corbeille voulez-vous que votre entreprise utilise? Cela devient maladroit puisque Mac OS X a un répertoire de corbeille pour chaque volume ainsi qu'une corbeille au niveau utilisateur.rm *
ourm /path/*
Réponses:
Mauvaise idée
Utiliser
rm
pour déplacer des fichiers dans la corbeille est comme une mauvaise herbe. C’est courant et agréable, mais cela peut être mauvais pour l’avenir. ;)Vous avez vraiment besoin de vous contrôler lorsque vous utilisez
rm
.Ne pas utiliser rm
Imaginez , vous vous habituez à aller à la corbeille et à en prendre l’habitude. Bien sûr, votre système est en sécurité, mais lorsque vous vous connectez au carnet de notes d'un ami (ou de votre femme ou de votre patron) et que vous devez supprimer quelque chose? En réalité, vous utiliserez le réel
rm
- supprimer ces fichiers pour toujours. C'est une mauvaise habitude, et vous devez le savoir.Alors, installez-vous
rmtrash
et prenez l’habitude de l’utiliser:Corriger les mauvaises habitudes
Une autre chose que vous pouvez faire pour vous forcer à utiliser à la
rmtrash
placerm
est de l’aliaser dans un message personnalisé dans votre.profile
.Ainsi, chaque fois que vous utilisez
rm
, vous serez invité à utiliserrmtrash
ou/bin/rm
. Rappelez-vous que ceci n’est que temporaire, vous devrez au bout d’un moment supprimer l’alias.Jamais, fais quelque chose comme ça:
Pop Quiz: Dans quel répertoire la
rm
commande sera- t-elle exécutée? :)Ps: Je viens de supprimer quelques modifications indésirables de ce message, ce qui a ajouté des absurdités au sujet des alias.
la source
&&
est votre bouée de sauvetage.;
c'est le diable. PS La réponse est que pratiquement tout ce qui se trouve sur votre système disparaît, dans l'exemple ci-dessus.trash-cli
place, ex.aptitude install trash-cli
- voir github.com/andreafrancia/trash-clibrew install trash
rmtrash
est vraiment vieux, ayant été mis à jour pour la dernière fois en 2003, et ça se voit. Il comporte beaucoup moins d'options querm
, et si vous ditesrmtrash
sur un volume secondaire, il déplace ces fichiers dans la corbeille de votre utilisateur sur le lecteur système, ce qui peut prendre beaucoup de temps pour les gros fichiers. L'trash
option recommandée par parth est préférable, résolvant le problème de maintien du même volume, mais manquant encore de nombreusesrm
options.Je peux penser à une douzaine de façons de coder cela, mais je refuse catégoriquement de saisir l'une d'elles dans une réponse. Je vous recommande fortement de freiner votre habitude de devenir un peu folle . Vous ne devriez pas avoir l'habitude d'utiliser
rm
du tout si vous ne pouvez pas l'utiliser correctement.Le problème fondamental ici est que même si vous installez un filet de sécurité sur votre propre système, cela ne fera que vous aider à conserver vos mauvaises habitudes et lorsque vous vous retrouverez un jour sur une autre machine ne disposant pas des mêmes protections personnalisées, faire quelque chose d'épique.
La solution appropriée consiste à utiliser
rm
ce qui était censé être utilisé, y compris en ajoutant manuellement l'-i
argument lorsque vous avez des doutes sur la façon dont un glob va se développer et que vous disposez de bonnes sauvegardes système que vous pouvez restaurer en cas d'erreur grave de l'utilisateur. Essayer d’ajouter des "ordures" à des commandes qui ne sont pas utilisées dans le reste de l’univers est une étape intermédiaire qui est le pire des deux mondes.Utilisez la corbeille ou ne le faites pas. L'utilisation
rm
ne va pas à la corbeille, elle supprime.Si vous voulez utiliser la corbeille, il n'y a rien de mal à cela. Prenez l’habitude d’utiliser la
rmtrash
commande au lieu derm
. Cela aidera votre cerveau à comprendre ce qui se passe et à ne pas vous prendre dans une mauvaise habitude qui causera du chagrin plus tard.la source
rm
par définition, supprime un fichier du disque. Il n'envoie pas à la poubelle. En vous apprenant à utiliserrm
quand vous voulez dire, envoyer à la corbeille vous prépare au désastre. Si vous souhaitez envoyer à la corbeille, utiliserrmtrash
ou un programme conçu pour le travail, vous ne rencontrerez pas de cauchemars plus tard. Je ne disais pas que l'utilisation de la corbeille est fondamentalement fausse, mais si vous voulez l'utiliser, ne la connectez pas à quelque chose qui n'était pas destiné à l'utiliser!brew install rmtrash
et cesser d'utiliserrm
rmtrash
au lieu derm
.Il existe des moyens de vous protéger des conséquences horribles
rm
. Cependant, je suis d’accord avec les autres commentateurs: très peu sont bons.Ne croyez pas un instant que la modification de l'environnement de commande vous aidera. Par exemple, vous constaterez que des internautes partout recommandent de procéder de la sorte:
ou
Cela ne fonctionnera pas. Période. Il existe une multitude de cas d'utilisation où ces petites astuces de parloir vont vous échouer lamentablement.
Le seul moyen efficace
rm
par lequel je me suis épargné du danger est de mettre en place un processus de sauvegarde régulier via cron sur les répertoires dans lesquels je travaille. Raw UNIX le fait bien pour vous, avec une grande simplicité, en utilisantfind
conjointement avec-mtime
pour vérifier les fichiers qui ont été mis à jour au cours de ou depuis un certain temps.la source
cron
seul. Merci :)Utilisez un outil de ligne de commande comme rmtrash ou un script qui utilise appscript pour appeler le Finder afin de le supprimer.
Après avoir installé rmtras, dites à / usr / local / bin / rmtrash la création d’un alias pour bash
Vous pouvez utiliser \ rm pour appeler directement rm et ignorer l’alias
la source
rmtrash
, faites-vous une faveur et utilisez-le sous son propre nom . Ne dites jamais ce qui nerm
va pasrm
, il vous mordra un jour.rmtrash
n'est pas compatible avecrm
(ne prend pas en charge les mêmes paramètres de ligne de commande que-r
), aussi un alias n'est-il vraiment pas utile dans tous les casrmtrash
pourrm
. Non seulement ils ne sont pas compatibles, mais cela va également imposer la mauvaise habitude et vous utiliserez accidentellementrm
dans un autre système en pensant que vous utilisez uniquementrmtrash
.Je veux juste ajouter une habitude utile à prendre pour ceux qui ne le font pas déjà. Avant d'utiliser rm pour quelque chose que ce soit, faites-le en premier. De cette façon, vous pouvez voir tous les fichiers que vous avez l'intention de supprimer. Ensuite, au lieu de ressaisir, tirez simplement la commande 'ls' précédente et remplacez ls par rm. Cette habitude a réduit beaucoup d’anxiété lorsqu’on invoquait rm.
la source
Introduction (vous pouvez le sauter)
Pour moi
rm -i
serait suffisant, car il vous invite avant de supprimer un fichier. Cependant, une sécurité supplémentaire fournie parsafe-rm
n'est pas une mauvaise idée du tout.Un simple
alias
commerm=safe-rm -i
pourrait suffire, maisrm -rf
ne fonctionnerait pas, car-i
est écrasé par-f
.Donc, nous devons nous assurer que cela
-i
vient toujours après-f
!Ma solution (3 étapes):
Installez safe-rm:
brew install safe-rm
Vous pouvez toujours travailler avec
rm
, mais vous avez modifié leRM_BIN
dans l'étape suivanteEditez votre
~/.profile
(ou bash_profile ou autre) et mettez l'extrait de code suivant (qui contient unalias
et afunction
):Enfin ,
logout
etlogin
, de sorte que les mises à jour dans le .profile sont appliquées. NE L'UTILISEZ PAS avant une déconnexion / connexion!Remarques:
-rf
et avec les regex.rm -rf
SANS demander à chaque fichier / dossier, vous pouvez toujours l'utiliser/bin/rm -rf
(ousafe-rm -rf
si vous l'aviez installé).rm -rf
ourm *
;)la source
alias rm='sudo rm'
) revient à attacher un Uzi à un couteau de cuisine: un jour, vous obtiendrez plus que ce que vous avez prévu de faire lorsque vous couperez cet ananas. Le fait de faire référence à quelque chose de plus petit que lui-même (par exemplealias rm='rmtrash'
) revient à laisser vos enfants jouer avec des grenades à main désarmées et à ne pas leur apprendre ce qu’ils sont réellement: un jour, quand ils en rencontreront un véritable, ils ne le traiteront pas avec la prudence appropriée. Quoi qu'il en soit, l'aliasing rm est mauvais pour votre sécurité personnelle et votre santé publique!rm
? En outre, l'argument de Caleb est encore plus valable: si vous vous habituez à un système avec safe-rm alias, vous risquez de devenir imprudent avec ce système et de l'utiliser éventuellement sur un système avec un rm sans alias.