Почему `rm -rf`` молча терпит неудачу?

863
kramer65

[ПРАВКА] Пожалуйста, не тратьте свое время на чтение моего вопроса ниже. Оказывается, мой коллега идиот .. :)

На моем сервере я пытаюсь удалить папку и все ее подпапки обычным способом rm -rf dirname, но она молча завершается ошибкой:

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 

Я также попытался удалить все содержимое каталога:

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 

Я в порядке с неудачными командами, если бы только это говорило мне, что не так. Есть идеи, что я здесь делаю не так? Все советы приветствуются!

[ПРАВКА] Я попробовал следующее (также безрезультатно):

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] Оказывается, у коллеги был запущен rsync, который постоянно перезаписывал файлы в эту папку. Таким образом, он удалил их, но автоматически создал их снова. (Я бьюсь головой о стену здесь!)

0
Вы пытались вернуться в каталог и запустить sudo rm -rf / cxc / * Matthew Williams 9 лет назад 0
@MatthewWilliams - только что попробовал, но безрезультатно ..: S kramer65 9 лет назад 0
Попробуйте запустить sudo rm -vf / cxc / * и посмотрите, что из этого получится Matthew Williams 9 лет назад 0
@MatthewWilliams - я запустил его, зацените мой обновленный вопрос. kramer65 9 лет назад 0
По крайней мере, вы знаете, что ваш rsync работает правильно;) Matthew Williams 9 лет назад 0

2 ответа на вопрос

2
Roemer Bakker

Попробуйте следующее

rm -rf /the/full/dir 
Я пробовал это, но это снова приводит к тихой неудаче .. kramer65 9 лет назад 0
@ kramer65 Вы уверены, что у вас есть необходимые разрешения? Roemer Bakker 9 лет назад 0
Ну, я владелец, и я попытался использовать sudo, плюс он ничего не говорит о разрешениях, поэтому я не знаю, почему это будет проблемой .. kramer65 9 лет назад 0
Попробуйте ответ @garethTheRed. Это может сработать Roemer Bakker 9 лет назад 0
Оказывается, мой коллега постоянно синхронизировал эти файлы со своего компьютера на сервер. В любом случае спасибо за вашу помощь! kramer65 9 лет назад 2
Ха! Да, такие вещи случаются;) Всегда пожалуйста! Roemer Bakker 9 лет назад 0
1
garethTheRed

Проверьте расширенные атрибуты для файлов:

lsattr -R /cxs 

Если какой-либо iатрибут установлен, то он неизменен, то есть его нельзя удалить.

Удалите неизменный атрибут с помощью:

chattr -i <path to file/directory> 

Затем попробуйте удалить снова.

Обратите внимание, что файл с установленным атрибутом immutable обычно не завершается с ошибкой при попытке удалить его, а вместо этого жалуется на «Операция не разрешена».

Оказывается, мой коллега постоянно синхронизировал эти файлы со своего компьютера на сервер. В любом случае спасибо за вашу помощь! kramer65 9 лет назад 0
Коллега!!!??? Иди и удари его / ее ;-) garethTheRed 9 лет назад 0

Похожие вопросы