nmcli를 사용하여 연결된 Wi-Fi 네트워크의 신호 강도를 확인하세요.

nmcli를 사용하여 연결된 Wi-Fi 네트워크의 신호 강도를 확인하세요.

다음 명령을 사용하여 모든 Wi-Fi 네트워크의 신호 강도를 얻을 수 있습니다.

$ nmcli -t -f SIGNAL device wifi list
$ 77
  67
  60
  59
  55
  45
  44
  39
  39
  37

이 목록을 현재 연결되어 있는 Wi-Fi로만 줄이고 싶습니다. 매뉴얼 페이지를 살펴봤지만 필요한 플래그를 찾을 수 없습니다.

sed한 가지 해결책은 또는 을 사용하는 것이지만 awk파이프는 사용하지 않으려고 합니다.

nmcli device wifi열을 직접 구문 분석하는 대신 SIGNAL을 사용해야 합니까 ?

답변1

nmcli --version
nmcli tool, version 1.6.2

연결된 AP에서 신호를 받으려면 다음을 사용하세요.

nmcli dev wifi list | awk '/\*/{if (NR!=1) {print $7}}'

의 두 번째 *태그 는 nmcli dev wifi list연결된 SSID를 식별합니다.

nmcli --version
nmcli tool, version 1.22.10

사용:

nmcli dev wifi list | awk '/\*/{if (NR!=1) {print $6}}'

답변2

여기서의 비결은 -f매개변수를 사용하여 nmcli스크립트에서 필수 필드를 지정하는 것입니다. SSID가 중요하다면 이 SSID필드를 사용하고, 어느 SSID에 연결하는지 관심이 있다면 다음 IN-USE필드를 사용하세요.

$ nmcli -f IN-USE,SIGNAL device wifi
*  SIGNAL 
   90
*  73     
   40
$ nmcli -f IN-USE,SIGNAL,SSID device wifi
*  SIGNAL  SSID               
   90      wifiWithoutSpaces
*  73      Some Wifi With Spaces
   40      Wifi With a * in its SSID

이러한 방식으로 필드를 정렬하면 선택 신호가 행 시작 부분부터 고정된 수의 열 구분 문자라는 점입니다. 이제 열 계산이나 nmcli 버전 관리 문제 없이 GAD3R의 답변을 사용할 수 있습니다.

$ nmcli -f IN-USE,SIGNAL,SSID device wifi | awk '/^\*/{if (NR!=1) {print $2}}'
73

답변3

연결된 네트워크의 이름을 알고 있는 경우 다음과 같이 방법을 수정할 수 있습니다. (nmcli 1.14.6의 경우 다른 버전은 다를 수 있음)

nmcli -t -f SSID,SIGNAL dev wifi list | grep "^<network name>:" | cut -d : -f 2

답변4

어떤 라우터를 사용하고 있는지 확인하는 쉬운 방법:

nmcli -f IN-USE,SIGNAL device wifi | grep '*'

관련 정보