Em resumo, se eu usar ls -l isso produzirá algo para um diretório como...
drwxr-xr-x
e o erro relatado para um diretório com arquivos nele é mostrado como um arquivo padrão e ls -l produz ...
-rwxr-xr-x
Meu objetivo é encontrar uma maneira de alterar manualmente o tipo de arquivo de “-” para “d” em arquivos ou diretórios existentes.
Minha primeira postagem aqui. Há dias venho tentando encontrar uma maneira de alterar o tipo de arquivo para um arquivo no Apple OSX (BSD Unix). Isso pode ser muito mais fácil do que estou fazendo. O problema original era a ferramenta que vem com o OSX para verificar seu disco rígido, o Utilitário de Disco (DU) e mostra erros de permissão de arquivo que não pode reparar. Às vezes são algumas centenas. A maioria é do tipo em que um arquivo de diretório é exibido como um arquivo padrão e deve ser alterado para diretório. Se eu navegar até lá com o Terminal, os arquivos esperados estarão no diretório. Esses erros podem ocorrer devido ao ataque Passive Hack no último ano. Uma correção que funciona é limpar e instalar o OSX. É um novo e bom HDD.
O primeiro método que planejei usar é encontrar informações de cabeçalho de arquivo nos setores do disco com um editor hexadecimal como o R-Studio para Mac e simplesmente fazer minhas contas hexadecimais, se necessário, e alterar os dados. Levará muito tempo para aprender o R-Studio o suficiente para fazer isso. Além disso, acho que preciso de um mapa de como o BSD Unix coloca informações nos setores do HDD, para que eu possa localizar os bits que rotulam o arquivo como diretório ou arquivo padrão, ou canal, ou soquete. O mapa seria semelhante a este, mas com layout de dados lógicos para um arquivo BSD. https://en.wikipedia.org/wiki/Advanced_Format
Já estive em vários fóruns e no suporte da Apple e do R-Studio. Não paguei US$ 99 para ingressar no Apple Developers para obter essas informações. Eu acho que está aberto de qualquer maneira desde o BSD Unix.
Outras ferramentas que explorei foram o IDE Xcode da Apple, o comando Unix dd e o emacs. Como sou novo no Unix, levo muito tempo e ainda não vejo nenhum método para fazer isso. No tutorial do Xcode, ele menciona que as ferramentas recomendadas aparecem ao passar o mouse sobre os ícones do menu. Quando passei o mouse sobre o tipo de arquivo, ele mostrou emacs, mas depois de ler, acho que significa se é um arquivo de texto ou um tipo de arquivo executável. Não diretório e tal.
Neste ponto, voltei a procurar o layout de arquivo lógico que o BSD Unix coloca nos setores do disco e depois uso o R-Studio.
Alguma ideia?
Responder1
Isso é impossível de mudar. Os arquivos não podem ser transformados em diretórios e vice-versa. Não é apenas uma bandeira que pode ser alterada. Se for algum tipo de corrupção, sua melhor aposta é executar um fsck no sistema de arquivos.