Una aplicación que estoy usando no comenzará con este mensaje de usuario: [Errno 13] Permission denied: '/home/sleblanc/.config/app/.config
Cuando lo usé ls
, el archivo apareció como tal:
?--------- 1 root root 0 Dec 31 1969 .config
Ejecutar stat en el archivo me da esto:
% 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
Lo más sorprendente es esta mención de un "archivo extraño".
¿Qué es un archivo extraño?
filesystems
stat
sleblanc
fuente
fuente
stat -c '%f' .config
imprime? (Debería obtener un número hexadecimal de cuatro dígitos). Además, ¿quéstat -f .config
imprime? (Esto informa sobre el sistema de archivos que contiene.config
).Respuestas:
(Suponiendo GNU ...) Si
stat
no puede decir de qué tipo es (directorio, archivo regular (vacío), enlace, socket, ...), diceweird file
. Supongo que la corrupción del sistema de archivos y sugeriríafsck
.En 2014 , se agregaron tipos de archivos reconocidos adicionales a los coreutils de GNU. Entonces, si su versión es anterior a esa, puede ser un archivo razonable para alguna circunstancia especial, pero es muy probable que una aplicación almacene su configuración en un archivo normal.
fuente
stat
de GNU coreutils en mi sistema felizmente informa un socket como asocket
. Los enlaces simbólicos se informan comosymbolic link
. Los enlaces duros no se pueden distinguir de los archivos "normales" y se informan comoregular file
(después de todo, eso es lo que son), excepto que el recuento de enlaces es> 1.