9 Command Line Tools for Browsing Websites and Downloading Files in Linux

In the last article, we have covered few useful tools like ‘rTorrent‘, ‘wget‘, ‘cURL‘, ‘w3m‘, and ‘Elinks‘. We got lots of responses to cover few other tools of the same genre, if you’ve missed the first part you can go through it.

This article aims to make you aware of several other Linux command Line browsing and downloading applications, which will help you browse and download files within the Linux shell.

1. links

Links is an open-source web browser written in C programming Language. It is available for all major platforms viz., Linux, Windows, OS X, and OS/2.

This browser is text-based as well as graphical. The text-based links web browser is shipped by most of the standard Linux distributions by default. If links not installed in your system by default you may install it from the repo. Elinks is a fork of links.

$ sudo apt install links    (on Debian, Ubuntu, & Mint)
$ sudo dnf install links    (on Fedora, CentOS & RHEL)
$ sudo pacman -S links      (on Arch and Manjaro)
$ sudo zypper install links (on OpenSuse)

After installing links, you can browse any websites within the terminal as shown below in the screencast.

$ links www.tecmint.com

Use UP and DOWN arrow keys to navigate. The right arrow Key on a link will redirect you to that link and the Left arrow key will bring you back to the last page. To QUIT press q.

Here is how it seems to access Tecmint using the links tool.

links: Commandline Web Browsing

If you are interested in installing the GUI of links, you may need to download the latest source tarball (i.e. version 2.22) from http://links.twibright.com/download/.

Alternatively, you may use the following wget command to download and install as suggested below.

$ wget http://links.twibright.com/download/links-2.22.tar.gz
$ tar -xvf links-2.22.tar.gz
$ cd links-2.22
$ ./configure --enable-graphics
$ make
$ sudo make install

Note: You need to install packages (libpng, libjpeg, TIFF library, SVGAlib, XFree86, C Compiler and make), if not already installed to successfully compile the package.

2. links2

Links2 is a graphical web browser version of Twibright Labs Links web browser. This browser has support for mouse and clicks. Designed especially for speed without any CSS support, fairly good HTML and JavaScript support with limitations.

To install links2 on Linux.

$ sudo apt install links2    (on Debian, Ubuntu, & Mint)
$ sudo dnf install links2    (on Fedora, CentOS & RHEL)
$ sudo pacman -S links2      (on Arch and Manjaro)
$ sudo zypper install links2 (on OpenSuse)

To start links2 in command-line or graphical mode, you need to use the -g an option that displays the images.

$ links2 tecmint.com
OR
$ links2 -g tecmint.com
links2 in commandline mode
links2 in command-line mode
links2 in graphical mode
links2 in graphical mode

3. lynx

A text-based web browser released under GNU GPLv2 license and written in ISO C. lynx is a highly configurable web browser and Savior for many sysadmins. It has the reputation of being the oldest web browser that is being used and still actively developed.

To install lynx on Linux.

$ sudo apt install lynx    (on Debian, Ubuntu, & Mint)
$ sudo dnf install lynx    (on Fedora, CentOS & RHEL)
$ sudo pacman -S lynx      (on Arch and Manjaro)
$ sudo zypper install lynx (on OpenSuse)

After installing lynx, type the following command to browse the website as shown below in the screencast.

$ lynx www.tecmint.com

lynx: Command Line Web Browsing

If you are interested in knowing a bit more about links and lynx web browser, you may like to visit the below link:

4. youtube-dl

youtube-dl is a platform-independent application that can be used to download videos from youtube and a few other sites. Written primarily in python and released under GNU GPL License, the application works out of the box. (Since youtube doesn’t allow you to download videos, it may be illegal to use it. Check the laws before you start using this.)

To install youtube-dl in Linux.

$ sudo apt install youtube-dl    (on Debian, Ubuntu, & Mint)
$ sudo dnf install youtube-dl    (on Fedora, CentOS & RHEL)
$ sudo pacman -S youtube-dl      (on Arch and Manjaro)
$ sudo zypper install youtube-dl (on OpenSuse)

After installing, try to download files from the Youtube site, as shown in the below screencast.

$ youtube-dl https://www.youtube.com/watch?v=ql4SEy_4xws

youtube-dl: Download Youtube Videos in Commandline

If you are interested in knowing more about youtube-dl you may like to visit the below link:

5. fetch

fetch is a command-line utility for a Unix-like operating system that is used for URL retrieval. It supports a lot of options like fetching ipv4 only address, ipv6 only address, no redirect, exit after successful file retrieval request, retry, etc.

Fetch can be Downloaded and installed from the link below

http://sourceforge.net/projects/fetch/?source=typ_redirect

But before you compile and run it, you should install HTTP Fetcher. Download HTTP Fetcher from the link below.

http://sourceforge.net/projects/http-fetcher/?source=typ_redirect

6. Axel

Axel is a command-line-based download accelerator for Linux. Axel makes it possible to download a file at a much faster speed through a single connection request for multiple copies of files in small chunks through multiple http and FTP connections.

To install Axel in Linux.

$ sudo apt install axel    (on Debian, Ubuntu, & Mint)
$ sudo dnf install axel    (on Fedora, CentOS & RHEL)
$ sudo pacman -S axel      (on Arch and Manjaro)
$ sudo zypper install axel (on OpenSuse)

After axel installed, you may use the following command to download any given file, as shown in the screencast.

$ axel https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso

Commandline File Download Accelerator for Linux

7. aria2

aria2 is a command-line-based download utility that is lightweight and supports multi-protocol (HTTP, HTTPS, FTP, BitTorrent, and Metalink). It can use meta link files to simultaneously download ISO files from more than one server. It can serve as a Bit torrent client as well.

To install aria2 in Linux.

$ sudo apt install aria2    (on Debian, Ubuntu, & Mint)
$ sudo dnf install aria2    (on Fedora, CentOS & RHEL)
$ sudo pacman -S aria2      (on Arch and Manjaro)
$ sudo zypper install aria2 (on OpenSuse)

Once aria2 installed, you can fire up the following command to download any given file…

$ aria2c https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso

Aria2: Command Line Download Manager for Linux

If you’re interested to know more about aria2 and its switches, read the following article.

8. w3m

w3m is another open-source text-based web browser very similar to lynx, which runs on a terminal. It uses emacs-w3m an Emacs interface for w3m to browse websites within the emacs interface.

To install w3m in Linux.

$ sudo apt install w3m    (on Debian, Ubuntu, & Mint)
$ sudo dnf install w3m    (on Fedora, CentOS & RHEL)
$ sudo pacman -S w3m      (on Arch and Manjaro)
$ sudo zypper install w3m (on OpenSuse)

After installing w3m, fire up the following command to browse the website as shown below.

$ w3m www.tecmint.com
w3m Terminal Browser
w3m Terminal Browser

9. Browsh

Browsh is a modern text-based browser that shows anything like a modern browser does such as HTML5, CSS3, JS, video, and even WebGL. Its major role is to be run on a remote server via SSH or Mosh and browse the web pages as text from the terminal by significantly reducing bandwidth and increase browsing speed.

It means the server downloads the web pages and utilizes the minimum bandwidth of an SSH connection to show the web page results. However, standard text-based browsers lack JS and all other HTML5 support.

Browsh Web Browsing
Browsh Web Browsing

To install Browsh on Linux, you need to download a binary package and install it using the package manager.

That’s all for now. I’ll be here again with another interesting topic you people will love to read. Till then stay tuned and connected to Tecmint. Don’t forget to provide us with your valuable feedback in the comments below. Like and share us and help us get spread.

Hey TecMint readers,

Exciting news! Every month, our top blog commenters will have the chance to win fantastic rewards, like free Linux eBooks such as RHCE, RHCSA, LFCS, Learn Linux, and Awk, each worth $20!

Learn more about the contest and stand a chance to win by sharing your thoughts below!

Avishek
A Passionate GNU/Linux Enthusiast and Software Developer with over a decade in the field of Linux and Open Source technologies.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

9 Comments

Leave a Reply
  1. Browsh is one more terminal browser that is able to display images and videos (poor ASCII quality). Also, wget and curl for downloading files.

    Reply
  2. links2 is wonderful for simpler webpages in GUI mode. RAM usage is practically zilch and it handles some JS to boot. Was playing around with it for about 1/2 an hour just now. You can get some decent color (text, link, background) combos too and it does local file navigation very nicely (input url: “file://”)

    between, was looking for a simple terminal-based markdown viewer and came across ‘Terminal Markdown Viewer’ (mdv at github). It’s one of the few that’s python-based (pip install) and does a really nice job rendering MD locally. I suppose this makes it a subClass of the more able full-fledged browsers.

    Lynx works well too because it at least colorizes certain tags – so the output looks nice:

    pandoc filename.md | lynx -stdin
    

    Also… finding that w3m does MD locally pretty well via pandoc, though the output is blander but the html support is actually stronger than I expected:

    pandoc filename.md | w3m -T text/html
    

    Anyway, thought I’d share a specific use-case.

    Reply
  3. Great article. Can any of these tools be used over ssh? I am looking for a tool that can resume downloads over ssh if interrupted other than rsync (not supported on the system)

    Reply
  4. Thanks a lot, very useful tutorial,

    I am using “youtube-dl” for downloading playlist and videos Very nice tool, following will give you max quality with HD [22]

    youtube-dl -i –playlist-start 1 –max-quality 22 “URL”

    Thanks,
    Kiran Patil

    Reply

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.