Linux rfkill 命令,控制蓝牙、Wi-Fi、UWB、FM 和其他无线设备

rfkill 是一个用于控制无线设备的命令行工具。它允许用户启用或禁用蓝牙、Wi-Fi、UWB、FM 和其他无线设备。rfkill 可以通过硬件开关或者软件方式来控制这些设备的状态。

基本用法

查看当前状态

要查看所有无线设备及其状态,可以使用以下命令:

该命令会列出所有无线设备及其当前状态(blocked 或 unblocked)。输出示例如下:

软件控制

要通过软件方式启用或禁用某个设备,可以使用 blockunblock 子命令。例如,要禁用蓝牙设备,可以运行:

要重新启用蓝牙设备,可以运行:

同样地,对于 Wi-Fi 设备:

查看指定设备状态

如果只想查看特定设备的状态,可以使用设备索引号。例如,要查看索引为 0 的设备状态:

使用设备名称

也可以通过设备名称来控制设备状态。例如,要查看名为 phy0 的设备状态:

禁用所有无线设备

要一次性禁用所有无线设备,可以运行:

要重新启用所有无线设备,可以运行:

高级用法

监听设备状态变化

你可以使用 watch 命令来实时监听设备状态的变化。例如:

这将每秒刷新一次设备状态列表。

脚本化操作

你可以将 rfkill 命令集成到脚本中,以便自动化设备的启用和禁用。例如,下面是一个简单的 Bash 脚本,用于在启动时启用 Wi-Fi:

保存为 enable_wifi.sh 并赋予执行权限:

然后可以在系统启动时自动运行此脚本。

注意事项

  • 使用 rfkill 命令通常需要超级用户权限。
  • 硬件开关控制的设备状态不能通过软件改变。只有当硬件开关处于开启状态时,rfkill 才能对其进行控制。
  • 不同的硬件和驱动可能对 rfkill 的支持程度不同,请查阅相关文档或手册页以获取更多信息。

示例

示例 1:检查并启用 Wi-Fi

示例 2:监控设备状态变化

示例 3:编写脚本自动启用 Wi-Fi

创建一个名为 enable_wifi.sh 的脚本文件,并添加以下内容:

保存后,赋予执行权限:

然后在启动时运行此脚本(例如,在 /etc/rc.local 文件中添加相应行):

这样,每次系统启动时都会自动启用 Wi-Fi 设备。

参考资料

  • man rfkill
  • rfkill 官方文档

通过上述介绍,你应该已经掌握了 rfkill 命令的基本用法和一些高级技巧。这个工具可以帮助你在多种场景下方便地管理和控制无线设备。

纠错
反馈

纠错反馈