如何通过符号链接实现直接读取sysfs的快捷执行操作
如何通过符号链接实现直接读取sysfs的快捷执行操作
嗨,我完全懂你的需求——你想不用每次都敲完整的cat /sys/bus/usb/gps/time命令,而是用一个简短的指令比如sysread直接输出这个sysfs文件的内容对吧?
首先得说明:符号链接本身是做不到直接指向命令的,因为符号链接的作用是关联文件或目录,没法直接把一整条命令打包成一个链接。不过别担心,有几个更实用的方法能达到你想要的效果:
方法一:用Shell别名(最简便)
这是最直接的解决方案,直接给你的命令起个短名字就行:
alias sysread='cat /sys/bus/usb/gps/time'
执行完这条命令后,你在终端里敲sysread,就会自动执行cat /sys/bus/usb/gps/time并输出内容。
如果想让这个别名永久生效(重启终端后依然能用),把上面的命令添加到你的Shell配置文件里:
- 如果你用Bash,编辑
~/.bashrc文件 - 如果你用Zsh,编辑
~/.zshrc文件
添加后执行source ~/.bashrc(或对应配置文件)让修改立即生效。
方法二:写一个简单的Shell脚本
如果你偏好“文件式”的快捷方式,可以写个小脚本:
- 创建一个名为
sysread的文件,内容如下:
#!/bin/bash cat /sys/bus/usb/gps/time
- 给脚本添加执行权限:
chmod +x sysread
- 把脚本放到系统能找到的目录里,比如
~/bin(如果这个目录不存在就先创建mkdir ~/bin),或者/usr/local/bin(需要sudo权限)。
之后你在终端里直接敲sysread就能执行这条命令了。
补充:用符号链接简化路径(但仍需cat)
如果你只是想简化sysfs的路径,符号链接是可以做到的:
ln -s /sys/bus/usb/gps/time ~/gps_time_link
之后你可以用cat ~/gps_time_link来读取内容,虽然还是需要敲cat,但路径短了很多。
备注:内容来源于stack exchange,提问作者DEV
相关产品推荐
相关产品推荐

