Red Hat – Finding things

      No Comments on Red Hat – Finding things

MAN Pages
So one of the most important things is just knowing where to find help when you need it.  Linux is great at this!  MAN pages are attached to most commands and they give you a wealth of knowledge on how the command works.  For instance, take a look at this…

[[email protected] etc]# man mv

Gives me…

MORE(1)                   BSD General Commands Manual                  MORE(1)

NAME
     more – file perusal filter for crt viewing

SYNOPSIS
     more [-dlfpcsu] [-num] [+/ pattern] [+ linenum] [file …]

DESCRIPTION
     More is a filter for paging through text one screenful at a time.  This
     version is especially primitive.  Users should realize that less(1) pro-
     vides more(1) emulation and extensive enhancements.

OPTIONS
     Command line options are described below.  Options are also taken from
     the environment variable MORE (make sure to precede them with a dash
     (ââ-ââ)) but command line options will override them.

     -num  This option specifies an integer which is the screen size (in
           lines).

     -d    more will prompt the user with the message "[Press space to con-
           tinue, âqâ to quit.]" and will display "[Press âhâ for instruc-
           tions.]" instead of ringing the bell when an illegal key is
           pressed.

     -l    more usually treats ^L (form feed) as a special character, and will
           pause after any line that contains a form feed.  The -l option will
           prevent this behavior.

     -f    Causes more to count logical, rather than screen lines (i.e., long
           lines are not folded).

     -p    Do not scroll.  Instead, clear the whole screen and then display
           the text.

     -c    Do not scroll.  Instead, paint each screen from the top, clearing
           the remainder of each line as it is displayed.

     -s    Squeeze multiple blank lines into one.

     -u    Suppress underlining.

     +/    The +/ option specifies a string that will be searched for before
           each file is displayed.

     +num  Start at line number num.

COMMANDS
     Interactive commands for more are based on vi(1).  Some commands may be
     preceded by a decimal number, called k in the descriptions below.  In the
     following descriptions, ^X means control-X.

     h or ?      Help: display a summary of these commands.  If you forget all
                 the other commands, remember this one.

     SPACE       Display next k lines of text.  Defaults to current screen
                 size.

     z           Display next k lines of text.  Defaults to current screen
                 size.  Argument becomes new default.

     RETURN      Display next k lines of text.  Defaults to 1.  Argument
                 becomes new default.

     d or ^D     Scroll k lines.  Default is current scroll size, initially
                 11.  Argument becomes new default.

     q or Q or INTERRUPT
                 Exit.

     s           Skip forward k lines of text.  Defaults to 1.

     f           Skip forward k screenfuls of text.  Defaults to 1.

     b or ^B     Skip backwards k screenfuls of text.  Defaults to 1.  Only
                 works with files, not pipes.

     â           Go to place where previous search started.

     =           Display current line number.

     /pattern    Search for kth occurrence of regular expression.  Defaults to
                 1.

     n           Search for kth occurrence of last r.e.  Defaults to 1.

     !<cmd> or :!<cmd>
                 Execute <cmd> in a subshell

     v           Start up an editor at current line.  The editor is taken from
                 the environment variable VISUAL if defined, or EDITOR if
                 VISUAL is not defined, or defaults to "vi" if neither VISUAL
                 nor EDITOR is defined.

     ^L          Redraw screen

     :n          Go to kth next file.  Defaults to 1.

     :p          Go to kth previous file.  Defaults to 1.

     :f          Display current file name and line number

     .           Repeat previous command

ENVIRONMENT
     More utilizes the following environment variables, if they exist:

     MORE        This variable may be set with favored options to more.

     SHELL       Current shell in use (normally set by the shell at login
                 time).

     TERM        Specifies terminal type, used by more to get the terminal
                 characteristics necessary to manipulate the screen.

SEE ALSO
     vi(1) less(1)

AUTHORS
     Eric Shienbrood, UC Berkeley
     Modified by Geoff Peck, UCB to add underlining, single spacing
     Modified by John Foderaro, UCB to add -c and MORE environment variable

HISTORY
     The more command appeared in 3.0BSD.  This man page documents more ver-
     sion 5.19 (Berkeley 6/29/88), which is currently in use in the Linux com-
     munity.  Documentation was produced using several other versions of the
     man page, and extensive inspection of the source code.

Linux 0.98                     December 25, 1992                    Linux 0.98

So if you don’t know how to use a command, just put ‘man’ in front of it and see if there are any directions. 

Finding commands by searching whatis
This is a great tip I picked up from class today.  Say you want to do something, but you aren’t 100% sure what the command is for it.  Easy enough, just use the ‘whatis’ database.  The whatis database lists all available programs with a one line description of the program.  Better yet, you can search it for pieces of words.  Check out this example…

[[email protected] etc]# man -k partition
GNU Parted [parted]  (8)  – a partition manipulation program
addpart              (8)  – simple wrapper around the add partition ioctl
delpart              (8)  – simple wrapper around the del partition ioctl
fdisk                (8)  – Partition table manipulator for Linux
kpartx               (8)  – Create device maps from partition tables
kpartx              (rpm) – Partition device manager for device-mapper devices.
mpartition           (1)  – partition an MSDOS hard disk
parted              (rpm) – The GNU disk partition manipulation program
partprobe            (8)  – inform the OS of partition table changes
partx                (8)  – telling the kernel about presence and numbering of on-disk partitions
pvcreate             (8)  – initialize a disk or partition for use by LVM
pvresize             (8)  – resize a disk or partition in use by LVM2
sfdisk               (8)  – Partition table manipulator for Linux

Check it out, it just gave us all the program available that have ‘partition’ in the program name or in it’s description.  Pretty handy if you ask me.  If the ‘whatis’ database isn’t updated (or hasn’t been built yet) you can do so by running the ‘makewhatis’ command from the root user. 

The locate command
The locate command allows you to quickly list all files including a particular string.  It also works off of a database like whatis did.  The command is again ridiculously easy to use…

[[email protected] etc]# locate jon
/usr/lib/perl5/5.8.8/unicore/lib/gc_sc/InMahjon.pl
/var/named/jonlangemak.com.hosts
/var/www/html/jonlangemak
/var/www/html/jonlangemak/index.html

Note, that this returns any instance that includes ‘jon’ in the full path.  The last result is called ‘index.html’ but since the path included ‘jon’ it still got returned.  If you aren’t getting any results, you can run the ‘updatedb’ command from root to load the database.

The find command
Find works much like locate but it only searches for file names and you generally specify a starting path.  For instance, here is the same search for ‘jon’ using find…

[[email protected] etc]# find / -name *jon*
/usr/lib/perl5/5.8.8/unicore/lib/gc_sc/InMahjon.pl
/var/named/jonlangemak.com.hosts
/var/www/html/jonlangemak

Note that I had to use wildcard(*) symbols around my search term in order to get it to return file names that included ‘jon’.

Leave a Reply

Your email address will not be published.