그래서 노트북 터치패드 입력을 조정하던 중 이 디렉토리를 발견하고 이상한 점을 발견했습니다.
어쩌면 설명하는 것보다 명령 출력을 확인하는 것이 더 나을 수도 있습니다.
[root@T480-arch serio1]# pwd -P
/sys/devices/platform/i8042/serio1
[root@T480-arch serio1]# file ./*
./bind_mode: ASCII text
./description: ASCII text
./driver: symbolic link to ../../../../bus/serio/drivers/psmouse
./drvctl: writable, regular file, no read permission
./firmware_id: ASCII text
./id: directory
./modalias: ASCII text
./power: directory
./protocol: ASCII text
./rate: ERROR: cannot read `./rate' (No such file or directory)
./resetafter: ERROR: cannot read `./resetafter' (No such file or directory)
./resolution: ERROR: cannot read `./resolution' (No such file or directory)
./resync_time: ERROR: cannot read `./resync_time' (No such file or directory)
./subsystem: symbolic link to ../../../../bus/serio
./uevent: ASCII text
[root@T480-arch serio1]# ls -alFtr | grep -iE "rate|resetafter|resolution|resync_time"
-rw-r--r-- 1 root root 4096 Jul 30 02:28 resync_time
-rw-r--r-- 1 root root 4096 Jul 30 02:28 resolution
-rw-r--r-- 1 root root 4096 Jul 30 02:28 resetafter
-rw-r--r-- 1 root root 4096 Jul 30 02:28 rate
표시된 대로 bash
둘 다 ls
4개의 r-something 파일이 있고 root
권한이 있다는 것을 알고 있지만 file
명령은 이를 인식하지 못합니다.
또한 다음을 사용하여 편집하려고 하면 다음을 사용합니다 vim
.
"rate" [READ ERRORS] 0L, 0C
제 질문은 이런 일이 발생할 수 있는 가능한 이유가 무엇입니까?입니다. 구체적으로 어떤 "파일"을 사용하고 있습니까?
에 있기 때문에 그 /sys/
자체로는 실제 파일은 아니지만 일반적으로 아래에서 볼 수 있는 것과 같은 일부 추상화입니다 /dev/
.
모든 것이 파일이다
*nix 시스템의 철학. 하지만 이 경우에는 file
이것이 장치 파일이라는 것을 알려주어야 하지만 여기서는 그렇지 않습니다.
답변1
/sys
이는 가상 파일 시스템이며 그 안에 있는 파일은 실제 파일이 아니라 커널에 대한 인터페이스입니다. 발견된 4개의 파일은 psmouse
드라이버에 의해 처리되며 다음과 같은 비정상적인 동작을 나타냅니다.ENOENT
읽으면서 돌아가기확인 중인 장치에 "SMBus Companion Device"가 있는 경우. (이것은 랩톱 트랙패드의 일반적인 기능입니다. 트랙패드는 이전 버전과의 호환성을 위해 PS/2 장치로 표시되며 모든 기능에 대한 액세스를 제공하기 위해 다른 버스의 장치로도 표시됩니다.)
일반적으로 대부분의 파일 액세스 도구가 파일을 있는 그대로 처리할 것이라고 기대할 수는 없습니다 /sys
. 특히 파일 중 다수는 단일 작업으로 읽어야 하며 겉보기 길이는 실제 근거가 없는 경우가 많습니다.