如标题所述。有没有办法在命令行中测试文件是否是套接字?通过测试,我的意思是我是否可以从 stdout 中判断,而不是像在 bash 脚本中那样以编程方式判断,尽管这也很好。顺便说一句,我在 Mac 上(偶尔命令会有所不同)。谢谢!
答案1
套接字在第一个权限标志中有“s”:
ls -la X0
srwxrwxrwx 1 paul hum 0 Jul 14 14:48 X0
您可以使用以下-S
开关在 bash 中测试:
if [ -S /my/file.socket ] ; then
# stuff
fi
或者find
可以使用该命令来查找目录中的任何套接字:
find . -type s
答案2
测试-S /var/run/some_socket_file
如果 $? == 0,则该文件为套接字文件。