如何使用Nmcli命令从Linux终端连接Wi-Fi
时间:2022-05-14
本文章向大家介绍如何使用Nmcli命令从Linux终端连接Wi-Fi,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在Linux系统中有几种用于管理无线网络接口的命令行工具。其中的一些可用于简单查看无线网络接口状态(无论是启动还是关闭,或者是否连接到任何网络),如iw,iwlist,ip,ifconfig等。
其中一些用于连接无线网络,其中包括:nmcli,是用于创建,显示,编辑,删除,启用和禁用网络连接以及控制和显示网络设备状态的命令行工具。
首先使用以下命令检查网络设备的名称。从该命令的输出中,设备名称/接口是wlp1s0,如图所示。
$ iw dev
phy#0
Interface wlp1s0
ifindex 3
wdev 0x1
addr 38:b1:db:7c:78:c7
type managed
接下来,使用以下命令检查Wi-Fi设备连接状态。
iw wlp2s0 link
Not connected.
从设备上方的输出未连接到任何网络,请运行以下命令扫描可用的Wi-Fi网络。
sudo iw wlp2s0 scan
command failed: Network is down (-100)
考虑到上述命令的输出,网络设备/接口处于关闭(DOWN)状态,您可以使用ip命令将其打开 (UP),如图所示。
$ sudo ip link set wlp1s0 up
如果出现以下错误,这意味着您的Wifi在笔记本电脑或计算机上很难被屏蔽。
RTNETLINK answers: Operation not possible due to RF-kill
要删除或取消阻止,您需要运行以下命令来解决错误。
$ echo "blacklist hp_wmi" | sudo tee /etc/modprobe.d/hp.conf
$ sudo rfkill unblock all
然后尝试再次打开网络设备,并且这次应该可以工作。
$ sudo ip link set wlp1s0 up
如果您知道要连接的Wi-Fi网络的ESSID,请转至下一步,否则请发出以下命令以再次扫描可用的Wi-Fi网络。
$ sudo iw wlp1s0 scan
最后,使用以下命令连接到Wi-Fi网络,其中Hackernet(Wi-Fi网络SSID)和localhost22(密码/预共享密钥)。
$ nmcli dev wifi connect Hackernet password localhost22
连接后,通过对外部计算机执行ping操作来验证连接,并如图所示分析ping的输出。
$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=48 time=61.7 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=48 time=61.5 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=48 time=61.6 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=48 time=61.3 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=48 time=63.9 ms
^C
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 61.338/62.047/63.928/0.950 ms
最后,张大发希望这篇文章能帮助你从Linux命令行设置Wi-Fi网络。
- Silverlight中也玩屏幕截图
- 在虚拟机上进行网络数据包分析
- TiDB 1.1 Alpha Release
- 重温delphi之:如何将Bitmap位图与base64字符串相互转换
- base64编码在silverlight中的使用
- silverlight中如何将BitmapImage转化为Stream或byte数组?
- Centos6.8下编译安装LAMP的操作记录梳理
- Linux下批量管理工具pssh使用记录
- salt-ssh批量操作记录
- 用AutoHotKey建立自己的便签本
- Flash/Flex学习笔记(14):制作涂鸦板
- 页面布局的一些心得
- Linux下的计算命令和求和、求平均值、求最值命令梳理
- 网卡自适应带来的麻烦
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 2.2 spring5源码 -- ioc加载的整体流程
- Js 删除 指定Domin 指定 path 下的 cookie中指定的内容
- 适配器模式与装饰器模式的区别
- java堆内存详解
- springBoot 入门(一)—— 使用idea创建第一个springBoot项目
- “dddb超级”工具包——高效、快速开发JavaWeb项目后端结构
- 在Java Web中设计的编解码
- 怎么让用一行代码实现页面的定时强制刷新?脚本刷流量再也不用愁了!
- 什么是Javac
- springBoot 入门(二)—— 使用 spring.profiles.active来区分配置
- Kubernetes 1.19.0——deployment(2)
- JavaWeb新手进阶经典项目 & 半小时高效开发 & 海量知识点涵盖 (二)
- Java web 开发 Session超时设置
- JavaWeb第四讲 会话跟踪技术HttpSession、Cookie、url、隐藏表单域
- springBoot 入门(三)—— 使用 RestController