В дополнение к тому, что уже было отвечено здесь, я объединил некоторые из них и добавил немного своего собственного вкуса.
Что касается nmcli
ответ: конечно, сделайте это, если вы хотите установить больше программного обеспечения. Но если вы ищете точки доступа, возможно, у вас еще нет подключения к Интернету и вы не можете подключиться для установки указанного программного обеспечения. Учитывая все сказанное, вот мое решение:
for i in $(ls /sys/class/net/ | egrep -v ^lo$); do sudo iw dev $i scan | grep SSID | awk '{print substr($0, index($0,$2)) }'; done 2>/dev/null | sort -u
Разрушая его:
for i in $(ls /sys/class/net/ | egrep -v ^lo$);
Давайте посмотрим на все содержимое location /sys/class/net. Здесь будут перечислены все сетевые устройства, но на самом деле нас не интересует интерфейс обратной связи. так что мы проигнорируем это
do sudo iw dev $i scan | grep SSID | awk '{print substr($0, index($0,$2)) }';done
Для каждого из сетевых интерфейсов, которые мы нашли выше, давайте проведем сканирование, чтобы перечислить все SSID (и только SSID).
2>/dev/null
И игнорируйте все ошибки (например, поиск SSID с интерфейсами ethernet).
| sort -u
И, наконец, если у вас в системе несколько адаптеров Wi-Fi, перечислите каждый SSID только один раз.