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 {} \;

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.


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.


@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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.