Um aplicativo que estou usando não será iniciado com esta mensagem de usuário: [Errno 13] Permission denied: '/home/sleblanc/.config/app/.config
Quando eu usei ls
, o arquivo apareceu da seguinte forma:
?--------- 1 root root 0 Dec 31 1969 .config
A execução do stat no arquivo me dá o seguinte:
% stat .config
File: .config
Size: 0 Blocks: 0 IO Block: 4096 weird file
Device: 2dh/45d Inode: 9799944 Links: 1
Access: (0666/?rw-rw-rw-) Uid: ( 1000/ sleblanc) Gid: ( 1000/ sleblanc)
Access: 1969-12-31 19:00:00.000000000 -0500
Modify: 1969-12-31 19:00:00.000000000 -0500
Change: 2018-04-07 23:40:22.549653691 -0400
O mais surpreendente é essa menção a um "arquivo estranho".
O que é um arquivo estranho?
filesystems
stat
sleblanc
fonte
fonte
stat -c '%f' .config
imprime? (Você deve obter um número hexadecimal de quatro dígitos.) Além disso, o que éstat -f .config
impresso? (Este relatórios informações sobre o sistema de arquivos que contém.config
.)Respostas:
(Supondo que o GNU ...) Se
stat
não era possível dizer que tipo (diretório, arquivo (vazio) regular, link, soquete, ...), dizweird file
. Eu acho que a corrupção do sistema de arquivos e sugerirfsck
.Em 2014 , tipos de arquivos reconhecidos adicionais foram adicionados aos coreutils do GNU. Portanto, se sua versão for anterior a isso, pode ser um arquivo razoável para alguma circunstância especial, mas é muito provável que um aplicativo armazene sua configuração em um arquivo regular.
fonte
stat
do GNU coreutils no meu sistema relata felizmente um soquete como asocket
. Os links simbólicos são relatados comosymbolic link
. Os hardlinks são indistinguíveis dos arquivos "regulares" e são relatados comoregular file
(afinal, são eles), exceto que a contagem de links é> 1.