7. SearchesThe Internet and the CDROM's offer so many files, it can be hard to find what you want, especially if you don't know what you want! |
The traditional unix documentation is like all unix, there are several alternatives! User guides, HOWTOS, FAQ's and of course man pages.
Manual pages, are online, printable, mini documents that describe a single program, or a single system call, or a function, or a data format, or a group of related commands.
Each page is (usually) formatted with groff, for display on a VDU or X11 shell, but X11 also has xman. mc (midnight commander) can also format man page files, from within .tgz files.
The overall collection of man pages are held in several places, ie /usr/man and /usr/local/man. Manuals are grouped according to category as follows:
NOTE: system calls are like library functions, but are offered by the kernel itself, rather than libraries of code, that make system calls. eg open() is a basic sys-call, fopen() is a library call, that adds buffering and such.
If the keyword you want, isn't in the title line, you might need to search the body texts, using glimpse, or something.
Some packages, such as TCL/TK, bring so many man pages with them, they might have a their own subdirectory. xman makes it a lot easier to browse man pages by category and single title wordi (filename).
The man pages are searchable, using a loose search, and the apropos comand (see apropos(1) by typing man apropos). You can also use the man -k command.
This returns a list of commands that contain the search string in the title line. If you get error messages try running the mkwhatis command. The list is usually viewed using the less command.
So for example, if you are interested in something to do with mail, apropos mail will return a list that may or may not help.
The list propbably contains duplications, either because you have the man pages installed twice, or because MANPATH contains repettitions.
If you (or the system) have run the updatedb command, there will be an out of date database of every file on the system, possibly including the CDROM that was mounted when the updatedb command ran. It is configurable, read the man pages.
If you run locate string, you get a list of every filename, and path, that contains that search string (or pattern). Occasionally you get a few more than you expected, but this can help a lot to find files that you have misplaced or hunting for clues.
Most CDROMS have a ls_lr file that lists every file on the cdrom, in the ls -lR format. Disk sets, usually have a huge index on the first disk. I copy these to /tmp/ls_ls/. and search through them using a grep command in a mini shell script.
#!/bin/sh grep "$@" /tmp/ls_ls/ls_lr | less
In addition to files that are open (not hidden inside .tgx files), Slackware (and others) has a MANIFEST file, that lists every file, and the .tgz file that they appear in. Copy it to your /tmp/ls_ls directory, and write a script that greps for it.
Actually, you might have to use less, and the "/" search command to get full results, but the information is there.
So if you are looking for the missing xman command, you can see which package you have forgotten to install. Ditto for when you have badly configured a config file, and want to revert it back, but do beware of reloading too much!
Slackware also has a database of files installed onto the system in /var/adm, well worth browsing.
Archie is a service offered by some universities, that searches a database of files known to that archie, on every ftp server it cares to index. Using archie is very simple, using a web browser, see the example serach in the archie article. Note, if it helps, it helps, if it doesn't .. oh well.
dejanews is an archive of all USENET (to some extent), and has a search engine to help you find things.
To tempt you in, other sites offer search engines that know about many, many WEB sites, and can find keywords in web pages for you.
Look in the URL's section, and send me a list of those I've forgotten!
Large sites, such as sunsite, make a good attempt to group packages into sub-directories, but don't rely on it too much, as one word means different things to different people. What you think of as a system package, might be a user-level package, or applications might be split into X11 based, and not.
In addition. large sites, get "carved up", when they get copied onto CDROM.
As well as the man pages, don't forget the others!