如何在 /dev 中创建一个新的套接字?

如何在 /dev 中创建一个新的套接字?

我想在 中创建一个新的套接字文件/dev。获取它的方法是向 中添加新规则udev吗?

答案1

  • 创建 Unix 域或 TCP 套接字的通常方法是以编程方式,通过姆诺德或者插座系统调用。mknod命令将要不是允许您创建一个套接字。

在命令行中使用插座包裹

  • 如果你想创建一个 Unix/TCP 套接字从命令行,尝试socket插座包(先安装它)。总结其手册页描述:

    Socket 创建一个 Internet 域 TCP 或 UNIX 域流套接字并将其连接到 stdin 和 stdout。

示例插座用法(来自手册页)

  1. socket -v coma.cs.tu-berlin.de nntp

    连接到coma.cs.tu-berlin.de(130.149.28.10)的nntp端口(端口119)。

  2. socket -sl 3425

    在本地主机的 3425 端口上创建服务器套接字并等待连接。关闭连接后,将接受新的连接。

  3. socket -wslqvp "echo Socket! " 1938

    在本地主机的 1938 端口上创建服务器套接字并等待连接。当接受连接时,字符串“Socket!”将写入套接字。不会从套接字读取任何数据并将其写入 finger 程序。当程序的标准输出出现文件结束条件时,连接将关闭。然后接受新连接。

答案2

您无法创建它,但您可以从下面的工作系统复制到机器之间的某个共享位置,然后从共享位置复制到另一个系统。

机器 A

cp -rf /dev/SRC shared_directory

机器 B

cp -rf shared_directory /dev/

答案3

我认为你正在寻找命令mknod(如果你对它使用的系统调用感兴趣,这是它的手册页

答案4

您可以使用socat

socat UNIX-LISTEN:/dev/my.socket -

相关内容