Wie kann ich rm dazu bringen, mich nicht mehr um Erlaubnis zu bitten?

15

Auf meinem Server bittet mich rm immer um Erlaubnis (obwohl ich root bin), wenn ich es starte, auf meinem Desktop nicht. Wie so:

$ rm mod_wsgi-3.3.tar.gz
rm: remove regular file `mod_wsgi-3.3.tar.gz'?

Wie kann ich verhindern, dass ich dazu aufgefordert werde?

Kit Sunde
quelle
Vielleicht ist es ein Alias. Listen Sie die Aliase mit auf aliasund entfernen Sie die Aliase mit unalias rm.
H Marcelo Morales
1
Denken Sie daran, dass Sie beide Teile behalten müssen, wenn Sie Ihr System beschädigen. Möglicherweise möchten Sie zu etwas wechseln, trash-clium sich selbst eine Schaltfläche zum Rückgängigmachen zum Löschen zu geben.
Ryan C. Thompson

Antworten:

15

Ich würde prüfen, ob Sie rmein Alias ​​sind. Wenn Sie aliasin die Befehlszeile tippen, werden alle definierten Aliase angezeigt. Ich erwarte so etwas

alias rm='rm -i'

In diesem Fall ist der Alias ​​wahrscheinlich in definiert ~/.bashrc, sodass Sie ihn ganz entfernen oder an Ihre Bedürfnisse anpassen können.

Alternativ können Sie den Alias ​​für die aktuelle Terminalsitzung mit entfernen unalias rm.

Enzotib
quelle
3
Ich halte es für klüger, dies so zu belassen und immer rm (-i aufgrund des Alias) zu verwenden. Wenn Sie dazu aufgefordert werden, geben Sie entweder yes oder ctrl-c ein und führen dann ein rm -f aus. Sicherheit geht vor: Ich habe ein komplettes System mit rm gegabelt, bei dem es nicht vorhanden war, da es von einem anderen Benutzer aus den Aliasnamen entfernt wurde (ansonsten hätte ich meinen Fehler entdeckt: D).
Rinzwind
@ Rinzwind - Sie haben wahrscheinlich Recht, aber ich mache mir in diesem Fall keine allzu großen Sorgen, mein Serversystem zu beschädigen. Es ist statusfrei und ich habe ein Setup-Skript, um es wiederherzustellen. Ich habe jedoch einmal die Hälfte der PHP-Bibliotheken von meinem System durch einen schlecht getippten rm entfernt, aber ich finde es weniger ärgerlich, einmal eine große Bereinigung durchzuführen, als ständig kleine Dinge.
Kit Sunde
2
Tut mir leid, das zu sagen, aber wenn Sie noch nicht genug Erfahrung haben, um herauszufinden, dass rmes sich um einen Alias ​​handelt, sollten Sie wahrscheinlich Sicherheitsmaßnahmen beibehalten.
MPi
10

rm -f mod_wsgi-3.3.tar.gz

WARNUNG: Mit Vorsicht verwenden.

Von der Manpage :

-f, --force ignore nonexistent files, never prompt
Rinzwind
quelle
2

Das Beste, was ich gefunden habe, ist

\rm file

Dadurch wird die ursprüngliche Unalias-Version ausgeführt, und der Alias ​​bleibt erhalten.

Wir können auch Shell verwenden Built-in commandzum Beispiel

command rm file

aber ich genieße sicherlich die geringere Ausführlichkeit in der ersten

dlmeetei
quelle
1
Ich benutze Anführungszeichen, um Aliase zu vermeiden, 'rm' fileaber deins ist kürzer!
Joeytwiddle
0

Eine andere Möglichkeit, das Definierte aliaszu umgehen, besteht darin, den vollständigen Pfad anzugeben, wenn Sie nicht dazu aufgefordert werden möchten:

/bin/rm mod_wsgi-3.3.tar.gz

Ich lasse gerne einen Alias ​​an seinem rm -iPlatz, um die Sicherheit zu gewährleisten, denn wenn ich mitten in der Nacht herumhacke und tippe rm .... Aber wenn ich aufmerksam genug bin, um mich zu erinnern, dass ich nicht dazu aufgefordert werden möchte, tippe ich /bin/rm ....

Spinup
quelle
1
Sie können auch tun command rm /dead/file. commandFührt es aus, ohne nach Funktionen oder Aliasen zu suchen.
kiri