This chapter describes:
A file structure comprises one or more disk packs
containing your files and other user files. A file
structure name consists of alphanumeric characters followed
by a colon. Even if a file structure is made up of several
disk packs, it is referenced by one name. You create and
reference files on a structure by specifying the structure
name in the device field (dev:) of a file specification.
One file structure, the public structure (PS:), also known as the
system structure, is the boot structure (BS:) by default and always
remains on line during system operation. This public structure
contains a directory for every user of the system, and the necessary
accounting information to allow the users to log in. When you log in,
you are connected to your directory on the public structure. This
directory is referred to as your log-in directory and, in addition to
the accounting information, contains some or all of your files.
Once you have entered your programs into the computer and executed
them, you have several files in your directory. To obtain a listing
of the filenames, type the DIRECTORY command, and press the return
key.
The files in your directory are listed in alphabetical order. When
two or more files have the same name but different types, the name is
listed only once, for the first file. Subsequent entries for the name
are indented, and only the file types and generation numbers are
listed.
If you use EDIT to edit an existing file for the first time, EDIT
changes your original, unedited file into a backup file. In the
process of making this backup file, EDIT changes the file type to Qxx,
where xx are the last two letters of the original file type. EDIT
creates this backup file so that you have an unaltered copy of your
file. Every time you edit the file after the first time, the Qxx file
is given a new generation number. In the example above, ADDTWO.QOR.1
is the backup file.
You can have and use files on structures other than the public
structure. Like the public structure, these structures also contain
directories and files. Unlike the public structure, you cannot log in
to these structures. Although the public structure (PS:) and boot
structure (BS:) remains on line during system operation, other
structures may be mounted (put on line) and dismounted by the operator
according to users' requests. To request the mounting and dismounting
of structures, use the MOUNT STRUCTURE and DISMOUNT STRUCTURE
commands.
The MOUNT STRUCTURE command informs the system that you require the
use of a specific file structure (other than the public one). It
causes the system to increment a count, called the mount count. The
mount count for a structure is the number of users who have given the
MOUNT command for that structure. This count assures you that a
structure will remain mounted until you no longer need it. You
usually have to give the MOUNT command before using files on any
structure other than the public one. (Structures that require a MOUNT
command are termed "regulated;" other structures are termed
"unregulated.")
The DISMOUNT STRUCTURE command informs the system that you no longer
require the use of a structure and decrements the mount count for that
structure.
After a structure is mounted, you can use the directories
and files on that structure, depending on the protection
codes set for those directories and files. (Refer to Section 6.2 for more information on
directory and file protection codes and Section 6.3 and 6.4 for more
information on connecting to directories and accessing
files).
To find out which structures are presently mounted, give the
INFORMATION STRUCTURE * command.
The TOPS-20 file system allows flexibility in sharing some or all of
your files with other users. Files and directories are protected at
three levels: owner, group member, and all users. Usually files are
protected to prevent access from non-owners who are not group members.
When you want to share files among a known set of users, you can
arrange to share files by asking your system manager to establish a
group. Members of a group can access directories belonging to the
group, and use files in those directories. (For a complete
description of groups, refer to the TOPS-20 System Managers Guide.)
The access to each directory and file is determined by a protection
number. You may have some files in your directory that you do not
want to share. By setting the proper file protection you can prevent
users from accessing these files, while allowing them to use other
files in your directory.
Each directory protection number and file protection number comprises
six digits, divided into three distinct sections that contain two
digits each. The first two digits specify the owner's access; the
second two digits specify the group members' access; and the third two
digits specify all other users' (also called world) access.
The digits in a protection number have different meanings, depending
on whether they are in a directory protection number or in a file
protection number. Table 6-1 lists the directory protection digits.
You can add directory protection digits together. For example, if
your directory protection number is 774000, you have full access as
the owner of the directory, you allow members of the group to access
the directory according to the protection on individual files, and you
prohibit all other users from accessing the directory. If you want to
allow members of the group not only to access the directory, but also
to create files in your directory, you can add the directory
protection code 04 to the 40 to get 44. Your entire directory
protection code then becomes 774400.
Table 6-2 lists the file protection digits.
The system default protection number for files is generally 777700.
This means that the owner of a file and members of the owner's group
have full access, and all other users have no access to the file.
As with directory protection codes, you can construct file protection
codes by adding the protection digits together. For example, a code
of 44 allows reading and appending, but prohibits modifying or
deleting the file, or listing the file in a DIRECTORY command.
To validate access to directories and files, the system scans the
protection code beginning with the two digits to the right, and moves
to the left until it has reached the highest level of access.
The system scans a file or directory protection number in the
following way:
The protection system works in the following way. For example, you
want to type the file TEST.TXT in user HOLLAND'S directory on your
terminal. Before printing the file you requested, the system scans
the protection code on the directory <HOLLAND> to validate that you
have access. If you are not allowed to access the directory, the
system prints an error message and cancels the command.
If the directory protection allows you the access, the system scans
the protection on the individual file TEST.TXT. If you are not
allowed to access the file, the system prints an error message and
cancels the command.
If the file protection allows you to access the file, the system
prints the file on your terminal.
To print a directory protection number, use the INFORMATION DIRECTORY
command with the VERBOSE subcommand. The directory protection number
is in the field "Protection of directory". To print the file
protection number, use the VDIRECTORY command (or the DIRECTORY
command with the PROTECTION subcommand).
To change a directory protection number, use the SET DIRECTORY
PROTECTION command.
The system assigns a default file protection number to all files
created in a directory. This default is usually 777700. To change
the default file protection number for a directory, use the SET
DIRECTORY FILE-PROTECTION-DEFAULT command.
To change a file protection number, use the SET FILE PROTECTION
command.
To print a directory's default file protection number use the
INFORMATION DIRECTORY command, with the VERBOSE subcommand.
When you log in, you are automatically connected to the directory on
the public structure that has the same name as your user name. For
example, user McElmoyle is connected to <MCELMOYLE> on the public
structure:
If you need to work in another directory, you can connect to that
directory. When you connect to a directory, the system automatically
disconnects you from the directory you are presently in and uses the
new directory as your default directory. Your default directory is
the one the system assumes when you omit a directory name in a file
specification.
In addition, you have owner rights for that directory, just as if you
logged in to it. The owner rights for a directory are valid as long
as you are connected to that directory; the rights terminate when you
connect to another directory. You always retain the owner rights to
the files in your log-in directory.
You can connect to a directory on the public structure or on another
on-line structure. To connect to another directory, give the CONNECT
command and the name of the directory you want to use. You are
prompted for a password for the directory depending on your ownership
and group rights for the directory.
The example below illustrates the effects of logging in, then
connecting to another directory on the public structure. When you
(user MCELMOYLE) log in to the system, you are connected to your own
directory on the public structure. When you omit a directory name
and/or structure name in a file specification, the system assumes your
logged-in directory <MCELMOYLE> on the public structure. After you
log in, connect to the directory <BROWN> on the public structure.
Now, if you omit the directory name and/or structure name in a file
specification, the system assumes your connected directory <BROWN> on
the public structure.
When you give the CONNECT command for a directory that is located on a
different structure, your default structure also changes. The system
assumes both the connected structure and the connected directory when
you omit them in a file specification.
The example below illustrates the effects of logging in on the public
structure and then connecting to a directory on another structure
named MISC:. When you (user MCELMOYLE) log in, you are connected to
your directory on the public structure. After you log in, connect to
the directory <BROPHY> on the structure MISC:.
If you later omit a structure name or a directory name from a file
specification, the system assumes the structure MISC: and the
directory <BROPHY>.
If you forget which directory or structure you are connected to, give
the INFORMATION JOB-STATUS command. If no directory name is printed,
then you are connected to your logged in directory.
To access another directory and remain connected to your present
directory, give the ACCESS command.
When you access a directory, you are actually working in your
connected directory but you also have owner and group rights to the
other directory. This means that you can use the files in the
directory you have accessed by specifying that directory in the file
specification. Unless you specify otherwise, any file you create
appears in your connected directory. If you want the file to be
written into the directory you have accessed, you must specify the
directory name in the file specification. If the directory you access
is located on a different structure than your connected directory, you
must specify the structure and directory names in any file
specification.
The example below illustrates the effects of logging in, then
accessing another directory on the public structure. When you (user
MCELMOYLE) log in to the system, you are connected to your login
directory. After you log in, access the directory <BROWN> on the
public structure. You now have owner and group rights for directory
<BROWN>.
You can access more than one directory during a job session. You can
access a directory on one structure and also access a directory on a
different structure. If each directory you access is located on a
different structure, the owner and group rights for these directories
remain in effect throughout your entire job session (from LOGIN to
LOGOUT) or until a structure is dismounted. You can access only one
directory per structure, however. If you access a second directory on
the same structure, your access to the first directory is cancelled.
You always retain your owner rights to your log-in directory on the
public structure. However, when you give the ACCESS command to a
different directory on the public structure, you lose the group
privileges of your log-in directory.
You can log in, access another directory on the public structure, then
access a directory on another structure, MISC:, as in the following
example:
You can use the COPY command to reproduce one of your files. This
procedure is useful if you want to change a file without altering the
original file.
To copy a file to another file, give the COPY command. The COPY
command copies the contents of an existing file (called a source file)
to a destination file, and keeps the original file. The following
example shows how to copy the existing file TEST1.DAT to the
destination file 2TEST.DAT.
You can also use the COPY command to copy a file from another user's
directory. First give the ACCESS command with the other user's
directory name and password. (The password does not print on the
terminal.) Then type COPY, and press the ESC key. The system prints
(FROM). Type the other user's directory name (enclosed in angle
brackets), the name of the file you want to copy and the ESC key. The
system prints the generation number and the guideword (TO). Press the
RETURN key. The other user's file is copied to your disk area. The
file keeps the same name.
You can also copy a file from another user's directory and give the
file a different filename. To do this, use the procedure described
above. The system prints the generation number and guideword (TO):
Instead of pressing the RETURN key, as in the previous example, type
the name that you want to give the new file. When you have typed the
new name, press the RETURN key. The system prints a message telling
you that it has copied the file.
You can copy multiple files by using a wildcard. For example, if you
type COPY (FROM) *.FOR, the system places each file with the file type
.FOR into a destination file. If you type COPY (FROM) TEST.*, the
system places each file with the filename TEST into a destination
file.
If you use recognition input in the above example, when
you press ESC after the filename NEWTST, the system rings
the terminal bell, asking you to type more information. In
this example, type a period after the filename, indicating
to the system the end of the filename; and press ESC. The
system prints the wildcard character, *, and a .-1
generation number. The -1 generation number is a symbolic
generation number and indicates to you that when the system
processes the command line, it will use one greater than the
highest number of each file. (Refer to Section 4.2.6, Generation
Numbers - .gen, for more information on symbolic
generation numbers.)
You can use the RENAME command to change the name of a file or to put
a file into another directory on the same structure. When you use
RENAME, the system simply changes the file specification instead of
actually duplicating the file.
To move files from one structure to another, use the COPY command.
RENAME will not work across structures. After copying the file, you
can delete the original.
To add the contents of one or more source files to the end of a
destination file, give the APPEND command. The destination file can
be an existing file or a new file. The following example shows how to
add the contents of the source file STAT.TXT.5 to the end of the file
CHECK.TXT:
You can append a series of files with the same filename or file type
using a wildcard. The following example shows how to append all files
with the file type .FOR. Notice that these files are appended in
alphabetical order when using a wildcard for the filename.
You can append files from a directory on one structure to a directory
on another structure. The system prints the structure name, the
directory name and the filename of the source file, followed by the
message [OK] when the file has been appended.
Some programs, such as COBOL and SORT, cannot use
appended files.
To display a copy of your file on your terminal, type the TYPE
command, and press the ESC key. After (FILE), type the filename and
file type of your file. Press the RETURN key.
To see a copy of ADDTWO.FOR type the following command:
If you want TOPS-20 to stop printing a file after it begins, type a
CTRL/O. CTRL/O stops the printout. You can resume the printing by
typing a second CTRL/O.
To print a file or files, give the PRINT command. The PRINT command
places entries into the line printer output queue.
To see that your job is in the line printer output queue, give the
INFORMATION OUTPUT-REQUESTS command. The system lists all the jobs in
the queue. If you want only the entries of your job(s), include the
/USER switch.
You can control several conditions of your print request by using
switches with the PRINT command.
To simply print a file, it is not necessary to include switches.
However, you can include switches with the PRINT command. To obtain a
list of valid switches, type PRINT, followed by a ?. The list of
switches the system prints contains both job switches and file
switches.
If you include a job switch with the PRINT command, the entire job is
affected by the switch. For example, if you print three files and you
add the /AFTER: switch, all three files will be printed after the time
you specify.
If you include a file switch with the PRINT command, only the file
directly before the switch is affected. For example, if you print
three files and you add the /COPIES:6 switch after the first filename,
the system prints six copies of the first file only.
A file switch can act as a job switch when placed before all files in
a command. For example, if you print three files and you add the
/COPIES:6 switch before the first filename, the system prints six
copies of each of the three files.
You can direct a PRINT request to a remote destination by including
the /REMOTE-PRINTER switch. The destination is either a VMS printer
queue for DQS printers or a LATserver PORT or SERVICE for LAT
printers. To specify a string that communicates file features such as
layout or lettering type, include the /CHARACTERISTIC switch.
The following example shows how to print a job with a PORTRAIT 90
characteristic on a XEROX 8700 printer on a VMS system.
You can direct a PRINT request to a remote node by specifying the
/DESTINATION-NODE switch. The remote node can be either an IBM remote
station, a node in a TOPS-20 cluster, a VMS remote node or a
LATserver.
The following example shows how to PRINT a job on a printer service
named XEROX on a LATserver named LAT97.
You can specify the SET REMOTE-PRINTING PRINTER command to establish
the /REMOTE-PRINTER queue and characteristic parameters. The SET
REMOTE-PRINTING command can be invoked at command level or within a
command file.
The following example shows how to define the name of a remote printer
queue on node OURVAX.
Now, to direct a print request to the remote printer queue:
For more information about directing print requests to remote
destinations, refer to the TOPS-20 Commands Reference Manual.
To change and/or add one or more switches to a previously issued PRINT
command, give the MODIFY command. After you give the MODIFY command,
type PRINT, followed by the first six letters of the jobname, or the
request ID, then type the switch you want to change or add.
You can modify almost all PRINT command switches. To obtain a list of
switches you can modify, give the MODIFY PRINT/ command, followed by a
question mark (?).
The following example shows how to modify the PRINT request for
LARGE.DAT by including the /AFTER: switch:
After you give the command, the system prints a message informing you
that the job was modified. If the system is processing the entry when
you give the MODIFY command, it does not modify the job and prints the
message [No Jobs modified].
To cancel or remove entries you have previously placed in the line
printer output queue, give the CANCEL command. After you give the
CANCEL command, type PRINT, followed by the first six letters of the
jobname or the request ID of the job you want to remove.
Once the CANCEL command removes the entry from the line printer output
queue, the system prints the message [1 Job Canceled]. If the system
is processing the entry when you give the CANCEL command, it stops the
job and prints the message, [1 Job Canceled (1 was in progress)].
The following example shows how to cancel the PRINT request for
TEST.FOR.
If you have several PRINT jobs in the lineprinter output queue, you
can cancel them all by using an asterisk.
You can cancel a PRINT request to a remote printer in the same TOPS-20
cluster as the requesting node by including the /DESTINATION-NODE:
switch in the command. This switch cancels only the print requests
that were made from the local node. Other print requests made on the
remote node are not affected.
The following example shows how to cancel a remote print request.
Note that PRINT requests directed to a remote node not in the same
cluster as the requesting node cannot be cancelled from the requesting
node.
If you want the PRINT command to always contain certain switches, give
the SET DEFAULT PRINT command, followed by the switch or switches.
Whenever you give a PRINT command, the switches you specified in the
SET DEFAULT command are automatically included in the PRINT command.
To give the /NOTE switch with PRINT commands, place the following
command in COMAND.CMD.
Every time you give the PRINT command, the system includes the switch
/NOTE:FLOOR4 in the command.
To avoid having to type the SET DEFAULT PRINT command
every time you log in to the system, put this command in a
COMAND.CMD file. (Refer to Section 1.7 for
information about a COMAND.CMD file.)
To see which defaults you set for the PRINT command, give the
INFORMATION DEFAULTS PRINT command.
When you no longer need to keep a file, you can delete it by giving
the DELETE command. The DELETE command marks the file for automatic
deletion; it does not actually erase the file.
The deleted files in your logged-in or connected directory are erased
(expunged) when one of the following occurs:
The EXPUNGE command erases all files marked for deletion since the
last time the directory was expunged. Deleting and erasing files are
separate operations. Therefore, once you delete a file, it does not
immediately disappear. If you delete a file by mistake, you can type
the UNDELETE command to restore the file to your directory. Type this
command as soon as you detect your mistake; otherwise, you may not be
able to restore the file. You cannot restore a file once you log off
the system.
To delete the file TEST.FIL from your directory, give the following
command:
You can give the DIRECTORY command with the deleted subcommand to list
all the files that have been deleted but not yet expunged.
To restore TEST.FIL, give the UNDELETE command.
If you give the DIRECTORY command again, you will see that the file
has been restored in your directory.
If you delete a file and give the EXPUNGE command, the file is erased
immediately.
If you expunge a file by mistake, contact the operator. Most systems
keep backup tapes from which you can obtain an older version of the
file. If you expunge a newly-created file, one that has not been
backed-up on tape, you cannot recover it.
Do not delete files and plan to undelete them at a
later time, because deleted files may be expunged by
the system at any time.
When you have a file that you need only for the current terminal
session, such as a scratch file, give the file the ;T attribute. The
;T attribute indicates that the file is temporary. When you log off
the system, the system deletes and expunges any temporary files in
your logged-in and/or connected directories.
One way to create a temporary file is to use the COPY TTY: command.
This command simulates the action of the CREATE command by copying the
text you type on your terminal (device TTY:) to a file.
Give the COPY TTY: command, type the contents of the file and end
your input with a CTRL/Z:
To give an existing file the ;T attribute, use the RENAME command.
Do not use recognition input to print the second file name in the
RENAME command. Recognition prints the comment !New generation!
after the file specification and causes the ;T attribute to be
ignored.
You can assign any generation number to a temporary file. If you do
not specify a generation number, the system assigns the file a
generation number of 100000 plus your job number. In the above
example, the user's job number is 14; the system added 100000 for a
generation number of 100014. Two users connected to the same
directory can both create temporary files; however, if one user logs
off, the other user's temporary files are not deleted, because the
files are identified by different job numbers.
Refer to Appendix C of the TOPS-20 Commands Reference Manual for a
complete list of file attributes.
The system manager sets an upper limit on the amount of disk space for
each directory on the system. This disk space, referred to as
directory storage allocation, is allotted as a number of pages.
Each directory receives a specific number of pages. To see the number
of pages allocated to your directory, and the number of pages you are
using, give the INFORMATION DISK-USAGE command.
In the example above, user SARTINI has 37 pages assigned to his
directory, and a working storage allocation and permanent storage
allocation of 50 pages. There are 34142 free pages remaining on this
file structure.
The system automatically checks your working storage allocation
whenever you create a new file page. If you are over that allocation,
it prints the message "?Disk or directory full, or quota exceeded" and
does not let you continue writing to your file. You can delete any
unimportant or temporary files and expunge the directory to get under
your working allocation.
Whenever you give a LOGIN or LOGOUT command or connect to another
directory, the system checks the permanent disk storage allocation of
your connected directory. If it is exceeded, the system prints a
message in the form:
If you exceed your working storage allocation, the
system programs listed in Table 4-2 expunge any
deleted files. When a system program expunges deleted
files, it prints a message; however, once you see the
message, you cannot halt the expunging process.
Depending upon the policy at your installation, if you do not regulate
your own disk storage allocation, the operator may regulate it for you
by running a system program to move some of your disk files to
magnetic tape for short-term off-line storage. This program looks for
directories that are over quota and moves files from the directories
until they are under quota. The operator runs this program as often
as required to bring directories under quota. This forced migration
of files from disk to tape is used to keep the system disk space free.
The system manager determines which type of files the program moves to
tape storage. However, if you want to specify a particular order in
which you want the files moved when the operator runs the program, you
can include a MIGRATION.ORDER file in your log-in directory. In the
MIGRATION.ORDER file, you can list the files you want moved first.
For example, to request that temporary files and files with the .LST
file type be migrated before your other files, place this line in the
MIGRATION.ORDER file:
*.TMP, *.LST
The SET FILE RESIST command also gives you some control over
involuntary file removal. It delays migration of the specified files
for as long as possible.
The file MEMO.INI will be among the last files to be removed from the
disk.
To see the files that will "resist" migration, give the DIRECTORY
command with the RESIST-MIGRATION subcommand:
To see the files that were moved to off-line storage by the system
program, give the DIRECTORY command. Next to the names of the files
that were moved, the system prints ;OFFLINE.
If you need to use the file, give the RETRIEVE command followed by the
name of the file. The RETRIEVE command notifies the system that you
are requesting the restoration of the file from off-line storage.
To see your retrieval request, give the INFORMATION RETRIEVAL-REQUESTS
command. The system prints a list of requests in the retrieval queue.
You can remove any retrieval requests before the contents of the
off-line file are restored to disk by using the CANCEL command.
If you have disk files that you do not use, but want to keep, you can
mark these files for extended off-line storage by using the ARCHIVE
command. The operator periodically runs a program that moves the
files marked for archiving from disk to magnetic tape for off-line
storage. After the program moves the files to tape, it sends a
message through the MAIL program telling you the file has been
archived and its contents deleted from the disk. Your system manager
can tell you which files you should archive, and how long they will be
stored. The system manager can also tell you how often the operator
runs the program to move the files marked for archiving.
You can also use DUMPER for off-line storage. Refer to the DUMPER
description in the TOPS-20 User Utilities Guide for more information.
To mark a file for archiving, give the ARCHIVE command, followed by
the name of the file you want archived.
To see that the file is marked for archiving, give the INFORMATION
ARCHIVE-STATUS command, followed by the name of the file.
You can also give the INFORMATION ARCHIVE-STATUS command without any
argument. The system prints a list of your files that are archived,
and files for which archiving has been requested.
Once you mark a file for archiving, the name of the file no longer
appears when you give the DIRECTORY command. To see which files are
archived, and which files are marked for archiving, give the
subcommand ARCHIVE to the DIRECTORY command. The files that are
already archived will have the comment ;OFFLINE next to the filename.
When you mark a file for archiving, you cannot modify, delete, or copy
the file. The file does not appear in your directory unless you
include the ARCHIVE subcommand in the DIRECTORY command.
If you decide that you do not want to archive the file, give the
CANCEL command to remove the archival request. You can give the
CANCEL command as long as the file is still in archival request
status, that is, as long as the INFORMATION ARCHIVE-STATUS command
shows that archive is requested but not completed.
Once a file is archived, it is stored off-line on magnetic tape. If
you need to use the file again, give the RETRIEVE command. The
RETRIEVE command notifies the system that you are requesting the
restoration of the file from off-line storage. To actually restore
the file, the operator mounts the magnetic tape containing the
archived file, and moves the file to your directory on disk.
To see your retrieval request, give the INFORMATION RETRIEVAL-REQUESTS
command. The system prints a list of the requests in the retrieval
queue.
Once your archived file is restored to disk, you must copy its
contents to a new file before you modify it. You must use a copy of
the file because you cannot alter an archived file in any way, even
after it is restored to disk.
You can cancel any retrieval requests before the archived file
contents are restored to disk, by using the CANCEL RETRIEVE command.
If you decide that you will never need the tape copy of an archived
file, delete the file with the DISCARD command. The DISCARD command
does not delete the file itself, but it deletes the pointer from your
directory to the file copy on tape. The tape copy of the file is
actually deleted when the operator recycles tapes that contain files
that have passed their expiration dates and/or have their pointers
deleted.
After you give the DISCARD command, the operator sends you a mail
message that contains information about the discarded file. If you
wish to use the tape copy, you may be able to recover it using this
information, as long as the tape has not yet been recycled.
If you have a disk copy of an archived file, the DISCARD command
restores this file to its normal status.
There are several dates associated with each file you create. One of
these dates is the on-line expiration date, which determines when a
file's disk contents may be automatically moved to off-line storage.
The SET DIRECTORY ARCHIVE-ONLINE-EXPIRED-FILES command enables this
automatic archiving. This command is discussed at the end of the
section.
On-line expiration dates are displayed with the DIRECTORY command:
The system manager establishes a systemwide on-line expiration date,
but you can override the system default with the SET DIRECTORY
ONLINE-EXPIRATION-DEFAULT command:
You can specify a time interval rather than a specific date:
The command above sets the on-line expiration date to 30 days from the
creation date.
You can also establish on-line expiration dates for individual files:
If you want a file to be immediately available for archiving, give the
SET FILE EXPIRED command:
The command above sets the expiration date to today's date.
When you are satisfied with the on-line expiration dates for your
files, you can indicate that the system is to mark them for archiving
when the expiration dates are reached:
You also have the choice of leaving expired files in your directory
until a possible forced migration:
This is the default setting for directories.
To see if expired files in your directory will be automatically
archived, give the INFORMATION DIRECTORY command:
The line "Archive online expired files" indicates that automatic
archiving will take place. If the SET DIRECTORY NO
ARCHIVE-ONLINE-EXPIRED-FILES command is in effect, this line does not
appear in the information display.
Typically, you will have files that are not currently in use and
cluttering your directory. You can clean up a directory by moving the
files to tape (archiving), or to other directories, or by making your
infrequently used files invisible.
An invisible file is not displayed by a simple DIRECTORY command and
is not accessible to programs and EXEC commands. The ARCHIVE command
automatically makes files invisible. When you RETRIEVE archived
files, they will remain invisible when restored to disk.
To make a file invisible, use the SET FILE INVISIBLE command. To make
an invisible file visible again, use the SET FILE VISIBLE command. To
display your invisible files, use the DIRECTORY command with the
INVISIBLE subcommand.
6.1 Using file structures
@DIRECTORY<RET> Request a list of your filenames.
PS:<SARTINI> The structure on which your directory resides
and your directory name.
ADDTWO.FOR.2 The edited version of your FORTRAN file.
.QOR.1 An unedited backup file, for protection.
.REL.2 Translation of your edited FORTRAN file.
SQRT.ALG.1 Your original ALGOL program.
.REL.1 Translation of your ALGOL file.
TOTAL OF 5 FILES
@
@MOUNT STRUCTURE (NAME) MISC:
Structure MISC: mounted
@DISMOUNT STRUCTURE (NAME) MISC:
Structure MISC: dismounted
@INFORMATION (ABOUT) STRUCTURE (NAME) *
Status of structure BOSTON:
Mount count: 4, open file count: 227, units in structure: 2
Public Domestic
Users who have MOUNTed BOSTON: SUSSMAN, TOMCZAK, LNEFF, DNEFF
Users ACCESSing BOSTON: OPERATOR, R.ACE, SAMBERG, COMBS, SYLOR,
KONEN, COHEN, ZIMA, JENNESS, BLOUNT, SUSSMAN, REILLY,
CIRINO,
.
.
.
Status of structure PMH:
Mount count: 1, open file count: 0, units in structure: 1
Domestic
Users who have MOUNTed PMH: HALL
No users are ACCESSing PMH:
Users CONNECTed to PMH: HALL
6.2 Protecting directories and files
PROTECTION CODE
dd dd dd
Owner Group All Users
6.2.1 Directory Protection Numbers
Table 6-1: Directory Protection Digits
___________________________________________________________________
Digits Permit
___________________________________________________________________
77 Full access to the directory is permitted.
40 Access to files in the directory according to the
protection number on the individual files is
permitted. To delete and expunge the entire
directory (though these digits permit expunging files
on an individual basis), you must also assign the
digit 10. To create files, you must also assign the
digit 04.
10 Connecting to the directory without giving a
password, undeleting files, expunging the entire
directory, changing times, dates and accounting
information for files is permitted. All other access
is governed by the protection on the individual file.
04 Create files in the directory.
00 Access to the directory is not permitted.
___________________________________________________________________
6.2.2 File Protection Numbers
Table 6-2: File Protection Digits
____________________________________________________________________
Digits Permit
____________________________________________________________________
77 Full access to the file.
40 Read the file.
20 Write or delete the file.
10 Execute the file.
04 Append to the file.
02 Find the file specification using wildcarding.
00 Find the file specification only if the file is
specified explicitly and completely. No other access
is allowed.
____________________________________________________________________
6.2.3 Checking Protection Numbers
@TYPE (FILE) <HOLLAND>TEST.TXT
?Directory access privileges required - "<HOLLAND>TEST.TXT"
@TYPE (FILE) <HOLLAND>TEST.TXT
?READ protection violation for: "<HOLLAND>TEST.TXT.2"
@VDIRECTORY (OF FILES) TEST.FIL
PS:<PORADA>
TEST.FIL.1; P777700 1 110(7) 21-Mar-88 11:44:25 PORADA
6.2.4 Changing a Directory Protection Number
@SET DIRECTORY PROTECTION (OF DIRECTORY) <EMORRILL> (TO) 770000
6.2.5 Changing a File Protection Number
@SET DIRECTORY FILE-PROTECTION-DEFAULT <BLACK> 770000
@SET FILE PROTECTION (OF FILES) TEST.FIL (TO) 774400
TEST.FIL.1 [OK]
6.3 Connecting to directories
@LOGIN (USER) MCELMOYLE (PASSWORD)___(ACCOUNT) 341
@LOGIN (USER) MCELMOYLE (PASSWORD)___(ACCOUNT) 341
Job 5 on TTY26 31-Mar-88 14:56:24, Last Login 30-Mar-88 08:24:13
@CONNECT (TO DIRECTORY) <BROWN>
Password:___
_____PS:_____
| |
| |
|-----------|
User MCELMOYLE------->| MCELMOYLE |
C -------| |
O | |-----------|
N | |-----------| \
N ------>| BROWN | | Connected
E | | | Directory
C |-----------| /
T | |
-------------
\___________/
Connected
Structure
@LOGIN (USER) MCELMOYLE (PASSWORD)___(ACCOUNT) 341
Job 28 on TTY26 31-Mar-88 12:02:46, Last Login 30-Mar-88 08:32:26
@CONNECT (TO DIRECTORY) MISC:<BROPHY>
Password:___
_____PS:_____ ____MISC:_____
| | | |
| | | |
LOGIN |-----------| CONNECT |------------|
User MCELMOYLE------->|<MCELMOYLE>|------------->| <BROPHY> |
|-----------| |------------|
| | | |
| | | |
------------- --------------
\______________/
Connected
Structure
@INFORMATION (ABOUT) JOB-STATUS
Host AURORA
Job 105, TTY46, User HIGGINS, SUMMIT:<HIGGINS>
Account 341
6.4 Accessing directories
@LOGIN (USER) MCELMOYLE (PASSWORD)___(ACCOUNT) 341
Job 32 on TTY26 31-Mar-88 10:08:16, Last Login 30-Mar-88 11:36:44
@ACCESS (TO DIRECTORY) <BROWN>
Password:___
_____PS:_____
| |
| |
|-----------|\ \
User MCELMOYLE------->| MCELMOYLE || Connected | Has "owner"
A -------| || Directory | rights only
C | |-----------|/ /
C | |-----------| \
E ------>| BROWN | | MCELMOYLE has
S | | | "owner" and
S |-----------| / "group" rights
| |
-------------
\___________/
Connected
Structure
@LOGIN (USER) MCELMOYLE (PASSWORD)___(ACCOUNT) 341
Job 32 TTY26 31-Mar-88 10:08:14, Last Login 30-Mar-88 11:16:02
@ACCESS (TO DIRECTORY) <BROWN>
Password:___
@ACCESS (TO DIRECTORY) MISC:<BROPHY>
Password:___
____PS:____ ___MISC:___
| | | |
| | | |
User |---------|\ \ | |
MCELMOYLE-->| || | Has "owner" | |
--| || Connected | rights only |---------|\
A| |MCELMOYLE|| Directory / | || MCELMOYLE
C| | || ACCESS | BROPHY || has "owner
C| | - - -|| - - - - - - - - - - - ->| || and "group"
E| |---------|/ | || rights
S| |---------|\ |---------|/
S| | || MCELMOYLE has | |
->| BROWN || "owner and | |
| || "group" rights | |
|---------|/ | |
----------- -----------
\_________/
Connected
Structure
6.5 Copying files
@COPY (FROM) TEST1.DAT.1 (TO) 2TEST.DAT.2 !New generation!
TEST1.DAT.1 => 2TEST.DAT.2 [OK]
@ACCESS<ESC>(TO DIRECTORY) <PORADA><RET>
Password: <RET>
@COPY<ESC>(FROM) <PORADA>TODAY.EXE<ESC>.3 (TO)<RET>
<PORADA>TODAY.EXE.3 => TODAY.EXE.1 [OK]
@COPY<ESC>(FROM) <PORADA>TODAY.EXE<ESC>.3 (TO)
@COPY<ESC>(FROM) <PORADA>TODAY.EXE<ESC>.3 (TO) TEST.EXE<RET>
<PORADA>TODAY.EXE.3 => TODAY.EXE.1 [OK]
@
@COPY (FROM) TEST.* (TO) NEWTST.*.-1
TEST.FOR.1 => NEWTST.FOR.1 [OK]
TEST.TXT.2 => NEWTST.TXT.1 [OK]
6.6 Renaming files
@RENAME (EXISTING FILE) TEST1.DAT.* (TO BE) TESTAL.DAT.-1
TEST1.DAT.1 => TESTAL.DAT.2 [OK]
@COPY (FROM) MISC:TEST.FIL.5 (TO) TEST.FIL.1 !New file!
MISC:TEST.FIL.5 => TEST.FIL.1 [OK]
@DELETE MISC:TEST.FIL.5
6.7 Appending files
@APPEND (SOURCE FILE) STAT.TXT.5 (TO) CHECK.TXT
STAT.TXT.5 [OK]
@APPEND (SOURCE FILE) *.FOR (TO) ATEST.FOR.1 !New file!
ACCOUN.FOR.2 [OK]
ACCTST.FOR.1 [OK]
NEWTST.FOR.1 [OK]
TEST.FOR.1 [OK]
@APPEND (SOURCE FILE) PS:<DOE>SMALL.FOR (TO) MISC:<DOE>LARGE.FOR
PS:<LATTA>SMALL.FOR.2 [OK]
6.8 Listing files
@TYPE (FILE) ADDTWO.FOR
6.9 Printing files
@PRINT (FILES) UPDATE.CBL
[Printer job UPDATE queued, request 57, limit 27]
@INFORMATION (ABOUT) OUTPUT-REQUESTS
Printer Queue:
Job Name Req# Limit User
-------- ---- ----- ------------------------
* BOX 53 270 LYONS On Unit:0
Started at 14:29:29, printed 122 of 270 pages
* UPDATE 57 27 SARTINI On Unit:1
Started at 14:38:18, printed 0 of 27 pages
MIDAS 34 27 REILLY /Forms:NARROW
There are 3 Jobs in the Queue (2 in Progress)
@PRINT ? /SPOOLED-OUTPUT
or Job switch, one of the following:
/ACCOUNT: /AFTER: /CHARACTERISTIC:
/DESTINATION-NODE: /FORMS: /GENERIC
/JOBNAME: /LIMIT: /LOWERCASE
/NOTE: /NOTIFY: /PRIORITY:
/REMOTE-PRINTER: /SEQUENCE: /UNIT:
/UPPERCASE /USER:
or File switch, one of the following:
/BEGIN: /COPIES: /DELETE /FILE:
/HEADER /MODE: /NOHEADER /PRESERVE
/REPORT: /SPACING:
or ","
or File specification
@PRINT
@PRINT (FILES) LARGE.DAT, MYTEST.DAT, TEST1.DAT /AFTER:15-MAR-88
[Printer job LARGE queued, request #58, limit 27]
@PRINT (FILES) LARGE.DAT/COPIES:6, MYTEST.DAT, TEST1.DAT
@PRINT (FILES)/COPIES:6,LARGE.DAT,MYTEST.DAT,TEST1.DAT
@PRINT FILE4.MEM/REMOTE-PRINTER:XEROX/CHARACTERISTIC:P90
[Printer job FILE4 queued, request #33, limit 1
files]
@PRINT FILE.DAT/REMOTE-PRINTER:XEROX/DESTINATION-NODE:LAT97
[Printer job FILE queued, request #45, limit 1 files]
@SET REMOTE-PRINTING PRINTER XEROX SI$8700 OURVAX
@
@PRINT MYFILE.MEM/REMOTE-PRINTER:XEROX
@
6.9.1 Modifying a PRINT Request
@MODIFY (REQUEST TYPE) PRINT (ID) LARGE /AFTER:25-MAR-88
[1 Job modified]
6.9.2 Canceling a PRINT Request
@CANCEL (REQUEST TYPE) PRINT (ID) TEST
[1 Job canceled]
@CANCEL (REQUEST TYPE) PRINT (ID) *
[3 Jobs canceled]
@CANCEL PRINT SUM7/DESTINATION-NODE:KL2102
[1 print request cancelled]
6.9.3 Setting Defaults for the PRINT Command
@SET DEFAULT (FOR) PRINT /NOTE:FLOOR4
@INFORMATION (ABOUT) DEFAULTS (FOR) PRINT
SET DEFAULT PRINT /NOTE:FLOOR4
6.10 Deleting and restoring files
@DELETE (FILES) TEST.FIL
TEST.FIL.5 [OK]
@DIRECTORY (OF FILES) TEST.FIL.5,
@@DELETED
@@
PS:<PORADA>
TEST.FIL.5
@UNDELETE (FILES) TEST.FIL.5
TEST.FIL.5 [OK]
@DELETE (FILES) TEST.FIL
TEST.FIL.5 [OK]
@EXPUNGE (DELETED FILES)
PS:<PORADA> [3 pages freed]
6.11 Creating temporary files
@COPY (FROM) TTY: (TO) TEMP.FIL;T
TTY: => TEMP.FIL.100160;T
ESCAPE 031
EXTENDED
OPAQUE
PAGE
^Z
@RENAME (EXISTING FILE) SCRATCH.FIL (TO BE) SCRATCH.FIL;T
SCRATCH.FIL.1 => SCRATCH.FIL.100014;T [OK]
6.12 Regulating disk file storage
@INFORMATION (ABOUT) DISK-USAGE (OF DIRECTORY) <SARTINI>
PS:<SARTINI>
37 Pages assigned
50 Working pages, 50 Permanent pages allowed
34142 Pages free on PS:
<directory> Over permanent storage allocation by n page(s)
@SET FILE RESIST (MIGRATION OF FILES) MEMO.INI
MEMO.INI.1 [OK]
@DIRECTORY (OF FILES) ,
@@RESIST-MIGRATION (FILES ONLY)
@@
PS:<TUCKER.USER>
MEMO.INI.1
USEDOC.DST.3
USEPLN.DST.2
Total of 3 files
@DIRECTORY (OF FILES)
PS:<SARTINI>
2TEST.DAT.3
NEWACCT.LST.1;OFFLINE
OVERVIEW.LST.10;OFFLINE
SQUARE.B20.1
Total of 4 files
@RETRIEVE (FILES) MYTEST.DAT.1
MYTEST.DAT.1 [OK]
@INFORMATION (ABOUT) RETRIEVAL-REQUESTS
Retrieval Queue:
Name Req# Tape 1 Tape 2 User
------ ---- ------ ------ ---------------------
ADVENT 6 5845 5641 ENGEL
CHESS 7 5845 5641 ENGEL
MYTEST 68 5854 5852 SARTINI
OTHELL 9 5641 8459 ENGEL
There are 4 jobs in the Queue (None in Progress)
@CANCEL (REQUEST TYPE) RETRIEVE (ID) MYTEST
[1 Job canceled]
6.13 Long term off-line file storage
6.13.1 Archiving Files
@ARCHIVE (FILES) CHECK.TXT
CHECK.TXT.1 [Requested]
6.13.2 Getting Information about Archive Status of Files
@INFORMATION (ABOUT) ARCHIVE-STATUS (OF FILES) CHECK.TXT
CHECK.TXT.1 Archive requested
@DIRECTORY,
@@ARCHIVE
@@
PS:<SARTINI>
CHAPT21.TCT.1;OFFLINE
CHECK.TXT.1
Total of 2 files
6.13.3 Canceling an Archive Request
@CANCEL (REQUEST TYPE) ARCHIVE (FOR FILES) CHECK.TXT
CHECK.TXT.1 [OK]
6.13.4 Retrieving an Archived File
@RETRIEVE (FILES) CHAP21.TCT
CHAP21.TCT.1 [OK]
@INFORMATION (ABOUT) RETRIEVAL-REQUESTS
Retrieval Queue:
Name Req# Tape 1 Tape 2 User
------ ---- ------ ------ ---------------------
CHAP21 48 5520 5543 SARTINI
There is 1 job in the queue (none in progress)
@CANCEL (REQUEST TYPE) RETRIEVE (ID) CHAP21
[1 Job Canceled]
6.13.5 Deleting an Archived File
6.13.6 Archiving Expired Files Automatically
@DIRECTORY (OF FILES) ,
@@DATES (OF) ONLINE-EXPIRATION
@@
PS:<TUCKER.USER>
Online expiration
ARCHIV.MEM.4 3-May-88
.QNO.15 5-May-88
.RNO.15 21-Nov-88
COMAND.CMD.5 21-Nov-88
MEMO.INI.1 8-Apr-88
USER.RNO.2 8-Apr-88
Total of 6 files
@SET DIRECTORY ONLINE-EXPIRATION-DEFAULT (OF DIRECTORY) -
<TUCKER> (TO) 26-NOV-88
@SET DIRECTORY ONLINE-EXPIRATION-DEFAULT (OF DIRECTORY) -
<TUCKER> (TO) +30
@SET FILE ONLINE-EXPIRATION (OF FILES) MEMO.INI (TO) +120
MEMO.INI.1 [OK]
@SET FILE EXPIRED (FILES) PENDING.Q
PENDING.Q.11 [OK]
@SET DIRECTORY ARCHIVE-ONLINE-EXPIRED-FILES (OF DIRECTORY) -
<TUCKER>
@SET DIRECTORY NO ARCHIVE-ONLINE-EXPIRED-FILES (OF DIRECTORY) -
<TUCKER>
@INFORMATION (ABOUT) DIRECTORY (DIRECTORY NAME) <TUCKER>
Name PS:<TUCKER>
.
.
Archive online expired files
.
.
6.14 Visible and invisible files
home
PDP-10
TOPS-20 User's Guide
Prev: Chapter 5 Creating and editing files
Next: Chapter 7 Using magnetic tape