📅  最后修改于: 2023-12-03 15:06:34.546000             🧑  作者: Mango
如果你需要测试你的网络连接速度,你可以使用 speedtest
工具。而在命令行中运行它,可以通过 Shell/Bash 编写脚本,提高其使用效率,同时也让速度测试工作更加方便。在本文中,我们将学习如何在 Shell/Bash 中使用 speedtest
来测试你的网络连接速度。
在 Linux 中,你可以使用 apt-get
命令来安装 speedtest:
sudo apt-get install speedtest-cli
在 MacOS 中,你需要通过 homebrew
安装:
brew install speedtest-cli
在 Windows 系统中,你可以下载 speedtest-cli.exe 并将其放置到你的命令行路径中。
在 Shell/Bash 中,你可以使用以下命令来运行 speedtest
:
speedtest
这会自动连接到 speedtest.net
并运行测试。
当然,你也可以添加参数,以获取更多关于测试的信息。例如,你可以增加 -s
参数,以连接到特定文件服务器进行测试:
speedtest -s 12345
你还可以增加 -f
参数,以输出结果,并顺带着展示网络的 IP:
speedtest -f
运行以上命令后,你将得到类似下面的结果:
Retrieving speedtest.net configuration...
Testing from Your ISP (xxx.xxx.xxx.xxx)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by xxx (City, ST) [Distance xxx km]: xx.xx ms
Testing download speed........................................
Download: xx.xx Mbit/s
Testing upload speed..................................................
Upload: xx.xx Mbit/s
在这个例子中,speedtest
测试了下载和上传的速度,并显示了最佳的主机与距离信息。注意响应的单位为 Mbit/s
而不是 MB/s
。
我们可以将 speedtest
命令存储在一个脚本文件中,以便快速测试网络速度。
在你的 bin
目录中创建名为 speedtest.sh
的文件并添加以下内容:
#!/bin/bash
now=$(date +"%Y-%m-%d %H:%M:%S")
result=$(speedtest --secure --no-upload)
ping=$(echo "$result" | awk '/Ping:/{print$2}')
down=$(echo "$result" | awk '/Download:/{print$2}')
up=$(echo "$result" | awk '/Upload:/{print$2}')
echo "${now}, ${ping}, ${down}, ${up}" >> ~/Documents/speedtest.csv
这个脚本将测试结果追加到 ~/Documents/speedtest.csv
文件中。当你执行脚本时,你将能够看到类似于以下的结果:
2019-03-27 10:37:31, 5.291 ms, 27.56 Mbit/s, 13.07 Mbit/s
如果脚本没有执行,可能需要更新执行权限:
chmod +x speedtest.sh
现在只需要在命令行中运行脚本即可,每次测速的结果将记录在文件中。
speedtest
是一个强大的工具,可用于测试你的网络连接速度。Shell/Bash 使你可以在命令行中更加方便地使用它,提高你的效率和节省时间。希望这篇文章能够帮助你更好的利用 speedtest
。