---
author: Avishek Kumar
category: 技术
comments_data:
- date: '2015-06-14 12:56:44'
  message: "speedtest-cli这个包好奇怪哇，使用pip安装时，本想安装在家目录里，没想到去掉sudo就没法按咯，结果使用sudo pip uninstall
    speedtest-cli<br />\r\n命令进行卸载时，居然把我/usr/local文件树下的bin文件夹给删除掉咯，虽然这下面一般都是空的，很少使用，不过破坏了我的目录树，还是稍有不爽的"
  postip: 112.24.31.130
  username: 朩ダo○
- date: '2015-06-14 21:13:23'
  message: 这是安装/卸载脚本的严重错误，我觉得你可以给它提补丁去，这样就成了contributer 了：》
  postip: 123.120.61.87
  username: linux
- date: '2015-06-16 11:36:07'
  message: 嗯嗯，我就发个issue
  postip: 221.6.159.253
  username: 朩ダo○
- date: '2016-03-13 15:37:55'
  message: 很好用，写的很详细，谢谢！
  postip: 27.156.73.31
  username: 来自福建福州的 Chrome 47.0|Windows 7 用户
count:
  commentnum: 4
  favtimes: 4
  likes: 0
  sharetimes: 1
  viewnum: 37757
date: '2015-06-14 10:19:28'
editorchoice: false
excerpt: 我们经常需要到检查家里与办公室之间的网络是否连通，那么我们要怎么做呢？打开网站Speedtest.net然后开始测试。网站是通过加载浏览器中的JavaScript脚本然后选择最佳的服务器测速然后用Flash产生图形化的结果。
  那么远程服务器呢？要知道大多数远程服务器是没有浏览器可以打开web页面的。用浏览器打开网页测速的瓶颈就在此，你不能按计划的对服务器进行定期的常规测试。这时需要到一个名为Speedtest-cli的软件来打破这个瓶颈，它能让你通过命令行来测试互联网连接的速度。
  Speedtest-cli是什么 此程序是基于Python开发的脚本程序，利用了
fromurl: http://www.tecmint.com/check-internet-speed-from-command-line-in-linux/
id: 5626
islctt: true
largepic: /images/p/201506/14/101930gfjenbzow073o3ef.png
permalink: /article-5626-1.html
pic: /images/p/201506/14/101930gfjenbzow073o3ef.png.thumb.jpg
related: []
reviewer: ''
selector: ''
summary: 我们经常需要到检查家里与办公室之间的网络是否连通，那么我们要怎么做呢？打开网站Speedtest.net然后开始测试。网站是通过加载浏览器中的JavaScript脚本然后选择最佳的服务器测速然后用Flash产生图形化的结果。
  那么远程服务器呢？要知道大多数远程服务器是没有浏览器可以打开web页面的。用浏览器打开网页测速的瓶颈就在此，你不能按计划的对服务器进行定期的常规测试。这时需要到一个名为Speedtest-cli的软件来打破这个瓶颈，它能让你通过命令行来测试互联网连接的速度。
  Speedtest-cli是什么 此程序是基于Python开发的脚本程序，利用了
tags:
- Speedtest
- 网速
thumb: false
title: 用命令行工具 Speedtest-CLI 来测试你的上下行网速
titlepic: false
translator: NearTan
updated: '2015-06-14 10:19:28'
---

我们经常需要到检查家里与办公室之间的网络是否连通，那么我们要怎么做呢？打开网站Speedtest.net然后开始测试。网站是通过加载浏览器中的JavaScript脚本然后选择最佳的服务器测速然后用Flash产生图形化的结果。


那么远程服务器呢？要知道大多数远程服务器是没有浏览器可以打开web页面的。用浏览器打开网页测速的瓶颈就在此，你不能按计划的对服务器进行定期的常规测试。这时需要到一个名为Speedtest-cli的软件来打破这个瓶颈，它能让你通过命令行来测试互联网连接的速度。


#### Speedtest-cli是什么


此程序是基于Python开发的脚本程序，利用了speedtest.net的服务来测量出上下行的宽带。Speedtest-cli能根据机房离测速服务器的物理距离来列出测速服务器，或者针对某一服务器进行测速，同时还能为你生成一个URL以便你分享你的测速结果。


要在Linux上安装最新版本的speedtest-cli，你必须安装2.4-3.4或者更高版本的Python。


### 在Linux上安装speedtest-cli


有两种方法可以安装speedtest-cli。第一种方法需要用到`python-pip`包管理器，第二种方法需要安装Python脚本，生成安装文件然后运行，这里我们分别介绍两种方法：


#### 使用pythin-pip安装speedtest-cli


首先你需要安装`python-pip`包管理器，之后你就可以用pip命令来安装speedtest-cli



```
$ sudo apt-get install python-pip
$ sudo pip install speedtest-cli

```

如果要把speedtest-cli升级至最新版本，你需要输入以下命令



```
$ sudo pip install speedtest-cli --upgrade

```

#### 通过Pyhton脚本来安装speedtest-cli


首先要用wget命令从github上下来Python脚本，然后解压提取下载的文件（master.zip）



```
$ wget https://github.com/sivel/speedtest-cli/archive/master.zip
$ unzip master.zip 

```

提取出文件后，进入提取出的目录`speedtest-cli-master`然后使脚本可以执行。



```
$ cd speedtest-cli-master/
$ chmod 755 speedtest_cli.py 

```

下一步，把可执行的脚本移动到`/usr/bin`文件夹，这样你就不用每次都输入完整的脚本路径了。



```
$ sudo mv speedtest_cli.py /usr/bin/

```

### 用speedtest-cli测试互联网连通速度


**1. 要测试你的下载与上传速度，只需要运行`speedtest-cli`命令，不需要带参数。**



```
$ speedtest_cli.py

```

![Test Download Upload Speed in Linux](/images/p/201506/14/101930gfjenbzow073o3ef.png)


*在Linux下测试上传下载速度*


**2. 测试上传下载的速度（以字节计算）**



```
$ speedtest_cli.py --bytes

```

![Test Internet Speed in Bytes](/images/p/201506/14/101931ztjikpbkmvmtpb6m.png)


*测试bytes的速度*


**3. 工具提供一个链接来下载由你的宽带测试结果生成的图片，你可以分享给你的家人朋友。**


![Share Internet Speed Results](/images/p/201506/14/101932hepws4qpbyz9sb72.png)


*分享测速结果*


下面的图片就是你通过以上的命令行测速而生成的图片


![Speed Test Results](/images/p/201506/14/101933fscy1ctyjnk9hmn0.png)


*测速结果*


**4.如果你仅仅需要Ping，上传，下载的结果，就运行以下命令：**



```
$ speedtest_cli.py --simple

```

![Test Ping Download Upload Speed](/images/p/201506/14/101935j00lj00mzymhzjhh.png)


*测试Ping，上传，下载的速度*


**5. 列出`speedtest.net`所有的服务器距离你的物理距离，单位是千米（km）**



```
$ speedtest_cli.py --list

```

![Check Speedtest.net Servers](/images/p/201506/14/101936d0pfybbd3isdxkyr.png)


*列出Speedtest.net的服务器*


**6. 当获得一个非常长的服务器列表之后，怎么列出我想要的某个服务器？如果我要在speedtest.net服务器列表中找出位于Mumbai（印度）的服务器呢？**



```
$ speedtest_cli.py --list | grep -i Mumbai

```

![Check Nearest Server](/images/p/201506/14/101937tnvcxvnapvczm882.png)


*列出最近的服务器*


**7. 对指定的服务器进行测速。我们使用上面例子5和例子6中获取的服务器ID:**



```
$ speedtest_cli.py --server [server ID]
$ speedtest_cli.py --server [5060]              ## 这里使用服务器ID为5060作为例子

```

![Test Connection Against Server](/images/p/201506/14/101939osspxxwimwyu4mun.png)


*对指定的服务器进行测速*


**8. 输出`speedtest-cli`的版本信息和帮助文档**



```
$ speedtest_cli.py --version

```

![Check SpeedCli Version](/images/p/201506/14/101940x5i77p5o2i9num27.png)


*输出版本号*



```
$ speedtest_cli.py --help

```

![SpeedCli Help](/images/p/201506/14/101941p14sjbwici4lgwlz.png)


*输出帮助文档*


**提醒：**报告中的延迟并不是确切的结果，不应该过于依赖它；这个数值可以当作相对延迟，这对你选择某一测试服务器来说是可靠的。同时，CPU和内存的容量会影响结果的准确度。


### 结论


系统管理员和开发者应该必备这个简单的脚本工具，这个轻量级的工具功能齐全，真是太赞了。我不喜欢Speedtest.net的原因是它使用来flash，相反speedtest-cli刚好戳中了我的痛点。


speedtest\_cli是一个第三方工具，也不能自动地记录下宽带速度。Speedtest.net拥有上百万的用户，你可以自己[配制一个小型的测速服务器](http://www.tecmint.com/speedtest-mini-server-to-test-bandwidth-speed/)。


上面就是所有内容，更多内容敬请关注我们。如果你有任何反馈记得在文章下方评论，如果你喜欢别忘了给我们点个赞，分享我们的文章。




---


via: <http://www.tecmint.com/check-internet-speed-from-command-line-in-linux/>


作者：[Avishek Kumar](http://www.tecmint.com/author/avishek/) 译者：[NearTan](https://github.com/NearTan) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出