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.