Bash
find 命令沒有遞歸地在 /sys/devices/ 中找到文件
我用來在目錄中
find
查找文件cpuinfo_max_freq``/sys/devices/
這是我使用的命令,它沒有顯示任何輸出:
find /sys/devices/ -name 'cpuinfo_max_freq'
我也嘗試添加 -L 標誌來搜尋連結目錄,但它似乎不起作用,並且不斷輸出並且永遠不會完成。但是在根目錄 (
/
) 中進行查找工作正常。這是實際文件的路徑:
/sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq
該
/sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq
路徑包含符號連結組件:$ namei -l /sys/devices/system/cpu/cpu1/ **cpufreq** /cpuinfo_max_freq f: /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq drwxr-xr-x root root / dr-xr-xr-x 根根系統 drwxr-xr-x root 根設備 drwxr-xr-x root 根系統 drwxr-xr-x root 根 cpu drwxr-xr-x root 根 cpu1 lrwxrwxrwx根 根**cpufreq -> ../cpufreq/policy1** drwxr-xr-x 根根.. drwxr-xr-x root 根 cpufreq drwxr-xr-x 根根策略1 -r--r--r-- 根根 cpuinfo_max_freq
對應文件的規範路徑為:
$ readlink -f /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq /sys/devices/system/cpu/cpufreq/policy1/cpuinfo_max_freq
該路徑是以下返回的路徑之一:
$ 查找 /sys/devices/ -name 'cpuinfo_max_freq' /sys/devices/system/cpu/cpufreq/policy6/cpuinfo_max_freq /sys/devices/system/cpu/cpufreq/policy4/cpuinfo_max_freq /sys/devices/system/cpu/cpufreq/policy2/cpuinfo_max_freq /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_max_freq /sys/devices/system/cpu/cpufreq/policy7/cpuinfo_max_freq /sys/devices/system/cpu/cpufreq/policy5/cpuinfo_max_freq /sys/devices/system/cpu/cpufreq/policy3/cpuinfo_max_freq **/sys/devices/system/cpu/cpufreq/policy1/cpuinfo_max_freq**
除非您傳遞
-L
選項或-follow
謂詞,find
否則在下降以您作為參數提供的路徑為根的目錄樹時不遵循符號連結。
find -L
最終會找到它(連同/sys/devices/system/node/node0/cpu1/cpufreq/cpuinfo_max_freq
,/sys/devices/system/memory/memory8/node0/cpu1/cpufreq/cpuinfo_max_freq
,/sys/devices/system/node/node0/subsystem/devices/node0/subsystem/devices/node0/cpu1/cpufreq/cpuinfo_max_freq
… 和無數其他路徑)但find
with-L
也會迷失在/sys/devices
包含/sys
許多符號連結中,其中一些會導致循環。