Que signifie le «s» dans srwxr-xr-x dans la sortie «ls»?

18

J'ai une entrée de répertoire comme suit

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

Je ne sais pas ce que cela ssignifie et c'est aussi un nom de fichier étrange et je me demande à quoi il sert. Cela pourrait-il être des ordures ou est-ce quelque chose de significatif?

hol
la source
Question connexe à distance: askubuntu.com/questions/626634/converting-a-file-to-directory/… Sur la réponse, il y a un script qui explique et calcule les modes inode.
Helio

Réponses:

28

A partir du lsmanuel :

Le type de fichier est l'un des caractères suivants:

'-' fichier ordinaire
'b' bloc fichier spécial
'c' caractère fichier spécial
'C' hautes performances ("données contiguës") fichier
'd' répertoire
'D' porte (Solaris 2.5 et supérieur)
'l' lien symbolique
'M 'fichier hors ligne ("migré") (Cray DMF)
' n 'fichier spécial réseau (HP-UX)
' p 'FIFO (canal nommé)
' port P '(Solaris 10 et supérieur)
' socket
'?' ' un autre type de fichier

C'est donc un socket Unix . Cela pourrait être significatif, car les sockets sont créées par des processus pour écouter les demandes. Utilisez lsofpour déterminer quel processus utilise ce socket.

Vous devrez peut-être utiliser sudoavec lsof, si le socket est ouvert par un processus exécuté en tant qu'autre utilisateur:

$ 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
muru
la source
3
Vous pouvez également utiliser fuserpour déterminer les processus à l'aide d'un fichier.
gardenhead
8

Vous pouvez également utiliser la filecommande pour déterminer son type:

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

ou même mimetype:

$ mimetype /tmp/ssh-k405k6mf0/agent.1221
/tmp/ssh-k405k6mf0/agent.1221: inode/socket
Ravexina
la source
1

Pour additionner, ce type de fichier est également appelé fichier spécial, il existe plusieurs fichiers spéciaux sous UNIX (tous sont répertoriés dans le manuel ls, un extrait utile est fourni par muru).

Pour en savoir plus - https://www.linux.com/blog/file-types-linuxunix-explained-detail

Venny
la source
3
Votre réponse n'est pas fausse. Pour l'améliorer, pensez à ajouter des informations supplémentaires à votre réponse - comme s'il s'agissait d'un fichier socket. Les liens peuvent fournir des informations supplémentaires, mais votre réponse devrait être autonome sans le lien et fournir une réponse complète.
Clayton