Linux info Command: Browse GNU Documentation

info is a command to read Info format manuals of GNU programs in the terminal. If man is closer to a reference document that you read page by page, up and down, info divides the document into units called nodes and links them with menus and cross-references, allowing you to navigate it like a book.

For programs with extensive documentation like GNU Coreutils, Info documents often provide more detailed explanations of concepts, interactions of options, and examples. This article explains how to open documents, move between nodes and menus, search the text and index, go directly to a specific location in the document, and what to do if the document is missing.

What is the info command?

info is a text-based document viewer that reads Info files created with the Texinfo documentation system. Typically, Info files are installed in directories like /usr/share/info, and a single manual is divided into multiple nodes forming a hierarchical structure.

Info documents may include menus for moving to subtopics, cross-references pointing to other nodes or manuals, and subject-specific indexes. They are suitable not only for reading the required items in order but also for following related explanations or looking up terms in the index.

Basic syntax and how to start

The basic syntax of GNU Info is as follows. Square brackets indicate optional items, and ellipses mean that multiple items can be specified, so they are not entered in the actual command.

info [options...] [manual] [menu-or-index-item...]

If run without any arguments, the top-level directory menu collecting the Info documents registered in the system will open.

info

The general usage guide for info itself and the detailed manual of the standalone GNU Info can be opened as follows.

info info
info info-stnd

If a specific program name is specified, it searches for the related entry in the top-level directory and navigates to that manual or node.

info ls
info coreutils

info ls can link to the ls-related node inside the GNU Coreutils manual, rather than a separate ls.info file. This is because top-level directory entries can directly point to specific nodes within a manual.

Understanding the structure of Info documents

When first run, it may feel complicated due to terms that differ from regular web pages or man. Understanding the following four concepts makes it easier to grasp the document structure.

Terminology Meaning
Node Info documents are composed of pages. Often, one page corresponds to a chapter or section.
Menu A list that allows you to move to subtopics or related items of the current node.
Cross-reference (Xref) A link to another node or another Info manual related to the current description.
Directory Node The top-level menu that classifies and displays multiple Info manuals registered in the system.

At the top of the screen, the current file and node names, as well as navigation targets such as Next, Prev, and Up may be displayed. In the lower mode line, the status such as the current manual, node, and position within the document is shown.

Keys used for moving the screen and navigating documents

The table below is based on the default keys of the standalone GNU Info. Some keys may differ depending on user settings or the --vi-keys option.

Key Action
Space Move to the next screen, and at the end of a node, continue to the next node.
Backspace, Delete Move to the previous screen. Keys may vary depending on the terminal.
n Move to the Next node of the current node.
p Move to the Prev node of the current node.
u Move to the Up node one level above.
t Move to the Top node of the current Info file.
d Move to the directory node that collects the installed manuals.
l Return to the node previously viewed from the visit history.
m Enter a name to select a menu item in the current node.
Tab, Shift+Tab Move the cursor to the next or previous menu/cross-reference item on the screen.
Enter Open the menu item or cross-reference where the cursor is placed.
H Open a help window summarizing the basic keys.
h Move to a help node explaining how to use Info.
q Exit Info.

When using it for the first time, it is recommended to open info info-stnd, press H to check the basic keys, and read the document using Space and Backspace.

How to follow menus and cross-references

Selecting items on the screen with Tab and Enter

If a menu or cross-reference is visible on the screen, you can move between items with Tab and select with Enter. Shift+Tab returns to the previous item. This is the most intuitive navigation method when you do not yet know the document structure.

Entering menu names with m

Press m to enter the menu item name in the input area at the bottom of the screen. You can then type part of the name and use Tab to check the items that can be completed, making it easy to move quickly in a long menu.

After reading another document by following the menu, use l to return to the original position. If you want to move to a higher node in the structure, you should use u instead of the visit history.

How to search for the desired content within the document

Searching text in the main body

Press s or / and then enter the search term to find the string in the current Info file. A search term without uppercase letters is case-insensitive by default, and a search term with uppercase letters is case-sensitive.

? searches in the opposite direction (backwards). Incremental search, where results are shown as you type, uses Ctrl+s, and reverse incremental search uses Ctrl+r.

Finding topics in the index

i searches for the entered term in the index of the current manual and moves to the node pointed to by the first matching entry. This can be faster and more accurate than searching the entire text when looking for option names or concepts in long manuals.

I collects matching index entries into a virtual node for display. After an i search, pressing the comma key (,) moves to the next matching index entry.

Searching all installed Info indexes

If you do not know which manual contains the explanation, use the -k or --apropos option in the shell. This searches the indexes of all installed Info files, so it may take time if there are many documents.

info -k permissions
info --apropos='regular expression'

Jumping Directly to a Specific Manual and Node

Open by Manual or Program Name

If you know the manual name, you can specify it directly. The entire GNU Coreutils documentation can be opened as follows.

info coreutils

If program-specific entries are registered in the top-level directory, you can go directly to the relevant node within the manual using just the program name.

info ls
info cp
info date

These commands assume that GNU Coreutils is installed and that the Info directory entries are properly registered.

Specifying a Node Name

You can specify the initial node to open with -n or --node. Node names with spaces should be enclosed in quotes so they are passed as a single argument to the shell.

info coreutils -n 'ls invocation'

You can also specify the Info cross-reference format (manual)node as a single argument. Enclose the entire string in quotes so that parentheses and spaces are not interpreted by the shell.

info '(coreutils)ls invocation'

The node name may vary depending on the installed document version. If you are unsure of the exact name, it is safer to first navigate using info ls or an index search.

Finding nodes that explain how to execute commands

-O, --show-options, or --usage find Invocation nodes that explain how to run the specified program from the command line.

info ls -O
info --show-options coreutils

Depending on the documentation structure, you may not find a suitable Invocation node. In that case, open it with info program and use i index search.

Frequently used info options

The options below are based on standalone GNU Info. For the full options of the installed version, check info --help or info info-std.

Option Description
-k string, --apropos=string Search for the string in the index of all installed Info files.
-n node, --node=node Specifies the node to visit first.
-f manual, --file=manual Opens a specific Info file or manual without listing directory entries.
-w, --where Prints the path of the Info file that would be selected without opening the document.
-d path, --directory=path Adds a search path for Info files. Can be specified multiple times.
-o file, --output=file Instead of an interactive screen, outputs the content of the node to visit as a file.
--subnodes Used with --output to recursively output the sub-nodes of the menu.
-O, --show-options Finds the node that covers the program's command-line usage.
--vi-keys Rebinds some keys in a way closer to vi and Less.
--version Outputs the version of the installed Info.

Check the location of the Info file and output text.

Verify the actual document file being selected.

-w outputs the location of the file Info selects without opening the document. This allows you to check which document is read when multiple files with the same name exist in the search path.

info -w coreutils

In environments that support all matching file paths, it can be used with --all.

info --all --where coreutils

Exporting documents to a text file

With -o, you can record the content to a file instead of the interactive screen. Using --subnodes together will recursively output the subnodes linked by the menu.

info --subnodes -o coreutils.txt coreutils

If you specify - as the output file, you can send it to standard output, making it easy to connect with other commands.

info -o - coreutils | less

Since the entire manual can be very large, first consider the file size and the scope you need. If only specific nodes are needed, it is efficient to use -n together.

Specifying user documents and search paths

Directly opening local Info files

Info files in the current directory can be opened by specifying a relative path. If a slash is included in the path, it targets the file in that location rather than the general search path.

info ./project.info
info -f ./project.info

Compressed Info files can also be read directly if the format is supported by the implementation.

Specifying Additional Search Directories

You can add directories to search for documents using -d. This is useful for temporarily opening the documentation of tools installed outside the system path.

info -d /opt/example/share/info example

Persistent search paths can be influenced by the INFOPATH environment variable. If you set the value directly, the inclusion of default paths may change, so first check the current state and the result of info -w manual.

printf '%s\n' "$INFOPATH"
info -w info-stnd

Differences between info and man

Category info man
Document Structure Hierarchical documents connected by nodes, menus, cross-references, and indexes Typically linear documents read from top to bottom on a single page
Suitable uses When reading concepts, chapter explanations, long examples, and related topics in depth When quickly checking grammar, options, files, and exit statuses
Main targets Software that provides GNU programs and Texinfo documents Commands, configuration files, system calls, library functions, etc.
Navigation methods Menu/node navigation and main text/index searches Screen navigation and string search in pager
Installation status Some programs may not have Info documents Some packages may not have man pages

You do not have to use only one of them. When you want to quickly check the meaning of an option, man or --help is convenient, and when you want to see the overall concept of GNU programs and relationships between options in depth, info is useful. Choose the appropriate tool depending on the document format provided by the program and the installation status.

When info is missing or the document cannot be found

Installing the info program

In minimal installation environments, info may be missing. In Debian/Ubuntu and Fedora/Rocky Linux families, the package name is generally info.

sudo apt update
sudo apt install info
sudo dnf install info

Since package names may vary depending on the distribution version and repository configuration, if it is not installed, check the package search results for that distribution.

Check whether the Info documentation of a specific program is installed

Even if the info executable exists, the desired manual may not be installed. First, check the top-level list and search results.

info
info -k 'program or topic'
info -w manual

If the program and documentation are provided in separate packages, find the documentation package for that program in the distribution's package manager.

When the document does not appear in the directory menu

If the file exists but is not registered in the top-level directory, you can open it by specifying the path or file directly.

info -d /additional/document/path manual
info -f /full/path/manual.info

If the software was installed directly from the source, also check whether the installation process updated the Info directory files. Before manually modifying the system documentation registration, first check the package installation records and the program's installation instructions.

Practical usage order

  1. Check whether the relevant document opens with the info program.
  2. Check the current key help with H, and navigate the structure with Space, n, p, u.
  3. Select the menus shown on the screen using Tab and Enter or m.
  4. If you know the exact term, search the index with i, and for general phrases, search the text with s or /.
  5. If you don't know which manual to use, search the entire installed index from the shell with info -k keyword.
  6. If you want to repeatedly view a location, specify the node directly with -n or output the required content with -o.

Frequently Asked Questions

How do you exit info?

Press q to exit. If you don't know the current key settings, press uppercase H to check the quick help.

When pressing n, it moves to another document instead of search results

In the default key settings, n moves to the Next node of the current node, not the search results. Use s or / for text search, and i for index search. The key bindings may change if you use --vi-keys.

What is the difference between info ls and info coreutils?

info ls finds the ls entry in the top-level directory and goes directly to the related node, while info coreutils opens the starting location of the Coreutils manual. Depending on the installed directory entries and document version, the actual starting node may differ.

Do all commands have Info documents?

No. Info is widely used in the GNU project, but not all Linux programs provide Info documents. If there is no Info document, check man command, command --help, or the official documentation of the program.

Are Info documents always more accurate than man manuals?

It is not always the case. Each project has different reference documents and update methods. Some projects, like GNU Coreutils, provide the Info manual as a detailed reference document, while other programs may prioritize man pages or web documents. It is recommended to check both the currently installed program version and the project's official documentation.

Summary

info allows you to navigate the long manuals of GNU programs through nodes, menus, cross-references, and indexes. At first, you can read most of the documentation by just learning info program, H, Space, n, p, u, i, and q.

It is efficient to quickly check simple syntax and options with --help or man, and use info for background concepts and examples when needed. If you want to look at other basic commands, you can refer to List and Overview of Linux Commands.

Refer to official documents

More in This Category
Linux cmp Command: Compare Files Byte by Byte

Linux cmp Command: Compare Files Byte by Byte

Learn how Linux cmp compares two files byte by byte, reports the first mismatch, runs silently in scripts, limits ranges, and differs from diff and checksums.

Linux less Command: Browse and Search Long Text Files

Linux less Command: Browse and Search Long Text Files

Learn how to browse long files with Linux less, move forward and backward, search text, follow growing logs, preserve colors, and exit the pager.

Linux whatis Command: Show One-Line Command Descriptions

Linux whatis Command: Show One-Line Command Descriptions

Learn how to use the Linux whatis command to display concise descriptions of commands and manual pages, with essential options, practical examples, output interpretation, and common troubleshooting tips.

Linux Disk Management: Partitioning, Formatting, and Mounting

Linux Disk Management: Partitioning, Formatting, and Mounting

Learn a safe Linux disk-management workflow for identifying devices, creating partitions and filesystems, mounting storage, and configuring persistent mounts.

Linux history Command: Review and Reuse Shell Command History

Linux history Command: Review and Reuse Shell Command History

Learn how to use the Linux history command to review, search, reuse, and manage shell command history, with essential options, practical examples, output interpretation, and common troubleshooting tips.

Linux locate Command: Search Indexed File Paths Quickly

Linux locate Command: Search Indexed File Paths Quickly

Learn how Linux locate searches a filename database, how updatedb affects freshness, how to limit and filter matches, and when find is the better tool.

Linux id Command: Show User and Group IDs

Linux id Command: Show User and Group IDs

Learn how to show User and Group IDs with the Linux id command, including practical examples, key options, and important precautions.

Linux free Command: Check Memory and Swap Usage

Linux free Command: Check Memory and Swap Usage

Learn how to use the Linux free command to inspect available memory, used memory, cache, and swap usage, with essential options, practical examples, output interpretation, and common troubleshooting tips.

Linux Administration Memo: Essential Commands and System Checks

Linux Administration Memo: Essential Commands and System Checks

A compact Linux administration reference for checking system information, processes, storage, networking, users, permissions, services, and logs.

Linux truncate Command: Shrink or Extend File Size

Linux truncate Command: Shrink or Extend File Size

Learn how to shrink or extend files with Linux truncate, adjust sizes relatively, match a reference file, and distinguish sparse logical size from disk usage.