此处列出了特定的 USB 硬件:
ls -l /dev/input/by-id/
符号链接:/dev/input/by-id/usb-Metrologic_Metrologic_Scanner-event-kbd 解析为: /dev/input/eventxx 其中 xx 是整数。在此示例中,事件 19:
ls -l /dev/input/by-id/usb-Metrologic_Metrologic_Scanner-event-kbd
lrwxrwxrwx 1 root root 10 Nov 23 22:02 /dev/input/by-id/usb-Metrologic_Metrologic_Scanner-event-kbd -> ../event19
是否有一个命令可以作用于符号链接来更改目标文件的权限? IE
chmod 666 /dev/input/eventXX
期待聪明而优雅的例子。
答案1
怎么样
chmod 666 /dev/input/by-id/usb-Metrologic_Metrologic_Scanner-event-kbd
我希望这足够优雅!
来自GNU 手册chmod
:
chmod
永远不会更改符号链接的权限,因为chmod
系统调用无法更改其权限。这不是问题,因为符号链接的权限从未被使用过。但是,对于命令行上列出的每个符号链接,chmod
都会更改所指向文件的权限。
这可能是 GNU 特定的,但由于您运行的是 Linux 发行版,因此您可能已经拥有 GNU coreutils。
答案2
不像接受的答案那么优雅:
readlink -f /dev/input/by-id/usb-Metrologic_Metrologic_Scanner-event-kbd | sudo xargs chmod 666
- readlink 将符号链接解析为 /path/file
- 路径/文件通过管道传输到 args 中以供 chmod 处理