find 명령이 반복적으로 /sys/devices/에서 파일을 찾을 수 없습니다.

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

답변1

경로 /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq에는 심볼릭 링크 구성 요소가 포함되어 있습니다.

$ 이름i -l /sys/devices/system/cpu/cpu1/CPU 주파수/cpuinfo_최대 주파수
f: /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq
drwxr-xr-xrootroot/
dr-xr-xr-x 루트 루트 시스템
drwxr-xr-x 루트 루트 장치
drwxr-xr-x 루트 루트 시스템
drwxr-xr-x 루트 루트 CPU
drwxr-xr-x 루트 CPU1
lrwxrwxrwx 루트 루트cpufreq -> ../cpufreq/policy1
drwxr-xr-x 루트 루트..
drwxr-xr-x 루트 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... 및 수많은 다른 경로 와 함께 ). 그러나 findwith 또한 많은 심볼릭 링크를 포함 하므로 -L길을 잃게 되며 그 중 일부는 루프를 유발합니다./sys/devices/sys

답변2

-type f"일반 파일"( ) 을 찾고 있음을 지정해야 한다고 생각합니다 .

$ find /sys/devices -name 'cpuinfo_max_freq' -type f 
/sys/devices/system/cpu/cpufreq/policy0/cpuinfo_max_freq

내 Debian/RPi OS에서는 잘 작동합니다.

해보고 싶으면 macOS잊어버리세요... find다른 동물이에요macOS

관련 정보