14

Я пытаюсь удалить каталог с большим количеством файлов и папок из моего личного пространства сервера. Я вхожу в систему через SFTP нормально; Я могу получить доступ ко всему каталогу без проблем; Я даже могу удалить отдельные файлы с помощью команды rm. Но это заняло бы у меня целую вечность - поэтому я действительно хотел бы просто выполнить rmdir для самой высокой папки, которую я хочу удалить. Но когда я делаю это, я получаю

Не удалось удалить каталог: сбой

Есть мысли, что я могу делать не так?

Большое спасибо, Сэм

2 ответа2

18

По моему опыту, rmdir предпочитает работать с пустым каталогом. Если вы пытаетесь удалить каталог foo , я бы сделал:

$rm foo/*
$rmdir foo
4

Вы не указали, какой SFTP-клиент вы используете. Итак, я предполагаю, что OpenSSH SFTP (sftp).

Команда rmdir в SFTP-клиенте OpenSSH напрямую сопоставляется с запросом протокола SFTP SSH_FXP_RMDIR . Спецификация SFTP для версии 3 (используемой OpenSSH), в частности, упоминает, что операция SSH_FXP_RMDIR может завершиться ошибкой, "если указанный каталог не пустой" (хотя, похоже, он не обязывает его).

Если в каталоге нет подкаталогов, вы можете использовать rm foo/* (что означает SFTP-команду OpenSSH, а не команду оболочки), чтобы сначала удалить все файлы в каталоге. А затем используйте rmdir .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .