Não foi possível excluir o arquivo - nenhum arquivo ou diretório


12

Eu o apaguei uma vez, mas o fantasma ainda está lá :)

Como posso excluir um arquivo que está lá, mas o sistema diz que não está lá?

Guia Permissões - tentei alterá-lo, mas ele se redefiniria automaticamente É o que acontece quando clico em "Excluir"


Isso é um aviso. O que diz se você escolher "Excluir"?
Marty Fried

Clique com o botão direito do mouse no arquivo, escolha Propriedades, abra a guia Permissões. Faça uma captura de tela e poste aqui.
Eric Carvalho

Você pode mover outros arquivos para a lixeira? O arquivo que você está excluindo está no mesmo sistema de arquivos do seu sistema de arquivos inicial? O diretório ~ / .Trash / existe?
John S Gruber

John, posso mover outros arquivos para a lixeira normalmente, apenas esse me causa problemas.
Valeriu

Você tentou excluí-lo do terminal? sudo rm panorama.jpg
David M. Sousa

Respostas:


2

Eu tive o mesmo problema. Houve um problema nas entradas de índice da partição. Eu o resolvi iniciando o Windows se o seu sistema for de inicialização dupla ou insira um CD ao vivo do Windows XP ou Windows 7 e siga as seguintes etapas:

  1. Procure por COMMAND PROMPT que: cmdclique com o botão direito do mouse -> Executar como administrador.
  2. chkdsk /f/x D: (onde D é a letra da sua unidade).
  3. Pressione Y se solicitar Y / N
  4. Verifique na sua unidade o arquivo que você deseja excluir. Talvez tenha sido excluído ou você possa excluí-lo.

100% trabalhando


2

Aviso: Estas instruções exigirão uma para usar debugfs. Eles podem causar perda de dados.

Eles são adaptados ao problema original e podem ou não ser precisos para futuros visitantes nesta página. Qualquer perda de dados pode ser irreparável ou até agravada fsck.

Pode ser um inode perdido. Por favor, execute ls -lipara obter uma lista de números de inode e tente despejar o inode mencionado. Por exemplo, se você se ls -liparece com o seguinte:

rarkenin@ubuntu-alt-64-vbox-1:~$ ls -li
total 58672
4980758 -rwxr-xr-x 2 rarkenin rarkenin     4096 Sep 23 18:45 panorama.jpg
---SNIP---

então o número do inode é 4980758, como mostrado na lista como a primeira coluna.

Você pode tentar despejar o inode. Leia o post inteiro antes de fazer qualquer coisa .

  1. Comece debugfscomo root:

    rarkenin@ubuntu-alt-64-vbox-1:~$ sudo debugfs
    [sudo] password for rarkenin: 
    debugfs 1.42 (29-Nov-2011)
    debugfs:  
    

    e forneça o comando open /dev/sda1com o dispositivo de bloco correto para sua partição.

  2. Em seguida, dê o comando para despejar o inode cujo número você obteve anteriormente:

    cat <4980758>
    

    usando <e >ao redor do número do inode.

  3. Se houver algum texto aleatório, feche o terminal e abra-o novamente. Execute debugfsnovamente e dê o opencomando novamente.

  4. Agora, você pode tentar excluir o arquivo. Isso pode resultar em corrupção grave do sistema de arquivos.

    debugfs: rm [filename]
    
    debugfs: unlink [filename]
    
    debugfs: kill_file [filename]
    
    debugfs: kill_file <inode>
    

Observe que isso pode ser feito mesmo que o arquivo nunca tenha um inode. Experimente os comandos um de cada vez, na ordem mostrada acima. Saia dos debugfs e verifique se o arquivo existe. Caso contrário, comece novamente, mas siga as próximas instruções.

Faça um backup, se possível!


Não funciona para o meu sistema de arquivos NTFS
Suici Doga

O @SuiciDoga debugfsé destinado apenas aos tipos de sistema de arquivos ext2, ext3 e ext4.
Reinstate Monica - ζ--

2

Sei que isso é antigo, mas tive o mesmo problema que o seu, apenas com uma pasta, não com um arquivo. Nenhum dos métodos sugeridos aqui funcionou.

Consegui resolver o problema criando uma pasta na mesma posição e com o mesmo nome que não consegui excluir. A pasta foi criada corretamente e "substituiu" a não existente. Simplesmente removi a nova pasta e o problema desapareceu. Simplesmente assim.


solução mais fácil aqui, se isso realmente se livrar de todo o problema.
lightsout

0

mostre-nos o terminal .... faça um ll | grep panoramae mostre-nos isso; adicione-o à sua pergunta ...

Minha sugestão é fazer como root rm -f panorama.jpg .

no homem de rm eu encontrei isto:

-f, --force
              ignore nonexistent files, never prompt

Tentei isso várias vezes, tanto com -f como --force Não ajudou!
Valeriu 11/11

0

Primeiro efetue login como root com sudo -s

Você pode tentar fazer isso rm -v <file>e procurar pela saída detalhada para ver o que está acontecendo enquanto tenta remover o arquivo. Confira as opções para o comando abaixo.

Se isso falhar, você pode usar a opção force, como todos os outros disseram. Você também pode tentar remover o diretório inteiro forçando uma remoção recursiva:rm -rfv **full directory address here**



No Guia de Comando do UNIX:

SINOPSE

   rm [OPTION]... FILE...

DESCRIÇÃO

   rm removes each file. By default, it does not remove directories.

   If a file is unwritable, the standard input is a tty,  and  the  -f  or
   --force  option is not given, rm prompts the user for whether to remove
   the file.  If the response is not affirmative, the file is skipped.

OPÇÕES

   Remove (unlink) the FILE(s).

   -f, --force
      ignore nonexistent files, never prompt

   -i, --interactive
      prompt before any removal

   --no-preserve-root do not treat '/' specially (the default)

   --preserve-root
      fail to operate recursively on '/'

   -r, -R, --recursive
      remove directories and their contents recursively

   -v, --verbose
      explain what is being done

   --help display this help and exit

   --version
      output version information and exit

   By default, rm does not remove directories.  Use the --recursive (-r or
   -R)  option to remove each listed directory, too, along with all of its
   contents.

   To remove a file whose name starts with a '-', for example '-foo',  use
   one of these commands:

      rm -- -foo

      rm ./-foo

   Note  that  if  you  use rm to remove a file, it is usually possible to
   recover the contents of that file.  If you want more assurance that the
   contents are truly unrecoverable, consider using shred.

0

Olhando para as capturas de tela, vejo que o grupo está definido como raiz. Eu tentaria usar chown e ver se isso resolve o problema.

sudo chown -hR [username]:[username] /home/[username]

Substituindo [nome de usuário] pelo seu nome de usuário.

Você receberá alguns erros.

exemplo


mywebslave, fiz o que você sugeriu, me mostrou a mesma 'permissão negada' que na sua captura de tela. Ainda não é possível excluir o arquivo maldito.
Valeriu

0

Caracteres que não imprimem nos nomes de arquivos podem causar esses problemas - como um espaço. Experimente a opção interativa de rm, e dizer 'Y' para o arquivo que deseja excluir"
rm -i '* pan *' Observe o uso de * s para combinar com qualquer (mesmo não-printint) caracteres.
Poderia ser o inode tem foi removido, mas não a entrada do diretório.Tente ls -i para ver os inodes. fsck o sistema de arquivos para corrigir esse tipo de problema.


Isso é engraçado! Aqui está a saída: pastebin.com/kjCyX0yB
Valeriu


0

Como ubfan1 disse, caracteres que não imprimem nos nomes de arquivos podem causar esses problemas.

  1. toque
  2. rm

funcionou para mim desde que 'toque' substituiu o arquivo corrompido.



0

Linux Mint 18.3 Meu arquivo inexistente era ¨filename.pdf.crdownload¨ Ele apareceu na minha área de trabalho como um pacote, ou seja, um arquivo zip no Windows fala. Para começar, cliquei com o botão direito do mouse em Propriedades, Abrir com, que mostrava zero aplicativos, então mudei para Abrir com o ¨Archive Manager¨. Imediatamente o arquivo desapareceu da minha área de trabalho. kb

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.