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
O que causaria o seguinte comportamento em um sistema Ubuntu 12.04?
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. 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?
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
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.