Managing Directories [ Performing System Management Tasks ] MPE/iX 5.0 Documentation
Performing System Management Tasks
Managing Directories
A directory is a special kind of file that contains entries that point to
other files and directories. Directories, like MPE groups, help
applications and users to organize files in a logical manner on the
system. A directory contained within another directory is also called a
subdirectory. A directory that contains other directories is called a
parent directory. Directories, subdirectories, and files form a
structure for the file system. A directory entry associates a file name
with a file.
MPE/iX has four types of directories:
* root directory
* MPE groups
* accounts
* hierarchical directories
The overall directory structure has a common root. The root of the
directory is called the parent directory. A slash (/) separates each
part of a pathname. The maximum pathname length is 1023 characters.
Although pathnames can be 1023 characters, other system limits restrict
pathname length. For example, the command interpreter limits the number
of characters you can type in a command to 511 characters.
When the pathname begins at the root directory, it is called an absolute
pathname. An example of an absolute pathname is:
/SYS/MYGRP/dir1/2file
The example describes the location of the file 2file. It is in the
directory dir1, which is a subdirectory of the MYGRP group; MYGRP is in
the SYS account, which is a subdirectory of the root directory (/).
An absolute pathname is similar to a fully qualified MPE file name in
that the names of all the components are listed. The fully qualified MPE
file name TDP.PUB.SYS translates to the absolute pathname /SYS/PUB/TDP.
Other pathnames are relative to a process's current working directory.
(The current working directory is the directory where you are working.)
So if you specify the name ./jvance/spook, MPE looks for a subdirectory
called jvance in your current working directory, then for a file called
spook in that directory.
To create directories
You can create directories in any directory, group, or account to which
you have CD access. You must have the following privileges to create
directories directly under an MPE group:
* Create directory entries (CD) access for the parent directory
* Save files (SF) capability
* Traverse directory entries (TD) access to the parent directory
To create a directory in your current working directory, use the NEWDIR
command. For example, to create a new directory called CPROGS in your
current working directory, enter:
:NEWDIR CPROGS
To create a directory in a group other than your logon group, use the
full pathname of the directory in the NEWDIR command line. For example,
to create a new directory called cprogs in the group called BOB in the
PRG account, enter:
:NEWDIR /PRG/BOB/cprogs
If you typed the name in lowercase and did not preface it with a ./ or /,
MPE/iX converts it to uppercase. If you want to use HFS syntax for
naming a directory, you need to preface the name with ./ or /. For
example, to create a directory with a lowercase name, enter:
:NEWDIR ./cprogs
NOTE MPE group-level accounting does not extend to directories residing
outside of accounts.
To control access to directories
You can use access control definitions (ACDs) to grant the following
accesses to directories:
CD - Create directory entries
DD - Delete directory entries
RD - Read directory entries
TD - Traverse directory entries
RACD - Read ACD
NONE - No access
By default, directories allow Read ACD privilege to all users on the
system (RACD:@.@). You can use the LISTFILE command to display directory
ACDs. You assign or change directory ACDs using the ALTSEC command.
Read the MPE/iX Commands Reference Manual, Vol. I (32650-90003) for
detailed syntax and descriptions of ALTSEC and LISTFILE.
The root directory, accounts, and groups cannot be assigned ACDs.
However, all users are granted access equivalent to read directory
entries (RD) access and traverse directory entries (TD) access to root,
all accounts, and all MPE groups.
Initially, only you as the system manager have create directory entries
(CD) and delete directory entries (DD) access to root. CD and DD access
are governed by the appropriate privileges. Save access for an MPE group
implies CD and DD permission. A user can create or delete a directory in
an MPE group if the group grants Save access to the user.
To list directories
The LISTFILE command traverses hierarchical directories and accepts
pathnames. Because MPE/iX file names can be long, the output format
displays any names with the HFS syntax as the last item, wrapping the
ends of long file names onto the next line, if necessary.
To list only the directories that are within the current working
directory, use the LISTDIR system-provided UDC. The LISTDIR UDC invokes
the LISTFILE command. You can also use LISTDIR to show directories
anywhere on the system:
LISTDIR dir@
To list files in directories
Use the LISTFILE command to list files in directories. For example, to
list all of the files and any directories (which are distinguished from
files by a trailing slash) in the current working directory, enter:
:listfile ./@
To list only files named using MPE syntax:
:LISTFILE @
To delete directories
Use the PURGEDIR command to delete a hierarchical directory. You need to
begin the name with (.) or (/) otherwise the name is interpreted using
MPE syntax rather than HFS syntax.
You cannot use PURGEDIR to delete an account, an MPE group, the root
directory, or a file. You will receive an error message if you try.
Although you can specify (.) and (..) in the PURGEDIR command, you
cannot delete these directories.
You must have traverse directory entries (TD) access to the directory you
want to delete and any other directories referenced in the pathname. You
must have delete directory entries (DD) access to the parent directory of
the directory you are deleting.
NOTE If the directory that you are trying to delete is not empty, you
receive an error message and it is not deleted. Use the PURGEDIR
command with the TREE option, or specify a pathname ending in /.
For example:
:purgedir /MYACCT/MYGRP/dir1 ;TREE
or
:purgedir /MYACCT/MYGRP/dir1/
If any of the files in the directory (or directories) are open when
you execute the command, you receive an IN USE warning message.
All opened files and the directory path(s) to those files are not
deleted. All other files and directories are deleted.
To delete directories using wildcards
You can also use wildcards to delete directories and the files or
directories they contain. For example, to delete all empty directories
in the current working directory with TMP in their name, enter:
:purgedir @TMP@
Or, to delete all directories under the CWD with names beginning with
TMP, and all objects below these directories, enter:
:purgedir TMP@; TREE
To move between directories
Use the CHDIR command to move from one directory to another or to return
to your logon directory.
For example, if you created a directory called memos in your logon group
(ALEXB) in your account (FOX) and your current working directory is
/FOX/ALEXB, you can move to it as follows:
:chdir ./memos
The name ./memos is a relative pathname. MPE interprets it relative to
the current working directory. You can move back up to the MPE group
level by specifying the full pathname:
:chdir /FOX/ALEXB
Or, if ALEXB is your logon group, simply enter CHDIR.
To Show the current working directory
MPE/iX provides a CI variable called HPCWD that keeps track of your
current working directory (CWD). As you move around in the file system,
it is useful to display your current location.
To find out your current working directory, showing the path from the
root, enter:
:showvar hpcwd
You can change your prompt so that it shows your current working
directory at all times by including the variable in the prompt. To do
so, at the MPE prompt, type:
:setvar save_prompt hpprompt
:setvar hpprompt "!!HPCWD:"
To list the space used by directories
Use the DISKUSE command to display the amount of disk space used by a
directory. Each column contains information about the directory you're
reviewing.
TREE contains the total number of sectors used by the
directory listed. This includes space used by the
directory itself, all files in the directory, and
all space used by subdirectories and files in the
subtree below the directory.
LEVEL BELOW shows the number of sectors allocated to all files
and directories one level below the named
directory. It does not include the space used by
the directory itself or by the subtree.
DIRECTORY displays the name of the directory in HFS format
(for example, /MYACCT/MYGROUP).
Sometimes the number of sectors under the TREE column are followed by a
plus sign. This means that the amount refers to directories that are one
level below the target directory.
You can also report the disk space used by a directory and all subtrees
below it. If you specify a directory ending with a / and use HFS syntax
or use the TREE option, the command reports the amount of space used by
it and all directories in it.
NOTE The REPORT command does not provide detailed line items for
directories below groups. It shows groups below accounts but not
any directories below accounts.
MPE/iX 5.0 Documentation