Я пытался удалить какой-то каталог, но
$ rm DE.aspx_files -r
rm: cannot remove `DE.aspx_files': Directory not empty
Но распечатка его содержания не возвращает ни одного
$ ls DE.aspx_files
$
Добавлено: На самом деле
$ ls -la DE.aspx_files
total 4
drwx------ 1 ting ting 4096 Sep 14 20:48 .
drwx------ 1 ting ting 0 Sep 13 22:34 ..
-rw------- 1 ting ting 0 Sep 13 22:34 .fuse_hidden0001d4bf00000006
Когда я пытаюсь rm .fuse_hidden0001d4bf00000006
, он удаляется, но другой новый .fuse_hidden0001d4bf00000007
создается.
Вот мне и интересно, что случилось, и как решить эту проблему?
Примечание: это недавно приобретенный внешний портативный жесткий диск, и я просто копирую на него некоторые файлы с помощью программы восстановления данных.
ОС: Ubuntu 12.04
Благодарность!
mount | fgrep fuse
найти его иfusermount -u <mountpoint>
размонтировать, прежде чем пытаться удалить каталог.Ответы:
Скрытые файлы
У вас могут быть скрытые файлы. Вы можете найти их с помощью,
ls -la
чтобы убедиться, что вы в порядке, действительно удалив их в первую очередь. Затем вы можете удалить файлы перед запускомrm -r
или поrmdir
мере необходимости.Принудительное рекурсивное удаление
Вы также можете просто сделать
rm -rf
принудительное рекурсивное удаление, даже если целевой каталог содержит файлы. Применяются все обычные предупреждения, но они выполнят работу независимо от того, что содержится в вашем каталоге - если, конечно, у вас есть разрешения на удаление файлов и каталогов.источник
find DE.aspx_files -exec ls -la {} \;
чтобы определить скрытые файлы или файлы, названные специальными символами.Файлы формы
.fuse_hidden*
создаются файловыми системами FUSE, когда файл удаляется, но все еще используется где-то и должен иметь запись в каталоге. Это похоже на.nfs*
файлы в каталогах, экспортируемых через NFS .Запустите,
df -T .
чтобы увидеть тип файловой системы, которая смонтирована в текущем каталоге, и ее точку монтирования. Для внешнего жесткого диска есть вероятность, что это файловая система NTFS, смонтированная через драйвер NTFS-3G , основанный на FUSE.Имя является поддельным именем, которое драйвер файловой системы изобретает для удаленного файла. Вы не можете удалить файл (или, скорее, если вы создаете файл, он появляется под другим именем). Вы также не можете удалить каталог, так как он не пустой. Вам нужно будет найти, что использует этот файл. Наиболее вероятная причина использования - если она открыта каким-либо приложением. Запустите
lsof /media/mount-point
где/media/mount-point
точка монтирования файловой системы и найдите открытый файл в этом каталоге.источник
Для внешних жестких дисков эта проблема может быть решена путем
Move to Trash
Это сработало для меня, даже если
rm -rf
не сработало.источник
Если вы работаете на Mac, помните также о * .localized файлах, которые могут стать невидимыми даже для 'ls -la', 'find' и тому подобное в файловой системе FUSE. [Это обнаружилось с помощью созданной ConnectedData Transporter файловой системы FUSE на MacBook Pro.]
источник
Это может произойти, когда вы загружаете файл в торрент-клиент. Просто убедитесь, что вы отключили торрент-клиент или удалили посевной торрент.
источник