我不明白 nmcli 连接修改 --临时 802-11-wireless.cloned-mac-address 00:60:1B:EB:F8:73

我不明白 nmcli 连接修改 --临时 802-11-wireless.cloned-mac-address 00:60:1B:EB:F8:73

这是来自如何在 Ubuntu 16.04 中使用命令行设置 mac 地址?,我无法联系 the_velour_fog

我也遇到了同样的问题,但我坚持使用 adonis 提出的解决方案:

nmcli connection modify --temporary 802-11-wireless.cloned-mac-address 00:60:1B:EB:F8:73

这是命令吗?我应该用什么来代替connection_name?我不知道在哪里可以找到它。

nmcli connection up

如果这是一条完整的命令,我应该&&在它们之间做什么吗?

答案1

是的,“nmcli”是一个命令。它是 NetworkManager 命令行界面的缩写版本。您可以使用“which”命令找到它,如下所示(但它应该已经在您的 PATH 中)

[jcall@laptop ~]$ which nmcli
/usr/bin/nmcli

“连接名称”将是您之前创建的名称。您可以从命令行创建连接,但我通常只使用 GUI 来创建它们(尤其是无线连接)。您可以使用命令“nmcli connection show”或缩写方式“nmcli c s”列出您的连接。以下是我的连接示例...

[jcall@laptop ~]$ nmcli connection show
NAME              UUID                                  TYPE             DEVICE 
Home_WiFi         c1c95bd9-78f3-4764-9922-971339702735  802-11-wireless  --     
Hotel_WiFi        921ad0bf-e18e-4d90-87d9-0f1c852c3dc7  802-11-wireless  --     
Google Starbucks  d5242485-ebd6-4152-a839-eaedacc49b4a  802-11-wireless  --     
enp0s25           6c6036d5-4739-3540-ac21-bf7a04669ed6  802-3-ethernet   --     

最后,您需要按顺序一个接一个地执行命令。如果您想创建一个较长的单行命令,可以使用 && 来执行此操作。我通常只创建一个小脚本文件以使事情变得简单。这是我的示例。

[jcall@laptop ~]$ cat ~/bin/mac-changer.sh 
#!/bin/bash

DEV=wlp3s0
NEWMAC=9c:d9:17:2e:ae:5f

if [ $# -lt 1 ]
then
  echo "You forgot to tell me which network to connect to..."
  echo "Please run \`nmcli con show\` for ideas..."
  exit 1
fi

if $(nmcli -t -f NAME con show | grep -q $1)
then
  nmcli connection modify --temporary $1 802-11-wireless.cloned-mac-address $NEWMAC
  nmcli connection up $1
else
  echo "Error: $1 is not a known network.  Please run \`nmcli con show\` for ideas..."
fi

答案2

您可以使用 && 或按顺序执行一个完整的命令。< 连接名称 > 是您当前连接的 wifi 的名称。您不必输入 <> 只需输入字符串名称,例如 MyWifi

相关内容