请查看以下命令及其输出:
$ cat /sys/class/graphics/fb0/virtual_size
1920,1080
$ file /sys/class/graphics/fb0/virtual_size
/sys/class/graphics/fb0/virtual_size: ASCII text
$ grep -H 1920 /sys/class/graphics/fb0/virtual_size
/sys/class/graphics/fb0/virtual_size:1920,1080
所以 virtual_size 是一个普通的文本文件
$ find /sys -type f -exec grep -H 1920 '{}' \; 2> /dev/null
/sys/fs/cgroup/blkio/blkio.throttle.io_service_bytes:8:0 Read 273361920
/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/modes:1920x1080
/sys/devices/pci0000:00/0000:00:02.0/graphics/fb0/modes:U:1920x1080p-0
/sys/devices/pci0000:00/0000:00:02.0/graphics/fb0/virtual_size:1920,1080
/sys/module/r8169/coresize:81920
但为什么 find 命令找不到/sys/class/graphics/fb0/virtual_size
文件,它只是另一个文本文件,对吗?
答案1
大概/sys/class/graphics/fb0/virtual_size
是 /sys/devices/pci0000:00/0000:00:02.0/graphics/fb0/virtual_size
。
尝试readlink -f /sys/class/graphics/fb0/virtual_size
确认一下。
namei -l /sys/class/graphics/fb0/virtual_size
看看这是如何发生的(至少路径组件之一/sys/class/graphics/fb0/virtual_size
必须是符号链接)。
find
-L
除非您使用选项(以前称为谓词) ,否则在目录树下降时不会遵循符号链接-follow
。
然而,使用它/sys
不会让你一事无成,因为它是一个符号链接的意大利面条盘。