How to measure Internet speed using terminal in Linux

This are methods you can use to measure the Internet bandwidth, speed, delay etc.. in Linux terminal:

Speedtest.net

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

or:

sudo apt-get install python-setuptools
easy_install speedtest-cli

This 2nd solution worked on AWS Ubuntu 13.04 Server and it needed ~3Mb (python-setuptools) to download versus ~80Mb for python-pip

Wget

wget --output-document=/dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zip

iperf

This measures the bandwidth between two locations where one is set as a server and another as a client.

Start up server listening on port 8888. By default it is TCP port 5001 and TCP window size 64.0KB.

/opt/systems/bin/iperf -s -p 8888

Connect client to server on port 8888

/opt/systems/bin/iperf -c your.server.com -l 1300 -p 8888 -P 10

Switches:

-t option used in the above command tells to transfer data for X seconds
-p will tell the client to connect the port 8888 on the server
-w will specify your desired window size value
-u options needs to be also used on the client side for specifying UDP traffic in case server iperf -s -u was used
-P divide results into X time frames aka lines printed
-f m displays results in megabytes