rm -irf -Irf mit find

407
ceph3us

Warum fordern Sie die folgende Anweisung nicht zur Bestätigung an, während Sie die Option I oder I für RM verwenden?

// pass aggregated  find . -name $name -type d -exec rm -irf {} \; // pass each find . -name $name -type d -exec rm -irf {} + 
1

1 Antwort auf die Frage

0
John1024

Die -iOption fordert zur Bestätigung auf, aber die -fOption, die in Ihrem Befehl folgt, überschreibt sie, wodurch der Bestätigungsdialog deaktiviert wird.

Beobachten:

$ rm -fri file1 rm: remove regular empty file 'file1'? n $ rm -irf file1 $  

Wenn das erste Formular oben -ferscheint, erscheint zuerst und -izuletzt. Folglich -iüberschreibt -fund rmbittet um Bestätigung.

In der zweiten Form oben -ierscheint zuerst und -fzuletzt. In diesem Fall werden -fÜberschreibungen und kein Bestätigungsdialogfeld angezeigt.

Dokumentation

Von man rm:

-f, --force
ignoriert nicht vorhandene Dateien und Argumente und fordert Sie niemals auf

-eine
Eingabeaufforderung vor jeder Entfernung

-Ich
fordere Sie einmal auf, bevor Sie mehr als drei Dateien entfernen oder rekursiv entfernen. weniger aufdringlich als -i, während es dennoch vor den meisten Fehlern schützt

es sollte also nur -ir oder -ir :) sein, ohne zu forcieren ceph3us vor 6 Jahren 1
und was wäre der beste Weg, um sich vor schädlicher Löschung zu schützen, indem Sie -I oder -i und + oder \ verwenden; ? ceph3us vor 6 Jahren 0
@ ceph3us Ja, das '-f' weglassen. Die Option "-i" bietet mehr Schutz als "-I". Wenn Sie `-i` verwenden, sind` find ... \; `und` find ... + `beide gleichermaßen sicher, wobei letztere rechnerisch effizienter sind. John1024 vor 6 Jahren 0