If I run netstat --all | grep ^unix some of the socket paths that are outputted are preceded with a '@' and some aren't. I've noticed that those preceded with a '@' don't show up when browsing the file system with ls but the rest do.

What are these two kinds of sockets and what is the difference between them?

1 Answer 1


These are abstract sockets, that live outside the filesystem namespace. netstat --unix, lsof -U and other commands print an @ sign instead of the nul byte that's at the start of the pathname.

  • 1
    What role do those abstract sockets play in general?
    – Geek
    Commented Sep 22, 2013 at 16:05
  • 2
    @Geek It's just a different namespace. There is no need for filesystem access and cleanup. On the other hand anyone can grab a well-known name, so you may have to check the credentials of the server process.
    – Gabriel
    Commented Sep 22, 2013 at 16:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .