![find 명령이 반복적으로 /sys/devices/에서 파일을 찾을 수 없습니다.](https://linux55.com/image/181962/find%20%EB%AA%85%EB%A0%B9%EC%9D%B4%20%EB%B0%98%EB%B3%B5%EC%A0%81%EC%9C%BC%EB%A1%9C%20%2Fsys%2Fdevices%2F%EC%97%90%EC%84%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%B0%BE%EC%9D%84%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
나는 디렉토리에서 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
... 및 수많은 다른 경로 와 함께 ). 그러나 find
with 또한 많은 심볼릭 링크를 포함 하므로 -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