


How to Test Your Internet Speed Bidirectionally from Command Line Using 'Speedtest-CLI' Tool
Jul 14, 2025 am 09:12 AMWe always need to check the speed of the Internet connection at home and office. What do we do about this? Go to websites like Speedtest.net and begin the test. It loads JavaScript in the web browser and then selects the best server based upon ping and outputs the result. It also uses a Flash player to produce graphical results.
[ You might also like: Fast – Test Your Internet Download Speed from Linux Terminal ]
What about a headless server, where isn’t any web-based browser and the main point is, most of the servers are headless. Another bottleneck of such web browser-based speed testing is that you can’t schedule the speed testing at regular intervals.
Here comes an application “Speedtest-cli” that removes such bottlenecks and lets you test the speed of Internet connection from the command line.
What is Speedtest-cli
The application is basically a script developed in the Python programming language. It measures Internet Bandwidth speed bidirectionally. It uses speedtest.net infrastructure to measure the speed. Speedtest-cli is able to list servers based upon physical distance, test against the specific servers, and gives you a URL to share the result of your internet speed test.
To install the latest speedtest-cli tool in Linux systems, you must have Python 2.4-3.4 or a higher version installed on the system.
[ You might also like: How to Install Latest Python 3.6 Version in Linux ]
Install speedtest-cli in Linux
There are three ways to install the speedtest-cli tool. The first method involves the use of python-pip
package while the second method is to download the Python script, make it executable and run it and the third method is to use the package manager. Here I will cover all ways…
On this page
- Install speedtest-cli Using Python PIP
- Install speedtest-cli Using Python Script
- Install speedtest-cli Using Package Manager
Let’s get started…
Install speedtest-cli Using Python PIP
First, you need to install the python-pip package, then afterward you can install the speedtest-cli tool using the pip command as shown below.
Install PIP in Debian/Ubuntu/Mint
$ sudo apt install python-pip [Python 2] $ sudo apt install python3-venv python3-pip [Python 3]
Install PIP in CentOS/RHEL
$ sudo yum install epel-release $ sudo install python-pip
Install PIP in Fedora
$ sudo yum upgrade python-setuptools $ sudo yum install python-pip python-wheel [Python 2] $ sudo dnf install python3 python3-wheel [Python 3]
Install PIP in openSUSE
$ sudo zypper install python-pip python-setuptools python-wheel [Python 2] $ sudo zypper install python3-pip python3-setuptools python3-wheel [Python 3]
Install PIP in Arch Linux
$ sudo pacman -S python2-pip [Python 2] $ sudo pacman -S python-pip [Python 3]
Once pip has been installed, you can install the speedtest-cli tool.
$ sudo pip install speedtest-cli OR $ sudo pip3 install speedtest-cli
To upgrade speedtest-cli, at a later stage, use.
$ sudo pip install speedtest-cli --upgrade
Install speedtest-cli Using Python Script
First, download the python script from Github using the wget command or curl command and make the script file executable.
$ wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py $ chmod x speedtest-cli OR $ curl -Lo speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py $ chmod x speedtest-cli
Next, move the executable to /usr/bin
folder, so that you don’t need to type the full path every time.
$ sudo mv speedtest-cli /usr/bin/
Install speedtest-cli Using Package Manager
You can also install speedtest-cli using your default package manager as shown.
<strong>------ On Ubuntu/Debian/Mint ------</strong> $ curl -s https://install.speedtest.net/app/cli/install.deb.sh | sudo bash $ sudo apt-get install speedtest
<strong>------ On RHEL/CentOS/Fedora ------</strong> $ curl -s https://install.speedtest.net/app/cli/install.rpm.sh | sudo bash $ sudo yum install speedtest
Testing Linux Internet Connection Speed with speedtest-cli
1. To test the Download and Upload speed of your internet connection, run the speedtest-cli
command without any argument as shown below.
$ speedtest-cli
2. To check the speed result in bytes in place of bits.
$ speedtest-cli --bytes
3. Share your bandwidth speed with your friends or family. You are provided with a link that can be used to download an image.
$ speedtest-cli --share
The following picture is a sample speed test result generated using the above command.
4. Don’t need any additional information other than Ping, Download, and Upload?
$ speedtest-cli --simple
5. List the speedtest.net
server-based upon physical distance. The distance in km is mentioned.
$ speedtest-cli --list
6. The last stage generated a huge list of servers sorted on the basis of distance. How to get desired output? Say I only want to see the speedtest.net server located in Mumbai (India).
$ speedtest-cli --list | grep -i Mumbai
7. Test connection speed against a specific server. Use Server Id generated in example 5 and example 6 in above.
$ speedtest-cli --server 23647 ## Here server ID 23647 is used in the example.
8. To check the version number and help of speedtest-cli
a tool.
$ speedtest-cli --version $ speedtest-cli --help
Note: Latency reported by the tool is not its goal and one should not rely on it. The relative latency values output is responsible for the server selected to be tested against. CPU and Memory capacity will influence the result to a certain extent.
Conclusion
The tool is a must for system administrators and developers. A simple script that runs without any issue. I must say that the application is wonderful, lightweight, and do what it promises. I disliked Speedtest.net for the reason it was using flash, but speedtest-cli gave me a reason to love them.
speedtest_cli is a third-party application and should not be used to automatically record the bandwidth speed. Speedtest.net is used by millions of users and it is a good idea to Set Your Own Speedtest Mini Server.
That’s all for now, till then stay tuned and connected to Tecmint. Don’t forget to give your valuable feedback in the comments below. Like and share us and help us get spread.
The above is the detailed content of How to Test Your Internet Speed Bidirectionally from Command Line Using 'Speedtest-CLI' Tool. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Are you looking for good software to write mathematical equations? If so, this article provides the top 5 equation editors that you can easily install on your favorite Linux distribution.In addition to being compatible with different types of mathema

Linux administrators should be familiar with the command-line environment. Since GUI (Graphical User Interface) mode in Linux servers is not commonly installed.SSH may be the most popular protocol to enable Linux administrators to manage the servers

Gogo is a remarkable tool to bookmark directories inside your Linux shell. It helps you create shortcuts for long and complex paths in Linux. This way, you no longer need to type or memorize lengthy paths on Linux.For example, if there's a directory

PPA is an important tool for Ubuntu users to expand their software sources. 1. When searching for PPA, you should visit Launchpad.net, confirm the official PPA in the project official website or document, and read the description and user comments to ensure its security and maintenance status; 2. Add PPA to use the terminal command sudoadd-apt-repositoryppa:/, and then run sudoaptupdate to update the package list; 3. Manage PPAs to view the added list through the grep command, use the --remove parameter to remove or manually delete the .list file to avoid problems caused by incompatibility or stopping updates; 4. Use PPA to weigh the necessity and prioritize the situations that the official does not provide or require a new version of the software.

LXD is described as the next-generation container and virtual machine manager that offers an immersive for Linux systems running inside containers or as virtual machines. It provides images for an inordinate number of Linux distributions with support

How to quickly generate test files of a specified size? It can be achieved using command line tools or graphical software. On Windows, you can use fsutilfilecreatenew file name size to generate a file with a specified byte; macOS/Linux can use ddif=/dev/zeroof=filebs=1Mcount=100 to generate real data files, or use truncate-s100M files to quickly create sparse files. If you are not familiar with the command line, you can choose FSUtilGUI, DummyFileGenerator and other tool software. Notes include: pay attention to file system limitations (such as FAT32 file size upper limit), avoid overwriting existing files, and some programs may

The key to installing dual systems in Linux and Windows is partitioning and boot settings. 1. Preparation includes backing up data and compressing existing partitions to make space; 2. Use Ventoy or Rufus to make Linux boot USB disk, recommend Ubuntu; 3. Select "Coexist with other systems" or manually partition during installation (/at least 20GB, /home remaining space, swap optional); 4. Check the installation of third-party drivers to avoid hardware problems; 5. If you do not enter the Grub boot menu after installation, you can use boot-repair to repair the boot or adjust the BIOS startup sequence. As long as the steps are clear and the operation is done properly, the whole process is not complicated.

Node Version Manager (NVM) is a simple bash script that helps manage multiple Node.js versions on your Linux system. It enables you to install various Node.js versions, view available versions for installation, and check already installed versions.NV
