%E2%80%9C.png)
Redhat Linux 5.8 NFS-Mounting auf NetApp-Speicher.
Ich weiß, dass rm -rf sehr gefährlich ist, aber ich untersuche ein Problem, bei dem ein Benutzer es ausgelöst hat und es gestoppt wurde, während es noch lief. Jetzt bewerte ich den Schaden und möchte wissen, wie es ein Verzeichnis durchläuft. Ich habe versucht, mir den Quellcode von rm anzusehen, kann aber nicht feststellen, wie er die Löschreihenfolge bestimmt.
Ich habe in den Communities gesucht und einige Posts dazu gesehen, aber anscheinend kennt niemand die Antwort.
Danke,
Antwort1
Ein praktischer Ansatz wäre, einige Testfälle zu erstellen und sich das einfach mal anzusehen.
Wenn Sie sich dietatsächlicher Codees hängt wahrscheinlich von der Reihenfolge ab, in der die Elemente gelesen werden xfts_open
/fts_read
.
Die Funktion, die das Durchlaufen und Entfernen tatsächlich durchführt, scheint zu sein rm_fts
. Diese Funktion hat tatsächlich einen Kommentar, der besagt:
Diese Funktion wird einmal für jedes Dateisystemobjekt aufgerufen, das fts findet. fts führt eine Tiefensuche durch.
Darüber hinaus kann eine Distribution eine beliebige Anzahl von Änderungen an diesen Komponenten aufweisen. Daher müssen Sie eine Distribution möglicherweise einzeln prüfen, um zu sehen, was sie tatsächlich verwenden/tun.