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
메시지에 대한 설명을 찾을 수 있습니다.여기. 즉, 키가 존재하지만 초기화되지 않아 이런 메시지가 나타나는 것입니다.
실제 명령 및 대상과 관련하여 파이프는 파이프로 전송되기 전에 나머지 부분을 인쇄 하지 않고 |
리디렉션만 합니다 . 예상되는 동작을 얻으려면 다음 명령 중 하나를 사용할 수 있습니다.stdout
stderr
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