Arquivos listados por bash mas inacessíveis

0

O que causaria o seguinte comportamento em um sistema Ubuntu 12.04?

  1. Eu usei o SSH em uma máquina como o usuário "ubuntu".
  2. A execução de ls -lah /data/* mostra dezenas de arquivos não vazios (por exemplo, arquivo1.txt, arquivo2.txt etc.), todos pertencentes ao usuário / grupo "ubuntu" e com acesso total de leitura / gravação.
  3. Se eu tentar cat /data/file1.txt , bash me fornecerá o erro "cat: /data/file1.txt: Nenhum arquivo ou diretório"

Em suma, ls está listando os arquivos, mas de qualquer outra forma, os arquivos essencialmente não existem. Eu não posso cat-los ou lê-los de qualquer maneira. Mesmo dando todos os arquivos 777 permissão não muda nada. Isso é realmente bizarro. O que está acontecendo aqui?

    
por Cerin 19.08.2014 / 00:20

2 respostas

2

Eles podem ter caracteres binários no nome do arquivo.

Para cat /data/file1.txt , tente corresponder parte do nome e deixar o shell descobrir o resto:

cat /data/*1.txt
    
por 19.08.2014 / 00:32
0

Os arquivos podem ter sido excluídos, mas ainda estão abertos em um aplicativo. Os arquivos não existem no disco, mas como o aplicativo ainda os "abre", o kernel não pode removê-los do sistema de arquivos ainda.

Encontre o processo usando os arquivos com

sudo lsof | grep data/file1.txt

E, em seguida, tente reiniciar / matar o aplicativo, se não for crítico, ou tente reinicializar o sistema.

    
por 19.08.2014 / 00:41