Eu tentei excluir algum diretório, mas
$ rm DE.aspx_files -r
rm: cannot remove `DE.aspx_files': Directory not empty
Mas listar seu conteúdo não retorna nenhum
$ ls DE.aspx_files
$
Adicionado: Na verdade
$ 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
Quando tento rm .fuse_hidden0001d4bf00000006
, ele é excluído, mas outro novo é .fuse_hidden0001d4bf00000007
criado.
Então, eu me pergunto o que aconteceu e como corrigir esse problema?
Nota: é um HDD externo externo recém-adquirido e apenas copio alguns arquivos usando um programa de recuperação de dados.
Sistema operacional: Ubuntu 12.04
Obrigado!
mount | fgrep fuse
encontrá-lo efusermount -u <mountpoint>
desmontá-lo antes de tentar excluir seu diretório.Respostas:
Arquivos ocultos
Você pode ter arquivos ocultos. Você pode encontrá-los
ls -la
para garantir que você realmente os apague primeiro. Em seguida, você pode excluir os arquivos antes de executarrm -r
ourmdir
conforme necessário.Forçando a exclusão recursiva
Você também pode fazer isso
rm -rf
para forçar a exclusão recursiva, mesmo que o diretório de destino contenha arquivos. Todos os avisos usuais se aplicam, mas o trabalho será feito independentemente do que o diretório contenha - desde que você tenha permissão para excluir os arquivos e diretórios, é claro.fonte
find DE.aspx_files -exec ls -la {} \;
para identificar arquivos ocultos ou arquivos nomeados com caracteres especiais.Os arquivos do formulário
.fuse_hidden*
são criados pelos sistemas de arquivos do FUSE quando um arquivo é excluído, mas ainda está em uso em algum lugar e ainda deve ter uma entrada de diretório. É semelhante aos.nfs*
arquivos nos diretórios exportados pelo NFS .Execute
df -T .
para ver o tipo de sistema de arquivos montado no diretório atual e seu ponto de montagem. Para um disco rígido externo, é provável que este seja um sistema de arquivos NTFS montado através do driver NTFS-3G , que é baseado no FUSE.O nome é um nome falso que o driver do sistema de arquivos inventa para um arquivo excluído. Você não pode excluir o arquivo (ou melhor, se você criar o arquivo, ele reaparecerá com outro nome). Você também não pode excluir o diretório, pois ele não está vazio. Você precisará encontrar o que está usando esse arquivo. A causa mais provável de estar em uso é se ele estiver aberto por algum aplicativo. Execute
lsof /media/mount-point
onde/media/mount-point
está o ponto de montagem do sistema de arquivos e procure um arquivo aberto nesse diretório.fonte
Para discos rígidos externos, esse problema pode ser resolvido por,
Move to Trash
Funcionou para mim, mesmo
rm -rf
que não funcionasse.fonte
Se estiver no mac, esteja ciente também dos arquivos * .localizados, que podem ficar invisíveis até para 'ls -la', 'find' e seus tipos em um sistema de arquivos FUSE. [Isso foi descoberto usando um sistema de arquivos FUSE criado pelo ConnectedData Transporter em um MacBook Pro.]
fonte
Isso pode acontecer quando você está propagando um arquivo em um cliente de torrent também. Apenas certifique-se de desligar o cliente de torrent ou remover o torrent de propagação.
fonte