¿Qué significa la 's' en srwxr-xr-x en la salida 'ls'?


18

Tengo una entrada de directorio de la siguiente manera

srwxr-xr-x  1 ubuntu ubuntu    0 May 29 05:03 0.0.0.0=

No sé qué ssignifica y también ese es un nombre de archivo extraño y me pregunto para qué sirve. ¿Podría ser esto basura o es algo significativo?


Pregunta relacionada remotamente: askubuntu.com/questions/626634/converting-a-file-to-directory/… En la respuesta hay un script que explica y calcula los modos de inodo.
Helio

Respuestas:


28

Desde el lsManual :

El tipo de archivo es uno de los siguientes caracteres:

'-' archivo regular
'b' bloquee el archivo especial
'c' archivo especial de caracteres
'C' alto rendimiento (“datos contiguos”) archivo
'd' directorio
'D' puerta (Solaris 2.5 y superior)
'l' enlace simbólico
'M 'archivo' fuera de línea (“migrado”) (Cray DMF)
'n' archivo especial de red (HP-UX)
'p' FIFO (tubería con nombre)
'Puerto' P '(Solaris 10 y superior)
' s 'socket
'? ' algún otro tipo de archivo

Entonces, eso es un socket Unix . Podría ser significativo, ya que los sockets son creados por procesos para escuchar las solicitudes. Se usa lsofpara determinar qué proceso está usando ese socket.

Es posible que deba usar sudocon lsof, si el proceso se abre como un usuario que ejecuta el socket:

$ lsof /run/snapd.socket
$ sudo lsof /run/snapd.socket
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF   NODE NAME
systemd     1 root  197u  unix 0xffff99dc9afa3000      0t0 191670 /run/snapd.socket type=STREAM
snapd   18626 root    8u  unix 0xffff99dc9afa3000      0t0 191670 /run/snapd.socket type=STREAM

3
También puede usar fuserpara determinar los procesos usando un archivo.
cabeza de jardín

8

También puede usar el filecomando para determinar su tipo:

$ file /tmp/ssh-k405k6mf0/agent.1221
/tmp/ssh-k405k6mf0/agent.1221: socket

o incluso mimetype:

$ mimetype /tmp/ssh-k405k6mf0/agent.1221
/tmp/ssh-k405k6mf0/agent.1221: inode/socket

1

Para sumar, este tipo de archivo también se denomina archivo especial; existen varios archivos especiales en UNIX (todos se enumeran como parte del manual de ls, muru proporciona un fragmento útil).

Más información: https://www.linux.com/blog/file-types-linuxunix-explained-detail


3
Tu respuesta no es incorrecta. Para mejorarlo, considere agregar información adicional a su respuesta, como que es un archivo de socket. Los enlaces pueden proporcionar información adicional, pero su respuesta debería ser capaz de mantenerse por sí sola sin el enlace y aún así proporcionar una respuesta completa.
Clayton
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.