sysctl 명령은 요청되지 않은 정보를 반환합니다.

sysctl 명령은 요청되지 않은 정보를 반환합니다.

grep다음과 같이 특정 커널 설정을 원합니다

$ sudo sysctl -a --ignore | grep -i max_map_count 2>/dev/null
sysctl: reading key "net.ipv6.conf.all.stable_secret"
sysctl: reading key "net.ipv6.conf.default.stable_secret"
sysctl: reading key "net.ipv6.conf.docker0.stable_secret"
sysctl: reading key "net.ipv6.conf.enp2s0.stable_secret"
sysctl: reading key "net.ipv6.conf.lo.stable_secret"
sysctl: reading key "net.ipv6.conf.wlp3s0.stable_secret"
vm.max_map_count = 262144

둘 다 알 수 없는 키에 대한 정보(즉, options --ignore) 를 무시했기 때문입니다.그리고잠재적인 오류 출력을 다음으로 리디렉션합니다. /dev/null이 줄은 무엇을 인쇄합니까?reading jey

답변1

stderr를 grep/dev/null로 리디렉션하고 있지만 stderr 메시지는 에서 나옵니다 sysctl.

sudo sysctl -a --ignore 2>/dev/null | grep -i max_map_count

답변2

stable_secrect메시지에 대한 설명을 찾을 수 있습니다.여기. 즉, 키가 존재하지만 초기화되지 않아 이런 메시지가 나타나는 것입니다.

실제 명령 및 대상과 관련하여 파이프는 파이프로 전송되기 전에 나머지 부분을 인쇄 하지 않고 |리디렉션만 합니다 . 예상되는 동작을 얻으려면 다음 명령 중 하나를 사용할 수 있습니다.stdoutstderr

sudo sysctl -a --ignore 2> /dev/null | grep max_map_count
sudo sysctl -a --ignore 2>&1 | grep max_map_count
sudo sysctl -a --ignore |& grep max_map_count

또는 find.

find /proc/sys -name '*max_map_count*' -exec grep -H . "{}" \;

더 좋은 점은 당신이 찾고 있는 것이 무엇인지 이미 알고 있기 때문입니다.

sysctl vm.max_map_count

관련 정보