Best Kept Secret Of Linux – Apropos

November 30, 2011

It always amazes me how many Unix people do not know about the command: apropos. It’s fabulous!

Here’s where it is useful. Say you are struggling with something. You know there is a command for what you are doing, but forget what exactly the command is. Perhaps, how to list the open files. So you run:

apropos file

a2ps (1) – format files for printing on a PostScript printer
a2ps (rpm) – Converts text and other types of files to PostScript(TM).
access (2) – check user’s permissions for a file
access (3p) – determine accessibility of a file
access.conf [access] (5) – the login access control table file
acct (5) – execution accounting file

zip (rpm) – A file compression and packaging utility compatible with PKZIP.
zipsplit [zip] (1) – package and compress (archive) files
zisofs-tools (rpm) – Utilities for creating compressed CD-ROM filesystems.
zless (1) – file perusal filter for crt viewing of compressed text
zlib-devel (rpm) – Header files and libraries for Zlib development.
zmore (1) – file perusal filter for crt viewing of compressed text
znew (1) – recompress .Z files to .gz files

Since linux handles files really well, there are actually a LOT of possibilities for “file”. On my system, over 1600.

apropos file | wc
1640 16328 117382

Configuration files such as .conf are of type (5).

The commands that can be used at the prompt are of type (1), and (8). By adding grep, you can narrow the results. But I still get over 600 possibilities.

apropos file | grep -i -e “(1)” -e “(8)”

vipw (8) – edit the password or group files
virt-xml-validate (1) – validate libvirt XML files against a schema
visudo (8) – edit the sudoers file
vol_id (8) – probe filesystem type and read label and uuid
wbmptopbm (1) – convert a wireless bitmap (wbmp) file to a PBM
wc (1) – print the number of newlines, words, and bytes in files
webalizer (1) – A web server log file analysis tool
whereis (1) – locate the binary, source, and manual page files for a command
writelog (8) – add a entry to an INN log file

At this point, you can scan visually. Or, use grep some more.

apropos file | grep -i -e “(1)” -e “(8)” | grep -i “open”

gimp-remote [gimp-remote-2] (1) – tells a running GIMP to open a (local or remote) image file
lsof (8) – list open files

Right! lsof! Of course!


Before apropos is useful, you have to run the command: makewhatis

makewhatis (8) – Create the whatis database

makewhatis creates the whatis database, by reading key sections of all the man pages. When I worked on Sun Microsystems operating systems, I remember the equivilent command was catman. Either will take a number of minutes to finish. It’s write once, read many, so you just need to do it the once.


Then, you can also use the command: whatis. This is useful when you are instructed to use a command online you haven’t seen before. Before running the command, you can check what it does.

whatis vfs_catia
vfs_catia (8) – translate illegal characters in Catia filenames

Other useful commands that I use include, which and file.


which will tell where exactly a file is located in your search path:

which sysctl


file will tell you what type of file it is:

file /sbin/sysctl
/sbin/sysctl: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped

There are many types of files:

file /etc/*

/etc/rc5.d: symbolic link to `rc.d/rc5.d’
/etc/rc6.d: symbolic link to `rc.d/rc6.d’
/etc/rc.d: directory
/etc/rc.local: symbolic link to `rc.d/rc.local’
/etc/ Bourne shell script text executable
/etc/rc.sysinit: symbolic link to `rc.d/rc.sysinit’
/etc/readahead.d: directory
/etc/reader.conf: ASCII English text

You then always can use the man pages for more info. Go to SEE ALSO for related commands.

One of my beefs about the man pages is that they often tell me everything, except what I need to know. In fact, for apropos, the critical fact that you need to first run makewhatis is not found at all in SEE ALSO. Perhaps that’s why it’s not used much.

Usually I just need a simple example that works. I find I get much better info from blogs these days. Why can’t those who write man pages do similar?

Using apropos has allowed me learn many things about unix and linux that I would not have discovered otherwise. You can spend a lot of time with it, and learn heaps.

Overcoming The Malware “XP Internet Security”

May 1, 2011

Viruses, worms, trojans, and rogue antispyware software are getting pretty sophisticated.  As careful as I am, one caught me today, on a computer I don’t usually use.  Usually I use Firefox.  But I opened up Google Chrome, right clicked on a link, and open in new window.  Suddenly, I got one of those phony webpages telling me that I had a virus, and doing a scan.

Zone Alarm did not catch it, which is pretty disappointing.  I set it to deny, as I usually do, but it still executed.

ZoneAlarm and XCV.exe

Read the rest of this entry »

%d bloggers like this: