‘ls’输出中的 srwxr-xr-x 中的‘s’是什么意思?

‘ls’输出中的 srwxr-xr-x 中的‘s’是什么意思?

我有一个如下的目录条目

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

我不知道这是什么s意思,而且这是一个奇怪的文件名,我不知道它有什么用处。这可能是垃圾还是有意义的东西?

答案1

手册ls

文件类型是下列字符之一:

'-' 常规文件
'b' 块特殊文件
'c' 字符特殊文件
'C' 高性能(“连续数据”)文件
'd' 目录
'D' 门(Solaris 2.5 及更高版本)
'l' 符号链接
'M' 脱机(“迁移”)文件 (Cray DMF)
'n' 网络特殊文件 (HP-UX)
'p' FIFO(命名管道)
'P' 端口(Solaris 10 及更高版本)
's' 套接字
'?' 一些其他文件类型

所以,这是一个Unix 套接字。这可能很有意义,因为套接字是由进程创建的,用于侦听请求。用于lsof确定哪个进程正在使用该套接字。

如果套接字是由以另一个用户身份运行的进程打开的,则可能需要使用sudowith :lsof

$ 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

答案2

file也可以使用命令来确定其类型:

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

甚至mimetype

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

答案3

另外,这种文件类型也称为特殊文件UNIX 中存在多个特殊文件(它们全部列在 ls 手册的一部分中,有用的代码片段由 muru 提供)。

进一步阅读 -https://www.linux.com/blog/file-types-linuxunix-explained-detail

相关内容