왜“lsmod | wc -l”이“ls / sys / module | 화장실 -l” 반환하는 이유는 무엇입니까? lsmod | wc

이 두 명령이 다른 결과를 반환하는 이유는 무엇입니까?

lsmod | wc -l
100

ls /sys/module | wc -l
138



답변

lsmod로드 된 모든 동적 모듈을 나열합니다 .

항목은 동적으로로드되지 않고 커널에 내장되어 있으며 액세스 가능한 매개 변수가있는 /sys/module동적 모듈 모듈 에 해당합니다 . 예를 들면 다음과 같습니다.

[michael@brazzers:~]$ ls -d /sys/module/ip_tables/
/sys/module/ip_tables/
[michael@brazzers:~]$ lsmod |grep ^ip_tables
ip_tables              26995  3 iptable_filter,iptable_mangle,iptable_nat
[michael@brazzers:~]$ grep CONFIG_NF_NAT_IPV4 /boot/config-3.8.0-30-generic
CONFIG_NF_NAT_IPV4=m

여기서 iptables 모듈이 동적 모듈로 구성되어 있음을 알 수 있습니다. 대조 :

[michael@brazzers:~]$ ls -d /sys/module/apparmor/
/sys/module/apparmor/
[michael@brazzers:~]$ lsmod |grep ^apparmor
[michael@brazzers:~]$ grep APPARMOR /boot/config-3.8.0-30-generic
CONFIG_SECURITY_APPARMOR=y

반면에 복장은 내장되어 있습니다.


답변

  • /sys/module/MODULENAME

MODULENAME커널에있는 모듈의 이름입니다. 모듈이 동적 모듈로로드 된 경우이 모듈 이름이 항상 표시됩니다. 이것은 lsmod명령 을 실행할 때 또는 /proc/modules파일 을 확인할 때 정확히 볼 수있는 것 입니다.

커널에 직접 빌드 된 경우 버전 또는 하나 이상의 매개 변수가있는 경우에만 표시됩니다. 그런 다음 디렉토리에서 사용 가능한 매개 변수를 사용할 수 있습니다.

  • /sys/module/MODULENAME/parameters

답변