Ich benutze das Terminal täglich, ich werde es oft benutzen rm DirectoryName
. Manchmal werde ich ein bisschen verrückt und mache es rm *
. Wie Sie sich vorstellen können, sind diese Shenanigans manchmal zurückgekommen und haben mir ins Gesicht geschlagen. Weiß jemand, wie ich ein Mapping erstelle, so rm whatever
verschiebt sich alles in den Mülleimer, den ich dann manuell lösche.
62
mv /file/to/delete ~./Trash
alias rm=/bin/rm -i
sollte Sie sicher aus Ihrem Verrückten heraus trainieren . Außerdem: Welches Papierkorbverzeichnis soll rm verwenden? Es wird unübersichtlich, da Mac OS X für jedes Volume ein Papierkorbverzeichnis sowie einen Papierkorb auf Benutzerebene hat.rm *
oderrm /path/*
Antworten:
Schlechte Idee
Das
rm
Verschieben von Dateien in den Papierkorb ist wie Unkraut. Es ist üblich und erfreulich, kann aber in Zukunft schlecht für Sie sein. ;)Sie müssen sich bei der Verwendung wirklich beherrschen
rm
.Benutze nicht rm
Stellen Sie sich vor , Sie gewöhnen sich daran , in den Müll zu ziehen und sich daran zu gewöhnen . Sicher, Ihr System ist sicher, aber wenn Sie sich in das Notizbuch eines Freundes (oder Ihrer Frau oder Ihres Chefs) einloggen und etwas löschen müssen? Sie werden das echte
rm
Löschen dieser Dateien tatsächlich für immer verwenden. Es ist eine schlechte Angewohnheit, und das müssen Sie wissen.Installieren Sie es stattdessen
rmtrash
und machen Sie es sich zur Gewohnheit:Schlechte Gewohnheiten korrigieren
Sie können sich auch dazu zwingen , eine benutzerdefinierte Nachricht in Ihrer Nachricht zu verwenden,
rmtrash
anstatt sierm
als Alias zu verwenden.profile
.Wenn Sie also verwenden
rm
, werden Sie aufgefordert, entwederrmtrash
oder zu verwenden/bin/rm
. Denken Sie daran, dass dies nur vorübergehend ist. Nach einer Weile sollten Sie den Alias entfernen.Mach niemals so etwas:
Pop Quiz: In welchem Verzeichnis wird der
rm
Befehl ausgeführt? :)Ps: Ich habe gerade einige unerwünschte Änderungen an diesem Beitrag entfernt, wodurch ein paar Unsinnigkeiten in Bezug auf die Aliase entstanden sind.
quelle
&&
ist deine Lebensader.;
ist der Teufel. PS Die Antwort ist, dass im obigen Beispiel so ziemlich alles auf Ihrem System verschwindet.trash-cli
stattdessen, z.aptitude install trash-cli
- siehe github.com/andreafrancia/trash-clibrew install trash
rmtrash
ist wirklich alt, wurde zuletzt im Jahr 2003 aktualisiert, und es zeigt. Es hat viele weniger Optionen alsrm
, und wenn Sie sagen ,rmtrash
auf einem sekundären Band es bewegt sich diese Dateien in Ihrem Benutzer-Ordner Papierkorb auf dem Systemlaufwerk, das eine lange Zeit für große Dateien nehmen. Dietrash
von parth empfohlene Option ist besser, da sie das Problem des gleichbleibenden Volumens löst, aber immer noch vielerm
Optionen fehlen .Ich kann mir ein Dutzend Möglichkeiten vorstellen, dies zu kodieren, lehne es jedoch kategorisch ab, eine Antwort darauf einzutippen. Ich empfehle Ihnen nachdrücklich , Ihre Gewohnheit , ein wenig verrückt zu werden, zu unterbinden . Sie sollten es sich nicht zur Gewohnheit machen, es zu benutzen,
rm
wenn Sie es nicht richtig benutzen können.Das grundlegende Problem dabei ist, dass selbst wenn Sie ein Sicherheitsnetz auf Ihrem eigenen System installieren, dies nur dazu beiträgt, Ihre schlechten Gewohnheiten beizubehalten, und wenn Sie sich eines Tages auf einem anderen Computer befinden, der nicht über die gleichen benutzerdefinierten Schutzfunktionen verfügt Mach etwas sehr Schlimmes.
Die richtige Lösung ist die Verwendung,
rm
wie sie vorgesehen war, einschließlich des manuellen Hinzufügens des-i
Arguments, wenn Sie sich nicht sicher sind, wie ein Glob erweitert werden soll, und guter Systemsicherungen, die Sie bei schwerwiegenden Benutzerfehlern wiederherstellen können. Der Versuch, Befehle, die im Rest des Universums nicht verwendet werden, mit "Müll" zu versehen, ist auf halbem Weg der schlimmste von beiden.Entweder den Müll benutzen oder nicht. Mit
rm
geht nicht in den Papierkorb, sondern wird entfernt.Wenn Sie den Papierkorb verwenden möchten, ist daran nichts auszusetzen. Gewöhnen Sie sich einfach an, den
rmtrash
Befehl anstelle von zu verwendenrm
. Dies wird Ihrem Gehirn helfen, zu verstehen, was passiert, und Sie nicht in eine schlechte Angewohnheit bringen, die später Trauer verursachen wird.quelle
rm
per definitionem entfernt eine datei von der festplatte. Es wird nicht in den Papierkorb verschoben. Lehre selbst zu verwenden ,rm
wenn Sie bedeuten in den Papierkorb senden Sets Sie für eine Katastrophe auf. Wenn Sie etwas in den Papierkorb werfenrmtrash
oder ein Programm verwenden möchten, das für diesen Job entwickelt wurde, werden Sie später nicht auf Albträume stoßen. Ich habe nicht gesagt, dass die Verwendung des Papierkorbs von Natur aus falsch ist, aber wenn Sie ihn verwenden möchten, verbinden Sie ihn nicht mit etwas, das nicht für die Verwendung vorgesehen ist!brew install rmtrash
und aufhören zu benutzenrm
rmtrash
anstatt zu verwendenrm
.Es gibt Möglichkeiten, sich vor schrecklichen Folgen zu schützen
rm
. Ich stimme jedoch den anderen Kommentatoren hier zu: Sehr wenige sind gut.Glauben Sie nicht für eine Minute, dass das Ändern der Befehlsumgebung Ihnen helfen wird. Zum Beispiel werden Sie überall Leute finden, die diese Art von Dingen empfehlen:
oder
Das wird nicht funktionieren. Zeitraum. Es gibt eine Menge von Anwendungsfällen, in denen diese kleinen Salon-Tricks Sie kläglich scheitern lassen.
Der einzige robuste Weg, mit dem ich mich der Gefahr entzogen habe,
rm
ist die Einrichtung eines regelmäßigen Sicherungsprozesses durch cron über die Verzeichnisse, in denen ich arbeite. Raw UNIX erledigt dies sehr einfach für Sie und suchtfind
in Verbindung mit-mtime
nach Dateien, die innerhalb oder seit einer bestimmten Zeit aktualisiert wurden.quelle
cron
alleine. Danke :)Verwenden Sie ein Befehlszeilenprogramm wie rmtrash oder ein Skript, das appscript verwendet, um den Finder aufzurufen und dort zu löschen.
Nachdem Sie rmtras installiert haben, sagen Sie / usr / local / bin / rmtrash und erstellen Sie einen Alias für bash
Mit \ rm können Sie rm direkt aufrufen und den Alias ignorieren
quelle
rmtrash
, tun Sie sich selbst einen Gefallen und verwenden Sie es unter seinem eigenen Namen . Alias nie Dinge, die nichtrm
zurm
, es wird dich eines Tages beißen.rmtrash
ist nicht kompatibel mitrm
(unterstützt nicht die gleichen Befehlszeilenparameter wie-r
), daher ist ein Alias auf keinen Fall nützlichrmtrash
zu verwendenrm
. Sie sind nicht nur nicht kompatibel, sondern verstärken auch die schlechte Angewohnheit und werden versehentlichrm
in einem anderen System verwendet, das denkt, dass Sie nur verwendenrmtrash
.Ich möchte nur eine hilfreiche Angewohnheit für diejenigen hinzufügen, die dies noch nicht tun. Bevor Sie rm für irgendetwas verwenden, müssen Sie zuerst 'ls' darauf ausführen. Auf diese Weise können Sie alle Dateien anzeigen, die Sie löschen möchten. Statt erneut zu tippen, ziehen Sie einfach den vorherigen Befehl 'ls' nach oben und tauschen Sie ls gegen rm aus. Diese Angewohnheit hat viel Angst beim Aufrufen von rm reduziert.
quelle
Einführung (Sie können es überspringen)
Für mich
rm -i
wäre das genug, weil es dich vor dem Löschen einer Datei auffordert. Eine gewisse zusätzliche Sicherheitsafe-rm
ist jedoch keine schlechte Idee.Ein einfaches
alias
Likerm=safe-rm -i
könnte reichen,rm -rf
würde aber nicht funktionieren, weil-i
es von übersteuert wird-f
.Also müssen wir dafür sorgen, dass
-i
immer danach kommt-f
!Meine Lösung (3 Schritte):
Installieren Sie safe-rm:
brew install safe-rm
Sie können weiterhin damit arbeiten
rm
, aber Sie haben dasRM_BIN
im nächsten Schritt geändertBearbeiten Sie Ihr
~/.profile
(oder bash_profile oder was auch immer) und fügen Sie den folgenden Codeausschnitt ein (der einalias
und ein enthältfunction
):Schließlich ,
logout
undlogin
, so die Aktualisierungen in der .profile angewandt werden. NICHT vor einem Logout / Login benutzen!Anmerkungen:
-rf
und mit Regexen.rm -rf
OHNE nach jeder einzelnen Datei / Ordner gefragt zu werden, können Sie sie weiterhin verwenden/bin/rm -rf
(odersafe-rm -rf
wenn Sie sie installiert haben).rm -rf
oderrm *
;)quelle
alias rm='sudo rm'
) ist, als würde man einen Uzi an ein Küchenmesser schnallen: Eines Tages werden Sie mehr bekommen, als Sie erwartet hatten, wenn Sie diese Ananas schneiden. Ein Aliasing von rm auf etwas Kleineres als sich selbst (z. B.alias rm='rmtrash'
) bedeutet, Ihre Kinder mit entwaffneten Handgranaten spielen zu lassen und ihnen nicht beizubringen, was sie tatsächlich sind. In jedem Fall ist Aliasing für Ihre persönliche Sicherheit und die öffentliche Gesundheit schädlich!rm
? Der Punkt von Caleb ist sogar noch wichtiger: Wenn Sie sich an ein System mit Safe-RM-Alias gewöhnt haben, werden Sie möglicherweise leichtsinnig und können es schließlich auf einem System mit einem unaliasierten RM verwenden.