De alguma forma, um diretório foi convertido em um arquivo, como eu o altero de volta?

3

Quando eu ls -ls na minha pasta eu recebo agora:

27216 -rw-r--r--   1 qat users 27865731 2012-03-16 09:13 deploy

Mas era um diretório, existe uma maneira rápida de convertê-lo de volta?

    
por Niklas B. 16.03.2012 / 15:23

3 respostas

3

Não, não há maneira rápida de convertê-lo de volta.

Eu compartilho a opinião de um dos comentaristas que você provavelmente removeu inadvertidamente o diretório e o substituiu por um arquivo. Assumindo que o tamanho do arquivo não mudou, 27 MB seria um diretório gigantesco, contendo centenas de milhares de arquivos. Em muitos anos fazendo o trabalho de administração do Unix, eu só vi um diretório com mais de 100.000 arquivos nele, então estou duvidoso que você tivesse um diretório tão grande. Dê uma olhada no conteúdo dos arquivos e veja se ele parece familiar; As chances são boas que o arquivo contém saída de log de algum processo ou outro.

Supondo que você não esteja enganado e um diretório foi convertido silenciosamente em um arquivo normal, isso é uma péssima notícia para o seu sistema. Várias coisas podem estar erradas, e eu não confiaria neste sistema novamente até que eu descobrisse qual componente (disco, controlador de disco, RAM, código do sistema de arquivos) está falhando.

    
por 16.03.2012 / 19:24
1

Isso estava acontecendo comigo executando arch-linux porque meu diretório / home estava montado em um disco rígido USB e era autosuspending. Então eu tinha o urxvt e o tmux abertos no diretório / home / user e estava logado no X.

Eu saí da minha tela por uma hora e voltei e digitei vim no shell do bash urxvt. Como as unidades estavam suspensas, primeiro elas tiveram que acordar, então demorou cerca de 5 a 10 segundos para o carregamento do vim. Não precisa ser vim para que isso aconteça, mas quando voltei para bater em alguns dos meus diretórios como / home / user / tmp e /home/user/.vim tinha sido convertido de diretórios para arquivos.

A solução para mim era reiniciar no nível 3 como root e desmontar o / home, depois executar um fsck -f no disco rígido, depois reinicializei e os arquivos foram convertidos novamente em diretórios e nenhum dos meus arquivos foi perdido ou corrompido.

Depois, desativei a suspensão automática do usb para evitar que isso acontecesse novamente.

    
por 28.03.2012 / 23:16
-1

Eles sugerem em link para remover o arquivo e criar o diretório:

rm filename
mkdir filename

Mas no meu corrompido? Unidade externa NTFS 3G, acabei de receber:

rm: filename: No such file or directory
mkdir: filename: File exists

Portanto, não tenho certeza de qual será a solução, se houver.

    
por 10.01.2014 / 05:09

Tags