Warum schlägt `rm -rf`` stillschweigend fehl?

Warum schlägt `rm -rf`` stillschweigend fehl?

[EDIT] Bitte verschwenden Sie nicht Ihre Zeit mit dem Lesen meiner Frage unten. Es stellt sich heraus, dass mein Kollege ein Idiot ist. :)

Auf meinem Server versuche ich, einen Ordner und alle seine Unterordner mit dem üblichen zu entfernen rm -rf dirname, aber es schlägt stillschweigend fehl:

kramer65@vps1:~$ ls -l
total 24
drwxrwxr-x  2 kramer65 kramer65 4096 Jul 11 22:00 backups
drwxrwxr-x  2 kramer65 kramer65 4096 Jul 17 17:37 bin
drwxrwxr-x  3 kramer65 kramer65 4096 Sep  1 11:11 cxs
kramer65@vps1:~$ rm -rf cxs/
kramer65@vps1:~$ ls
backups  bin  cxs
kramer65@vps1:~$ sudo rm -rf cxs/
kramer65@vps1:~$ ls
backups  bin  cxs
kramer65@vps1:~$ rmdir cxs/
rmdir: failed to remove ‘cxs/’: Directory not empty

Ich habe auch versucht, den gesamten Inhalt des Verzeichnisses zu entfernen:

kramer65@vps1:~$ cd cxs
kramer65@vps1:~/cxs$ ls
app            README.md
kramer65@vps1:~/cxs$ rm -rf *
kramer65@vps1:~/cxs$ ls
app            README.md
kramer65@vps1:~/cxs$ sudo rm -rf *
kramer65@vps1:~/cxs$ ls
app            README.md

Ich habe kein Problem mit fehlgeschlagenen Befehlen, wenn mir nur gesagt würde, was falsch ist. Irgendeine Idee, was ich hier falsch mache? Alle Tipps sind willkommen!

[EDIT] Ich habe Folgendes versucht (auch ohne Erfolg):

kramer65@vps1:~$ sudo rm -vrf cxs/*
removed ‘cxs/app/static/img/face1.jpg’
removed ‘cxs/app/static/img/face2.jpg’
removed ‘cxs/app/static/img/face3.jpg’
[etc.etc.]
removed directory: ‘cxs/app’
removed ‘cxs/README.md’
kramer65@vps1:~$ ls cxs/
app            README.md
kramer65@vps1:~$

[EDIT2] Es stellte sich heraus, dass ein Kollege ein rsync laufen hatte, das die Dateien ständig in diesen Ordner neu schrieb. Es entfernte sie also, erstellte sie aber auch automatisch neu. (Ich renne hier mit dem Kopf gegen die Wand!)

Antwort1

Versuche Folgendes

rm -rf /the/full/dir

Antwort2

Überprüfen Sie die erweiterten Attribute für die Dateien:

lsattr -R /cxs

Wenn das iAttribut bei jemandem festgelegt ist, ist es unveränderlich, das heißt, es kann nicht gelöscht werden.

Entfernen Sie das unveränderliche Attribut mit:

chattr -i <path to file/directory>

Versuchen Sie dann erneut, den Löschvorgang durchzuführen.

Beachten Sie, dass beim Versuch, eine Datei mit dem Attribut „unveränderlich“ zu löschen, normalerweise kein stillschweigender Löschvorgang fehlschlägt, sondern stattdessen die Meldung „Vorgang nicht zulässig“ ausgegeben wird.

verwandte Informationen