Use GNU info to Find, Read and Export Manuals
GNU info reads a manual node by node instead of dumping a wall of text. This guide gets you finding, opening and exporting one in about ten minutes, using GNU texinfo 7.1, installed here as package info version 7.1-3build2. You need a shell and a readable Info document; none of the examples require elevated privileges.
The route
Jump straight to the step you need, or tick off Done means at the end.
infobrowser is an alias manpage for the same program and interface. The command itself is info.
1. Check the installed reader
Confirm which executable your shell runs, then check its version. These are read-only:
$ command -v info
/usr/bin/info
$ info --version
info (GNU texinfo) 7.1
$ dpkg-query -W -f='${Package} ${Version}\n' info
info 7.1-3build2
The version matters when you are comparing examples from another system: the option names and navigation model here match the installed 7.1 manpage.
Checkpoint
If command -v info finds nothing, install the distribution package that provides GNU Info before going further. You should not need sudo beyond what your package manager itself requires.
2. Open the top-level catalogue
Run info with no arguments to open the merged top-level directory of manuals:
$ info
This is an interactive terminal reader, not ordinary shell output, so do not expect a prompt back until you leave it. Press H inside Info for a summary of key bindings: Space moves forwards, Backspace moves backwards, and q quits.
The most common trip-up is treating everything on screen as a shell command. Info is node-based: a manual splits into named sections, and menu entries or links move you between them.
3. Start at a named manual
Pass a menu item as the first non-option argument. This opens the stand-alone Info manual:
$ info info-stnd
Likewise, info emacs opens the Emacs manual if it is installed. The name gets looked up in the dir files along INFOPATH, and it is not necessarily a filename you can see sitting in the current directory.
To see where a manual lives without opening it, use --where:
$ info --where info
/usr/share/info/info-stnd.info.gz
Output varies with installed packages and local Info directories. If a manual is missing, check the spelling first, then whether its package is even installed. A path from --where is good evidence the reader can actually find that manual.
4. Jump to a node
Use -n or --node to pick a node in the first manual you visit. This opens the Files node in the Emacs manual directly:
$ info emacs -n Files
Some node names contain spaces or punctuation, so quote a full node reference when you need to. The manpage also documents the parenthesised form:
$ info '(emacs)Files'
Those are alternatives, not commands to chain together. If the node is not found, check the manual's menu and use the exact name it shows: do not guess a node name from a web page written for another version.
Checkpoint
You should now be able to open a manual and reach a named section. Press q before heading back to the shell.
5. Search all installed indices
Use -k or --apropos to search the indices of every available manual:
$ info --apropos='copy'
"(gmp)Copying" -- Conditions for copying GNU MP
"(gmp)Copying" -- Copying conditions
"(gmp)Low-level Functions" -- mpn_copyd
The output depends entirely on what is installed on your machine. No matches is a valid result, not a cue to start poking at INFOPATH. Try a shorter or more exact term, and confirm a relevant manual exists with info --where MANUAL.
--index-search=STRING jumps straight to the node named by an index entry in the first Info file you visit, which is more targeted than a broad catalogue search:
$ info --index-search='files' coreutils
Index wording is manual-specific, so one failed search does not prove the subject is undocumented.
6. Export a node or manual
Use -o FILE or --output=FILE when you need plain text for a ticket, a review or offline reading. This exports the complete stand-alone Info manual:
$ info --subnodes --output=/tmp/info-stnd.txt info-stnd
$ sed -n '1,12p' /tmp/info-stnd.txt
File: info-stnd.info, Node: Top, Next: Stand-alone Info, Up: (dir)
Stand-alone GNU Info
--subnodes pulls in the manual's menu items recursively. Without it, output is limited to the nodes you actually selected. The output file gets overwritten if it already exists, so pick a new path or check the destination first.
For a single node, combine --file, --node and --output:
$ info --file=/usr/share/info/coreutils.info.gz --node='cp invocation' --output=/tmp/cp-invocation.txt
$ sed -n '1,10p' /tmp/cp-invocation.txt
File: coreutils.info, Node: cp invocation, Next: dd invocation, Up: Basic operations
11.1 'cp': Copy files and directories
The exact text depends on the installed manual; this example was verified against the local Info install. These commands create or replace files under /tmp, so clear them out once you no longer need them, and do not export sensitive documentation into a shared directory without checking its permissions first.
7. Use a local manual file
-f or --file tells Info to open one specific manual instead of searching the directory catalogue:
$ info --file=./foo.info
Swap in a real Info file for ./foo.info. A relative path resolves from the current directory, so run test -r ./foo.info && echo readable first: that catches the common mistake of passing a package name when you actually meant a local file.
8. Keep configuration changes out of a reading task
-d DIR adds a directory to INFOPATH, and -v VAR=VALUE assigns an Info variable for the session. Neither installs manuals or edits system configuration; they only change how the reader locates or interprets documents.
Use them only once you actually understand the document layout you are chasing. Start with info --where and an explicit --file path instead of editing a global shell profile just because one manual went missing. Nothing in this guide restarts a service or leaves a persistent change behind, and any files you exported to /tmp can be deleted without touching Info itself.
Done means
- Version confirmed: you confirmed the executable and installed GNU texinfo version.
- Navigation works: you can open the catalogue or a named manual and leave it with
q. - Lookup works: you can locate a manual with
--whereand jump straight to a named node. - Search scope understood: you know
--apropossearches installed Info indices, not the whole web. - Export works: you can export a complete manual or one node, checking overwrite and permission risks first.
- No side effects: you changed no packages, shell configuration or system services.