Kann jemand erklären, was dieser Befehl bewirkt?

7

Kann mir jemand erklären, was dieser Befehl bewirkt?

EDIT: Do nicht diesen Befehl ausführen! Es wird Ihre Installation brechen.

sudo find / -exec rm {} \;
Zingwing
quelle
Wie Sie es (ursprünglich) dargestellt haben, -exec rm {}\;wird ein Syntaxfehler ausgegeben. Die korrekte Syntax erfordert ein Leerzeichen zwischen {}und\;
Peter.O
Der Befehl benötigt a, \! -type dum nicht all diese dummen Fehler auszuspucken.
Oals
2
@oals Oder leiten Sie Fehler an weiter /dev/null. Aktivieren Sie auch die -deleteOption zum Suchen.
ott--
4
Ich kann nicht sagen, ob dies ein Witz ist ... oder ob dir jemand gesagt hat, dass du es als "Witz" machen sollst.
Shep
Auf einem professionell gewarteten und sicheren System sollte es (wahrscheinlich) nichts Nützliches tun.
Roaima

Antworten:

26

Bad Things ® ™. Es ist (fast) das Äquivalent von sudo rm -rf /- es findet als root alle Dateien oder Verzeichnisse, /die von dort aus beginnen und rekursiv von dort absteigen, und führt dann den rmBefehl für jede gefundene Datei / jedes gefundene Verzeichnis aus. Verzeichniseinträge werden nicht gelöscht, da keine -foder -rOptionen übergeben wurden rm, aber alle Dateieinträge werden entfernt.

Tipp: Führen Sie dies nur aus, wenn Sie Ihr Betriebssystem neu installieren möchten.

John
quelle
11
Genau genommen wird es irgendwann gelöscht /bin/rmund danach werden keine weiteren Dateien mehr gelöscht. Der Vorschlag von @ott zu verwenden -deletewürde diesen "Fehler" beheben :-)
Nate Eldredge
4
Dies vermeidet den eingebauten Schutz in GNU rm, der sich offensichtlich weigert, alles von der Wurzel nach unten zu entfernen.
Simon Richter
2
Beachten Sie, dass dieser Befehl nicht äquivalent zu ist sudo rm -rf /. Der Versuch zu entfernen /ist durch POSIX rm verboten (Busybox rm entfernt /).
Cuonglm
Wie Cuonglm sagte, sudo rm -rf / ist es auf POSIX (und den meisten anderen) Systemen harmlos , also nein, das ist überhaupt nicht so!
Terdon
8

Lass es nicht laufen.

Dies findet alles (alle Dateien, Verzeichnisse, Links, Sockets usw.) unter /dh alles im System und versucht dann, diese nacheinander mit zu entfernen rm.

Beachten Sie, dass, da es keine -rOption gibt rm, nur die Verzeichniseinträge nicht entfernt werden und alles andere weg ist.

heemayl
quelle
@cuonglm find /listet alle Dateien auf und -execführt den Befehl für jedes Ergebnis von aus find. Es ist also der findBefehl, der die Rekursion ausführt, und rmwird nur für jede einzelne Datei aufgerufen.
John Lyon
@jozzas: Nein, finde / liste alle Dateien und Verzeichnisse unter / auf, alle Verzeichnisse bleiben unverändert, nur Dateien wurden entfernt.
Cuonglm
@ Cuonglm Ich habe bereits erwähnt, dass .. Bitte überprüfen Sie den zweiten Absatz ..
Heemayl
@heemayl: Ah, ich verstehe, entschuldige mein falsches Lesen.
Cuonglm
3

Einfach! Dieser Befehl entfernt alle Dateien auf Ihrem Server.

Lass es nicht laufen!

Franciscon Santos
quelle