Es gibt viele Fragen darüber, wie maneine abgeschlossene rm
Befehl. In meinem Fall begann mein rm zu fragen: „Möchten Sie diese Datei wirklich löschen?“
Und ich muss für jeden davon eine Bestätigung vornehmen. Anstatt manuell „j/n“ zu bestätigen:
Kann ich für den Rest „ja“ einstellen, während ich für die n-te Datei nach „j/n“ gefragt werde? (entspricht dem Kontrollkästchen „Ja für alle“ unter Windows) (Ich kenne den
yes | rm
Trick, bevor ich anfange)Kann ich den Vorgang abbrechen, während ich nach j/n für die n-te Datei gefragt werde? (außer beim Herunterfahren der Maschine :))
Antwort1
Um Anfrage 1 zu erfüllen, müssen Sie ein komplexeres Programm verwenden, als N-mal yes
zu senden und dann darüber hinaus die Tastatureingaben durchzureichen. Sie können dies nicht mit „except to always ask“ ( ) oder „never ask“ ( ) tun.y
rm
rm -i
rm -f
Sie können jederzeit abbrechen, rm
indem Sie
- durch Drücken von Strg-C wird es unterbrochen (sendet SIGINT),
- Drücken Sie Strg-Z, um es zu stoppen (sendet SIGSTOP) und beenden Sie es dann.
- Senden eines SIGTERM (
kill
), oder - Senden Sie ihm ein SIGKILL (
kill -9
).
Dadurch werden keine bereits ausgeführten Dateivorgänge rückgängig gemacht rm
, aber es werden keine weiteren Dateivorgänge mehr ausgeführt. Wenn der rm
Prozess derzeit nach Benutzereingaben fragt, werden keine Dateien aktiv getrennt. Wenn Sie ihn also beenden, wird nur verhindert, dass er fortgesetzt wird.
Antwort2
GNU rm unterstützt -i
, was Sie vermutlich meinen und für jede Datei eine Bestätigung anfordert, aber auch -I
, was ein wenig anders ist:
-I prompt once before removing more than three files, or when
removing recursively. Less intrusive than -i, while still giv‐
ing protection against most mistakes
Zur Frage, ob eine Interaktion mit rm nach dem Start gestoppt werden kann, sollte das Drücken von Ctrl- Cgenügen.
Antwort3
mit Ctrl+ ckönnen Sie den Vorgang abbrechen.
Wenn Sie jedoch in Ihre .bashrc
Datei schauen, können Sie den Alias kommentieren, der die Bestätigung erzwingt. Er verwendet den -i
Parameter wie in dhag erläutert.
in dir .bashrc
findest du einen Eintrag wie diesen:
alias rm='rm -i'
Wenn du es kommentierst, rm -f
funktioniert dein Wille direkt
Antwort4
Unter bash
können Sie einen Alias umgehen, indem Sie \
dem Befehl ein voranstellen.
rm filename
wird
\rm filename