MAN Pages & Useful Information

Rob

Administrator
Staff member
Joined
Oct 27, 2011
Messages
1,207
Reaction score
2,239
Credits
3,467
How to get more information with Linux

Now we'll talk about some other commands that you will probably need in your day to day work with Linux. They make your work a little easier and give you added information about your system.

'man' - manual pages in Linux

The first command is 'man'. This command will show the manual for a command or program. The manual is a file that shows you how to use the command and list the different options for the command in question. You would type:

Code:
man [the command]

For example, if you type

Code:
man mkdir

The manual file for 'mkdir' will come up and give you a detailed explanation of this command.

Managing Documentation in Linux

The manual file for 'mkdir' is actually one of the more straight-forward ones. There are a lot that I think we're written by Harry Bigbrains and they were meant to be seen only by Richard Biggerbrain who's sitting in the cubicle next to him.

For example, this appears in the 'man' file for 'cp'

By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files.

I don't know about you, but I'm going to call my lawyer. I've been assaulted by "a crude heuristic".
If you use the command cp --help, you'll get a nutshell version of the 'cp' command.

If you use your pipe cp --help | less, it'll be a little easier to manage.

The 'info' format

Typing info [command name] will get you more information on a command and is more current than most man files and perhaps a little more readable. In fact, some 'man' files will actually tell you to consult the 'info' file. The 'info' files are not always installed automatically. so you may want to consult your own version of Linux about these files.

Apropos

The word 'apropos' means pertinent to something else. There is a command that will show you all of the man page that may shed some light on a certain command. For example, if I typed:

Code:
apropos xterm

resize (1x) - set TERMCAP and terminal settings to current xterm window size
xterm (1x) - terminal emulator for X
terms (5) - database of blessed terminals for xtermset.
xtermset (1) - change settings of an xterm

These are all man pages related to xterm. You would then just choose one of these and type man terms for example.

Some versions of Linux that are made for languages other than English will give you this documentation in its particular language. There are also websites that specialize in documentation in other languages. You can use your favorite Internet search engine to find Linux documentation in your own language.
 


Oh man, I had to comment, I'll be chuckling quietly for ages after reading that. Better lawyer up, I hear Harry Big Brains is in town. Thank you for the chuckle
 
@Gokul ... welcome to linux.org , hope you enjoy your time with us :)

Have a click at the top of your site Menu, where it says Forums, and you will see a number of choices, for example General Linux, Getting Started, and perhaps in this case, Command Line. It is at https://www.linux.org/forums/command-line.145/ if you want to shortcut.

There you can start a thread (topic) and just name it so it is clear, for example "Help with understanding Manuals", or whatever.

I think you will be pleasantly surprised to see the help you get from Members here :D

... and I agree with the other members above, it is a good Tute (kudos @Rob ), who runs this site.

"apropos" is pronounced "app-pro-poe", and I wonder if the (well-meaning, I am sure) Linux person whom started using it was being pedantic - but then using "pedantic" is possibly being pedantic? Go figure.

Enjoy your Linux.

Chris Turner
wizardfromoz
 
Thanks for sharing with us. It is very informative
 
By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files.

I don't know about you, but I'm going to call my lawyer. I've been assaulted by "a crude heuristic".
If you use the command cp --help, you'll get a nutshell version of the 'cp' command.

If you use your pipe cp --help | less, it'll be a little easier to manage.

Mannn, please use english.. This is just like my head was positive pole and this article part is positive pole too but when I read that, these two repel each other ! :(
 
I typed "man man" and I can hardly understand. Can someone tell me how to read the man pages, especially at the synopsis part, thanks
 
In the case of man man - the Synopsis section is a very confusing and unhelpful list of different ways to invoke the man command using different syntax/options.
Most of which will not make sense unless you look up the meanings of all of the options listed.

Most commands only list one or two different ways of calling the program in the Synopsis section of their man pages, but it seems that the man can be invoked in a lot of different ways.

In the case of the man command - it's not a very easy section to understand - I'd simply ignore it and take a look at the "Examples" section instead!
 
Thanks for this tutorial.
I'd like to add this simple explanation about how to access different sections of the manual.

For a long time I wondered what meant the (number) next to a command name in the SEE ALSO section of a manual page; for instance dconf(7). Well, this number refers to the manual section that contains the page. This is useful when there is different pages with the same name in different section of the manual.

For instance:
man dconf will open the first page named dconf it founds, which is dconf(1).
man dconf.7 or man 7 dconfwill open the page named dconf in the section 7 of the manual, or dconf(7).

Maybe, a line could be added about it in the tuto. I know this is explained in the manual's manual page, but as a beginner the diziness I felt after going through the synopsis left me unable to understand the following sections (I am unfortunately not related to Mr Bigbrains ;) ).
 
Almost all commands have also a help option to show a brief reminder of the available options, like in
Code:
cd --help
pwd --help

For bash, there is also the 'help' command that shows a short summary of bash internal commands, and also shows info of a particular command, as in:
Code:
help logout

The problem with the synopsis section of man pages is that they show the possible 'formats' or 'general use cases' of the command they describe in a very schematic manner. In my 'man man' page, the very first format says
Code:
   man [man options] [[section] page...]
but we have to read a lot to grasp what that mean:
Code:
  [ ]           the square brackets indicate optional parts
  man           is the word 'man', the command, mandatory as it hasn't brackets
  man options   are the optional options, that can be  'dash letter' or 'dash dash long-word'
  section       the optional number of section: 1...9 (later explained in the man page)
  page          the optional page to search for

The following lines show special cases that require an option to distinguish from the basic form.

If we omit the section number, man will show the first page found. Is possible some sections are not in the system unless explicitly installed, like the section 3, used for programming instructions.

So, to be useful, at least we have to put a word after man, like this: man ls

'man ls' will find the 'ls' command man page and show it within a pager, a program that allow us to move in the page with the arrow keys page up/down keys. To exit the viewer, press the q key. (This viewer is almost always the command 'less'; pressing the h key will show its own help info).

In this aspect, man is like almost every command available: We write at least the command name. If we need to indicate more information, we include some options with dashes, and if the command must operate on some object(s) we add some other words (called 'arguments') to indicate that.

We don't need to memorize all the options; very often one or two are enough for the daily life.

For example, 'man ls' shows that 'ls' operates alone or with some options or some files and the options can be combined. Examples:
Code:
ls               shows the current directory contents alphabetically  (it's the default behaviour)
ls /etc        shows the contents of the /etc directory
ls -t           shows the current directory contents, but sorted by modification time
ls -l           shows the listing in a long format with a lot of more data
ls -lt          shows the listing in a long format sorted by time

How do we know which options are available and what they are useful for? Sorry, we have to read the man page of the command to find out.

It's too complicated? It seems so at first glance, but the regularly used commands are few, maybe not more than thirty or so, and very soon, using them, they become easy as a pie. In another message I will list them. Good day!

Sorry for the long novel; I hope this can help clarify the terseness of the man pages.
 
Last edited:
For people who don't have the 'info' command, you need to install first using:
sudo apt install info
 
Question!
When look in /usr/share/man/man1 all the pages is in .gz format. Is there any easy
way to read them in, for example, falkon or firefox?
Or is there a page-reader for them in my Debian system that is better then the konsol
window? I have looked around but do not find any answer for this...
 
One answer for gzipped files:
Code:
[flip@flop ~] $ zcat README.gz | less
That's readable in the terminal.

But, for man pages, it's best to use:
Code:
man <manpage>
since the compressed man pages are written in troff code so you'd be reading between all the codes to get the man page text if you just used zcat on the .gz file. For example the first 10 lines of the dwm man page source code in troff look like:
Code:
.TH DWM 1 dwm\-VERSION
.SH NAME
dwm \- dynamic window manager
.SH SYNOPSIS
.B dwm
.RB [ \-v ]
.SH DESCRIPTION
dwm is a dynamic window manager for X. It manages windows in tiled, monocle
and floating layouts. Either layout can be applied dynamically, optimising the
environment for the application in use and the task performed.
.P

That's more difficult to read than:

Code:
[flip@flop ~] man dwm

DWM(1)                            General Commands Manual                           DWM(1)

NAME
       dwm - dynamic window manager

SYNOPSIS
       dwm [-v]

DESCRIPTION
       dwm  is  a  dynamic  window manager for X. It manages windows in tiled, monocle and
       floating layouts. Either layout can be applied dynamically, optimising the environ‐
       ment for the application in use and the task performed.

There are GUI apps to read manpages, but I'm not familiar with them any more.
Here's some information on using firefox: https://askubuntu.com/questions/339255/how-do-i-make-man-pages-open-in-a-web-browser. Bear in mind that viewing man pages in that way uses up more resources than a terminal.
 
Last edited:
For people who don't have the 'info' command, you need to install first using:
sudo apt install info
Thanks. Couldn't find this command after searching the net and had to resort to 'Add Software' section in raspberrypi to get it installed. Should have searched here first.
 

Staff online


Top