links is a text-mode browser, and this guide turns the same browsing work into commands you can check or script. The installed package here is links 2.29-1build6, and the executable reports Links 2.29. Allow about fifteen minutes. You need a shell, a URL or local HTML file, and permission to read the destination. The examples only read pages unless you deliberately save downloads or change browser settings.
Checkpoint: The quickest useful result is links -dump https://example.com/. It prints formatted page text and exits, so it works in a terminal without an interactive session.
Check which executable will run and record its version:
$ command -v links
/usr/bin/links
$ links -version
Links 2.29
The www-browser manpage on this system is an identical alias for the links manpage. If a script calls www-browser, check its target with command -v www-browser and do not assume that another distribution uses the same package layout.
Use -dump when you want formatted text on standard output:
$ links -dump https://example.com/
The command renders the document for output rather than opening the ncurses interface. Links and headings are represented in the text output, but this is not a substitute for checking the page in a graphical browser. The URL may be an HTTP, HTTPS, FTP or local file:// URL according to the installed manual.
To make wrapping reproducible, add a width:
$ links -dump -width 72 https://example.com/ > example.txt
$ sed -n '1,40p' example.txt
-width controls formatting for -dump. A long unbreakable line can still exceed it. The redirection creates or truncates example.txt, so choose a new filename when the existing report matters. To replace a report safely, write to a temporary name, inspect it, then use mv only after the command succeeds.
Checkpoint: A successful dump gives you readable output and a zero exit status. Capture the status immediately if a script depends on it:
$ links -dump https://example.com/ > /tmp/example-links.txt
$ printf '%s\n' "$?"
0
Use -source when you need the unformatted response body:
$ links -source https://example.com/ > example.html
$ sed -n '1,20p' example.html
This is useful for a small inspection pipeline, but it does not make the response trustworthy. Treat downloaded HTML as data. Do not pipe it into a shell, an interpreter or an editor command that executes embedded instructions. If you only need to see the rendered words, use -dump and avoid creating a file.
-force-html changes how files with an unknown type are treated. It does not repair invalid HTML, and it is not needed for a normal HTTP page with a useful content type. Use it only when you have a specific local or remote document whose type is misleading:
$ links -dump -force-html file:///path/to/page.data
Start an interactive session with a URL. -no-g forces the text driver if a previous setting or launcher requested graphics:
$ links -no-g https://example.com/
Use the arrow keys or Tab to move between links, Enter to follow the selected link, and Left to go back. Page Down or Space moves down; b moves up. Press g to enter a URL, / to search the current page, n for the next match, and q to quit. Q quits without asking, so use ordinary q when you want the normal exit prompt.
Press \ to toggle between rendered HTML and source view. That view is for inspection, not validation: a page can contain misleading markup or links. d starts downloading the selected link, which changes local state and can consume disk space. Check the destination before accepting a download, and do not grant elevated privileges merely to browse a page.
The manpage gives the installed defaults for several connection controls: up to 10 concurrent connections overall, up to 2 to one host, 3 retries, a 120-second receive timeout and a 600-second timeout for non-restartable connections. These affect waiting and load, not the content's trustworthiness. For a bounded one-off text check, set only the limit you have a reason to change:
$ links -dump -retries 1 -receive-timeout 30 https://example.com/
Proxy options are named -http-proxy, -https-proxy, -ftp-proxy and -socks-proxy. An empty proxy is the documented default. A proxy can observe or alter traffic according to its policy, so use the proxy required by your network rather than copying a value from an unrelated shell session. -only-proxies 1 prevents non-proxy connections, which is useful only when you have configured the required proxy and want a failure instead of a direct connection.
HTTPS certificate handling deserves a deliberate choice. -ssl.certificates 1 is the default and warns about an invalid certificate; 2 rejects it; 0 ignores it. Do not use 0 to silence a warning in a script that handles credentials or sensitive information. A warning is a checkpoint to inspect the URL, clock, trust store and network path.
Cookies and history are separate settings. The manpage lists -enable-cookies, -save-cookies and -save-url-history. If you do not need a session, prefer a dump command and avoid interactive state. Never put a password in a command line option or a captured shell transcript. The browser's per-user configuration is ~/.links2/links.cfg, created automatically by links; protect it as user data and review it before copying it to another account.
First separate a missing command from a network or document problem:
$ command -v links
$ links -version
$ links -dump https://example.com/ > /tmp/example-links.txt
$ printf 'exit=%s\n' "$?"
If command -v finds nothing, install the distribution's links package through its normal package manager. If version output works but the dump fails, inspect the URL, DNS, proxy and certificate message. Try a known local file with file:///path/to/page.html to distinguish browser rendering from network access. For a page that is empty or badly wrapped, compare -dump with -source, and try an explicit -width. Do not treat a successful fetch as proof that links, forms, frames or scripts behave as they would in a modern browser.
No step in this guide requires sudo. If a local file or download directory is inaccessible, fix ownership or permissions through the system's normal change process rather than running the browser as root. Running a browser with elevated privileges increases the impact of a malicious page or viewer association.
links -version reports the installed build you expect.-dump gives repeatable readable output, with -width when wrapping matters.-source is used only when raw data is actually required.