Speedtest CLI: Command-Line Internet Speed Testing

by Jhon Lennon 51 views

Are you a tech enthusiast or a network admin looking for a quick and efficient way to check your internet speed directly from the command line? Look no further! The Speedtest CLI, brought to you by Speedtest by Ookla, is a powerful tool that allows you to perform internet speed tests without needing a web browser. In this comprehensive guide, we'll delve into everything you need to know about the Speedtest CLI, from installation to advanced usage.

What is Speedtest CLI?

The Speedtest CLI is a command-line interface that lets you run speed tests using the familiar Speedtest.net infrastructure. It's designed for users who prefer a text-based interface or need to automate speed tests as part of scripts or monitoring systems. Unlike the graphical interface of the website, the CLI provides a streamlined, no-frills experience focused on delivering accurate and consistent results. It measures your download speed, upload speed, and ping (latency), giving you a clear picture of your internet connection's performance. This is particularly useful when you're diagnosing network issues, optimizing your home or office network, or simply curious about whether you're getting the speeds you're paying for from your ISP. The tool is lightweight, easy to install, and provides results in a clean, readable format directly in your terminal. Whether you're a seasoned developer or a casual user, the Speedtest CLI offers a convenient way to stay on top of your internet speed.

Installation

Getting the Speedtest CLI up and running is a straightforward process. Here’s how to install it on various operating systems:

Windows

  1. Download the Executable: Head over to the official Speedtest CLI download page (https://www.speedtest.net/apps/cli) and grab the Windows executable.
  2. Extract the ZIP File: Once downloaded, extract the contents of the ZIP file to a location of your choice, such as C:\Speedtest.
  3. Add to PATH (Optional): For easier access, add the directory containing the speedtest.exe file to your system's PATH environment variable. This allows you to run the speedtest command from any command prompt window. To do this, search for "environment variables" in the Start menu, click "Edit the system environment variables," then click "Environment Variables." Under "System variables," find "Path," click "Edit," and add the path to your Speedtest directory. Click "OK" on all windows to save the changes.

macOS

  1. Using Homebrew (Recommended): If you have Homebrew installed, simply open your terminal and run:

    brew install speedtest-cli
    
  2. Manual Installation: If you prefer a manual approach, download the macOS binary from the Speedtest CLI download page. Then, extract the ZIP file to a directory like /usr/local/bin. You might need to use the chmod +x command in the terminal to make the speedtest file executable.

Linux

  1. Download the Binary: Visit the Speedtest CLI download page and download the appropriate Linux binary for your system architecture (e.g., 32-bit or 64-bit).

  2. Extract and Move: Extract the downloaded file to a directory such as /usr/local/bin. Use the following commands in the terminal:

    tar xzvf speedtest_linux.tgz -C /usr/local/bin
    cd /usr/local/bin
    sudo chmod +x speedtest
    

Verifying Installation

To ensure the installation was successful, open your command prompt or terminal and type:

speedtest -v

This command displays the version number of the Speedtest CLI, confirming that it's correctly installed and accessible from your command line.

Basic Usage

Once you've installed the Speedtest CLI, using it is incredibly simple. Just open your command prompt or terminal and type:

speedtest

This command initiates a speed test, automatically selecting the best server based on your location and network conditions. The CLI then performs a series of tests to measure your download speed, upload speed, and ping (latency). The results are displayed in a clear and concise format directly in your terminal. Understanding the basic usage is crucial for anyone wanting to quickly assess their internet performance. It's the quickest way to get a snapshot of your current connection quality. By default, the CLI provides all essential metrics, making it easy for even non-technical users to gauge their internet speed. This simplicity makes it a go-to tool for on-the-spot checks and troubleshooting. Knowing how to run a basic speed test is the foundation for more advanced usage and customization, allowing you to tailor the tests to your specific needs and preferences.

Advanced Options

The Speedtest CLI offers a range of advanced options to customize your speed tests. Here are some useful commands and parameters:

  • List Servers: To see a list of available Speedtest servers, use:

    speedtest --list
    

    This command displays a list of servers along with their ID, name, and distance from your location. This is useful if you want to target a specific server for your tests. Choosing a server closer to your location can often provide more accurate results, especially if you suspect issues with your connection to a particular server.

  • Specify Server: To test against a specific server, use the --server option followed by the server ID:

    speedtest --server [server ID]
    

    Replace [server ID] with the actual ID of the server you want to use. This is helpful when you want to compare your speed against a known, reliable server. For example, if you consistently test against the same server, you can track your internet performance over time.

  • Simple Output: For a simplified output format, use the --simple option:

    speedtest --simple
    

    This provides a cleaner, more concise output, displaying only the ping, download speed, and upload speed. This is perfect for scripts or situations where you need to parse the results programmatically. The --simple option strips away the extra details, giving you just the essential numbers.

  • Bytes Output: To display speeds in bytes instead of bits, use the --bytes option:

    speedtest --bytes
    

    This can be useful if you're more comfortable working with bytes. While most internet speeds are reported in bits per second (bps), some users prefer to see the results in bytes per second (Bps). The --bytes option provides that alternative view.

  • Share Results: To generate a shareable URL of your test results, use the --share option:

    speedtest --share
    

    This uploads your results to Speedtest.net and provides a URL that you can share with others. Sharing your results can be useful when you're troubleshooting with your ISP or comparing your speeds with friends or colleagues. The generated image includes a visual representation of your test results.

  • Accept License: To accept the license agreement, use the --accept-license option:

    speedtest --accept-license
    

    You only need to use this option once. Accepting the license is a prerequisite for using the Speedtest CLI. If you forget to do this, the CLI will prompt you to accept it before running any tests.

Use Cases

The Speedtest CLI is a versatile tool with numerous applications. Here are a few common use cases:

  • Network Troubleshooting: When experiencing slow internet speeds, use the Speedtest CLI to diagnose the problem. By comparing your results with your expected speeds, you can quickly identify whether the issue lies with your ISP or your local network.
  • Automated Monitoring: Integrate the Speedtest CLI into scripts to automatically monitor your internet connection's performance over time. This can help you track trends and identify potential issues before they become critical.
  • Server Performance Testing: If you're a system administrator, use the Speedtest CLI to test the network performance of your servers. This ensures that your servers have sufficient bandwidth to handle the expected traffic.
  • Remote Testing: The Speedtest CLI is perfect for testing internet speeds on remote servers or devices without a graphical interface. This is especially useful for headless systems or IoT devices.
  • Verifying ISP Claims: Use the Speedtest CLI to verify that you're receiving the internet speeds you're paying for from your ISP. If your speeds consistently fall short, you can use the test results as evidence when contacting your ISP for support. Always keep records of your tests for comparison.

Troubleshooting

Even with a straightforward tool like the Speedtest CLI, you might encounter some issues. Here are some common problems and their solutions:

  • Command Not Found: If you receive a "command not found" error, ensure that the Speedtest CLI is correctly installed and that its directory is added to your system's PATH environment variable.
  • Connection Errors: If you encounter connection errors, check your internet connection and firewall settings. Make sure that the Speedtest CLI is allowed to access the internet.
  • Inaccurate Results: Inaccurate results can be caused by various factors, such as network congestion or server issues. Try testing against different servers or at different times of the day to see if the results improve. Also, close any bandwidth-intensive applications that might be running in the background.
  • License Agreement: If you haven't accepted the license agreement, the Speedtest CLI will prompt you to do so before running any tests. Use the --accept-license option to accept the agreement.
  • Outdated Version: Ensure you're using the latest version of the Speedtest CLI to benefit from bug fixes and performance improvements. Check the official Speedtest website for the latest version.

Conclusion

The Speedtest CLI is an invaluable tool for anyone who needs to quickly and accurately measure their internet speed from the command line. Its ease of use, combined with its advanced options, makes it suitable for a wide range of users, from casual home users to network administrators. By following this comprehensive guide, you can effectively install, use, and troubleshoot the Speedtest CLI to ensure you're always getting the internet speeds you expect. So go ahead, give it a try, and stay on top of your network performance! It is very important you understand the Speedtest CLI usage. If you have any further question, research more about it or ask for help from a professional.