Columbia MM
MM Manual

USING DIRECTORIES AND FILES IN UNIX

It is possible to do basic mail reading and sending using only MM. However, if you want to transfer material in and out of files, it is useful to know a little about the UNIX operating system.


FILES

Filenames can be up to 255 characters long. Capital and small letters are considered different.

Mail files are just text files, formatted a certain way. The main mail file, containing all your mail, is normally called mbox, and a backup copy maintained by MM is called mbox~.


DIRECTORIES

Directories are files maintained by the operating system that are used to organize and locate other files. Think of a directory as a list of files. UNIX uses a hierarchical inverted tree structure: the base of the tree is at the top, a directory called root. The root directory contains other directories, and so on, down to the directories owned by each user.

Each user has a home directory, which is where you start when you have logged in. You can create further directories below your home directory. You own your home directory and all files and directories under it. You can refer to your home directory as $HOME; in ksh (Korn shell), csh (C shell), and MM, it is also known as ~ (tilde) or as ~userid.

The directory you are in at any point is the current working directory, which can be referred to as . (dot) as well as by name. The directory immediately above (the parent directory) can be referred to as .. (dot dot).

Any file, including a directory, can be described by an absolute path or a relative path. The absolute path starts at the root directory, while relative path starts at the current working directory. Paths from root start with / (slash), and further slashes are used to separate levels of directories. Relative paths start at the current working directory; so to refer to a file in the current working directory, just use its name. Another form of relative path starts with .. (the parent directory of the current directory).

The user jb51 could refer to his mbox file in several ways. The absolute path might be /f/u1/d09200/jb51/mbox; you see a reference like this in some of MM's messages. It would be easier to type the absolute path as $HOME/mbox or ~/mbox. If jb51 is in his home directory, he could just call it mbox, a relative path.


COMMANDS FOR FILES AND DIRECTORIES

Commands are given to a shell for interpretation. Common UNIX shells are ksh (Korn or K shell), csh (C shell) and sh (Bourne shell). The following commands are some basic shell commands.

For more information about a command, use the command man to see what is known as a manual page; for example, type man ls for information about the command ls. Many commands take options, indicated by a minus sign and a letter, which are described in the man pages. The following are generalized summary descriptions only.


MM COMMANDS FOR FILES AND DIRECTORIES

While you are running MM, you can direct a command to the shell by putting an exclamation point first: !ls.

A program loaded into memory is called a process. When you start up MM, you create an MM process. A process can be suspended (held in memory, to be continued later) or killed. Your login shell is actually a process too. Logging off kills it, and any processes started under it, like a suspended MM, are supposed to get killed along with it.

The MM commands pwd and cd have the same function as at the shell, but refer to the current working directory of the MM process. The MM process's current working directory starts off the same as the shell's, but if you give a cd command to the shell while the MM process is suspended, or give a cd to MM, the current working directories will no longer match. This is fine as long as you are aware of it; the purpose of pwd is to check. Several MM routines use MM's current working directory: the commands list, take and fcc, addresses to fcc, *filename, @filename and @@filename, and the text command control-b (insert a file).

To reduce possible problems, MM has the variable mail-directory that names a directory where your mail-related files are located. The variable is usually set to your home directory, although you may want to create a separate mail directory if you keep a group of mail-related files. Several MM routines check the mail-directory as well as MM's current working directory: the commands copy, examine, get, move, write, insert, save-draft and restore-draft, and the variables saved-messages-file and header-options-file.

If you want to keep your mail in a subdirectory, change the mail-directory variable by typing set mail-directory and a directory name, and then save-init to save it. Give a full path or a path from ~, and be sure the directory exists. You could change it back to your home directory with set mail-directory ~.

Another variable, temp-directory, similarly sets a directory for MM's temporary working files, normally your home directory. You can reset the variable similarly to mail-directory.


[ Columbia MM Manual ]