I have a directory entry as follows

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

I do not know what the s means and also that is a strange file name and I wonder what it is good for. Could this be garbage or is it something meaningful?


From the ls manual:

The file type is one of the following characters:

‘-’ regular file
‘b’ block special file
‘c’ character special file
‘C’ high performance (“contiguous data”) file
‘d’ directory
‘D’ door (Solaris 2.5 and up)
‘l’ symbolic link
‘M’ off-line (“migrated”) file (Cray DMF)
‘n’ network special file (HP-UX)
‘p’ FIFO (named pipe)
‘P’ port (Solaris 10 and up)
‘s’ socket
‘?’ some other file type

So, that's a Unix socket. It could be meaningful, since sockets are created by processes to listen for requests. Use lsof to determine what process is using that socket.

You may need to use sudo with lsof, if the socket is opened by a process running as another user:

$ 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.
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
| improve this answer | |
  • 3
    You can also use fuser to determine the processes using a file. – gardenhead May 29 '17 at 18:46

You could use file command to determine its type too:

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

or even mimetype:

$ mimetype /tmp/ssh-k405k6mf0/agent.1221
/tmp/ssh-k405k6mf0/agent.1221: inode/socket
| improve this answer | |

To add up, this file type is also called special file there are multiple special files exist in UNIX (all of them are listed as part of ls manual, useful snippet is provided by muru).

Further read - https://www.linux.com/blog/file-types-linuxunix-explained-detail

| improve this answer | |
  • 3
    Your answer is not wrong. To make it better, consider adding additional information to your answer - such as that it is a socket file. Links can provide extra information, but your answer should be able to stand on its own without the link and still provide a thorough response. – Clayton May 29 '17 at 16:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.