Почему я получаю сообщение "Каталог не пуст", когда пытаюсь удалить пустой каталог?

У меня есть этот пустой каталог, но я продолжаю получать следующее сообщение об ошибке:

Cannot remove test: Directory not empty

Я знаю, что этот вопрос задавали много раз, но ни один из них не помог.

Я пытался ls -la чтобы убедиться, что не было никаких скрытых файлов, и, похоже, их нет: enter image description here

Я пытался sudo rmdir test так же как sudo rm -rf test, и я просто не знаю, что не так.

Я читал, что это может быть проблема с файловой системой, но я понятия не имею, как я мог бы это исправить.

У меня была такая же проблема на внешнем жестком диске, я перепробовал так много способов с помощью командной строки, но каждый раз терпел неудачу. Это то, что сработало для меня:

  1. Щелкните правой кнопкой мыши на папке
  2. Переместить в корзину
  3. Пустой мусор

Да, это глупо, но это сработало для меня (я действительно не знаю, как и почему, но проклятая папка больше не существует)

У меня установлена двойная система win 10 + ubuntu. И обе системы разделяют параметры Windows.

Недавно я также столкнулся с невозможностью удаления пустых папок в этих разделах под ubuntu. Я не могу найти решение, чтобы решить эту проблему под Linux.

Однако после того, как я переключусь на Windows и запущу

chkdsk

через cmd для целевого диска. Некоторые ошибки были проверены. а затем я запускаю

chkdsk /F

чтобы исправить ошибку диска.

После его завершения я могу удалить эти папки прямо сейчас.

Вы можете удалить его, набрав sudo rm -rf {dir_name}. Возможно, для каталога было установлено разрешение только для чтения. Я надеюсь, что данная команда может удалить папку.

У меня была такая же проблема, не удалось удалить каталог, так как он не пуст.

Эта последовательность операций сработала для меня.

  1. Сначала из командной строки

    sudo rmdir  --ignore-fail-on-non-empty folder-name-to-be-deleted

Приведенная выше команда помогает ubuntu игнорировать, что каталог не пуст.

  1. Затем просто перейдите в папку и нажмите Shift + Del. Вот и все.

Если каталог является частью файловой системы, смонтированной с помощью CIFS (он же samba), и он содержит файл, который является неработающей символической ссылкой, то ls не упоминает об этом файле. (Я наблюдаю за этим жук на клиенте CIFS, работающем под управлением 14.04.2 LTS, и на сервере, работающем под управлением 12.04.5 LTS.)

Так каталог не является пустым, но (через CIFS) у вас нет возможности увидеть это. Файл может быть виден и, следовательно, может быть удален только командой, выполняемой на файловом сервере, на котором размещена эта файловая система.

Если вы используете btrfs, возможно, это пустой каталог с ненулевым i_size. Вы можете проверить, так ли это с:

stat -c %s test

i_size пустой папки в btrfs должен быть равен нулю. В моем случае я получил 6160 с ~/.config/chromium/Default.

Предлагаемое решение состоит в том, чтобы размонтировать файловую систему, запустить btrfs check чтобы подтвердить проблему и проверить наличие других проблемных каталогов, и, наконец, запустите btrfs check --repair чинить. Однако эта операция сопряжена с риском, поэтому рекомендуется сначала создать резервную копию файлов.

Источник: Часто задаваемые вопросы о проблемах с Btrfs

Решение с графическим интерфейсом

  1. Переместите или вырежьте и вставьте папку в корзину
  2. выбросьте мусор

это сделано.

Решение из командной строки

sudo mv folder_error/ .local/share/Trash

вы можете очистить с помощью trash-cli: trash-emptyor

sudo rm -fr ~/.local/share/Trash/*

попробуйте выполнить эту команду:

sudo lsof | grep deleted 

Проверьте в списке, используется ли ваш каталог по-прежнему. :D

Если это так, остановите службу, и вы сможете удалить каталог.

Эта проблема возникает, когда эти папки или файлы копируются не полностью. Это ошибка Ввода-вывода. Я попытался удалить с помощью Shift+Del или с помощью команд, но это не сработало. Я попробовал щелкнуть правой кнопкой мыши и "Переместить в корзину", и это сработало.

У меня была такая же проблема в Ubuntu 16.04, и я исправил ее с помощью:

  1. очистка папки "Корзина"
  2. перезагрузка

Открытие и закрытие файлового менеджера не принесло никакой пользы — сработала только перезагрузка.

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

возможный дубликат Как удалить непустой каталог в терминале?

Попробуйте sudo fsck /

Я в замешательстве, почему у пользователя нет прав на выполнение в каталоге, но у группы есть?

@rbrick Означает ли “тест” имя вашего пользователя для входа в систему? каков вывод echo $USER? а что такое "echo $HOME`?

не dup - пользователь уже использовал “-rf”, но это не сработало.

Там есть скрытые файлы.