[Robelle] [SmugBook] [Index] [Prev] [Next]

The Current Working Directory (CWD)

MPE now has the concept of a current working directory, much like that of UNIX. The older concept of a logon group remains, but has a more limited role. Previously, the logon group was used to complete unqualified MPE names (that is, if your logon group is SRC.DEV then ABC is assumed to mean ABC.SRC.DEV), to log CPU and connect time, and as a security folder. Now the CWD is used for all name qualifications. This allows you to work in both the MPE Name Space and the full hierarchical file system.

When you logon, your CWD is the same as your logon group. If you never do a :Chdir command to change the CWD, you never experience the HFS. If you do chdir /SYS/PUB after you log on, you can type CI to refer to CI.PUB.SYS. If you start a filename with a slash "/", MPE assumes that it is an absolute pathname. That is, it starts at the root directory and traverses directories until it gets to the desired file, as in /SYS/PUB/CATALOG. It would take a lot of typing if you always had to give the absolute pathname, so MPE also recognizes relative pathnames. These are relative to the CWD. For example, ./BOB means look for "BOB" in the CWD, as does bob.

If you want to look for a POSIX name in the current working directory by using the MPE command interpreter, remember to put a ./ (dot-slash) in front of it. :listfile src/test.c looks for the file SRC with lockword /TEST, in the C group. If what you wanted was the file test.c in the ./src directory, you should have typed ./src/test.c.

One difference between the CWD and the logon group is that the CWD is local to each process. The logon group is local to a session (that is, all processes in the session have the same logon group). Each process in a session may have a different CWD.


[Robelle] [SmugBook] [Index] [MPEtips] [Prev] [Next]