Ubuntu:写入串行端口:权限被拒绝

CL2*_*L22 5 linux sudo serial-port permissions ubuntu

我已将 USB 连接到串行桥接器,并运行dmesg | grep tty输出以下内容:

[    0.000000] console [tty0] enabled
[603199.380677] usb 2-2: cp210x converter now attached to ttyUSB0
Run Code Online (Sandbox Code Playgroud)

所以现在我正在尝试按照上一个问题中的答案通过运行以下命令来写信给它:

cat hello.txt > /dev/ttyUSB0
Run Code Online (Sandbox Code Playgroud)

sudo cat hello.txt > /dev/ttyUSB0
Run Code Online (Sandbox Code Playgroud)

但两者都会导致以下错误:

bash: /dev/ttyUSB0: Permission denied
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

谢谢

小智 6

如果您仍然想使用 sudo 访问端口,问题在于cat以 root 权限运行,但重定向不是。试试cat hello.txt | sudo tee /dev/ttyUSB0。这将使用该tee工具,以 root 身份运行。它既输出到标准输出(终端),也输出到指定的目的地(在这种情况下,串行端口)。