perm filename DFTP[3,2]8 blob
sn#283460 filedate 1977-05-25 generic text, type C, neo UTF8
COMMENT ā VALID 00006 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002
C00006 00003
C00011 00004
C00016 00005
C00018 00006
C00019 ENDMK
Cā;
Introduction
DFTP is a user-invoked file archiving program that, via the
Arpanet, stores and retrieves local files on the Datacomputer, a
dedicated data management system. This Introduction is intended
to provide information sufficient for basic use of the program.
A general description of it and information on its more esoteric
features can be found in the DFTP User's Guide.
DFTP command processing is similar to that in TENEX and
TOPS-20. Both <control-A> and <rubout> delete a character, both
<control-U> and <control-X> delete a line, and <control-R>
retypes a line. A <space> or <escape> can be used to complete a
command (for example, typing DI<space> is equivalent to typing
DIRECTORY).
Since DFTP's primary function is file storage and retrieval,
the most fundamental commands are those that store and retrieve
files -- PUT and GET. Both take as an argument the name of the
file of interest (in the standard format of name followed by
optional extension), so that
PUT MAIL.TXT
causes the local file MAIL.TXT to be shipped over the network to
the Datacomputer, and
GET MAIL.TXT retrieves it.
Groups of files may be moved with one command by using a '*'
in either or both the name and extension parts of the file name.
Thus
PUT MAIL.*
stores all files with the name MAIL, and
GET *.TXT
retrieves all files with the extension TXT.
Files may be given different names when stored and
retrieved. This is accomplished by inputting a <space> or
<escape> after the first file name, so that
PUT MAIL.TXT<space>MAIL.15-APRIL-1977
stores the local file MAIL.TXT as MAIL.15-APRIL-1977, and
GET MAIL.15-APRIL-1977<space>MAIL.OLD
retrieves the stored file MAIL.15-APRIL-1977 as the local file
MAIL.OLD.
Different versions of the same file can be stored, with the
Datacomputer assigning higher numbers to more recent files. Thus
storing one day's messages as MAIL.TXT, and later storing the
next day's messages as MAIL.TXT results in two files on the
Datacomputer, MAIL.TXT;1 (the messages stored first) and
- 1 -
MAIL.TXT;2 (the messages stored later). Version numbers are
denoted as in TENEX, with the number following the file name and
separated from it by a ';'. Version numbers may be used in
retrieving files, so that
GET MAIL.TXT;1
retrieves the first version of the file. If no version number is
given, DFTP uses the largest as the default. A '*' may be used
in the version number field, so that
GET MAIL.TXT;*
retrieves all versions.
Nearly as fundamental as storing and retrieving files is
finding out what files have been stored -- what files exist on
the Datacomputer. The DIRECTORY command performs this function,
taking as its argument a file name similar to that accepted by
PUT and GET. Thus
DIRECTORY *.TXT
lists all stored files with the extension TXT. Note that
DIRECTORY <space>
(DFTP echoes the <space> as '*.*;*') causes all stored files to
be listed. The command takes as a subargument the specification
of the amount of information desired about the listed files. A
<space>, equivalent to TERSE, lists files and their sizes. The
VERBOSE option additionally lists the date the file was
originally created and the date it was stored on the
Datacomputer.
Another important facility is the ability to eliminate
unwanted files on the Datacomputer. This is done via the DELETE
and EXPUNGE commands.
The DELETE command, taking as its argument a file name
similar to that accepted by PUT and GET, marks files as deleted,
but does not permanently remove them. Deleted status is only a
conditional state. Deleted files may be listed by the DELETED
option of the DIRECTORY command, and a file's deleted status may
be rescinded by the UNDELETE command. The UNDELETE command takes
as its argument a file name similar to DELETE. Thus
DELETE MAIL.*
marks all files with the name MAIL as deleted, and
UNDELETE MAIL.15-APRIL-1977
rescinds the deleted status of the file MAIL.15-APRIL-1977. Note
that, for files of which there are multiple versions, the default
for DELETE is the (undeleted) file with the smallest version
number, and for UNDELETE is the (deleted) file with the largest
version number.
The EXPUNGE command permanently removes all files then
marked as deleted, recovering the space used by those files. It
takes no arguments (as far as this Introduction is concerned),
and is invoked by typing
EXPUNGE <space><space>
- 2 -
(DFTP echoes the first <space> as '<').
The QUIT command causes a graceful exit from DFTP.
Introduction to Additional Commands
The commands described in the followings paragraphs are
useful, but are not necessary for ordinary use of DFTP. They
introduce complexities discussed in the User's Guide. The
information and explanations in this section are of limited scope
in an attempt to keep the complexity at a minimum.
The commands discussed here are motivated by one general
concern -- the desire to divide a user's file space into parts.
DFTP allows such separation via user-specified named groupings,
called subdirectories. For example, one typically divides files
into classes by type, such as MESSAGES, SOURCES, and GAMES.
Subdirectories may be thought of as containing files and as being
under -- subordinate to -- the user's Datacomputer identity --
the user's name. For example, the user HACKER at CCA has, on the
datacomputer, under the user name HACKER, the subdirectories
MESSAGES, SOURCES, and GAMES. One need not have separate
subdirectories -- all one's files may be stored directly under
one's user name. Alternatively, some files may be stored
directly under one's user name and some in separate
subdirectories, or all files may be stored in separate
subdirectories.
All the commands in the preceding section operate within
only one subdirectory at a time. The CONNECT command is used to
choose which subdirectory is of interest. Once a subdirectory is
chosen, all PUT's, GET's, DIRECTORY's, DELETE's, UNDELETE's, and
EXPUNGE's operate within that subdirectory until another is
chosen. Thus
CONNECT MESSAGES
selects the MESSAGES subdirectory. CONNECT also creates new
subdirectories. If in the above example, MESSAGES did not exist,
DFTP would inform the user of that fact with the comment '[New
Node]', and would ask for confirmation to proceed and make the
new subdirectory.
The files stored directly under one's user name are in a
special subdirectory. At the beginning of a session this
subdirectory is the default subdirectory that all PUT's etc.
operate in (making possible use of DFTP by people who are unaware
of subdirectories). If one has explicitly CONNECTed to some
other subdirectory and wishes to go back and reference files
directly under one's user name,
- 3 -
CONNECT <space>
(DFTP echoes the <space> as '<<') will perform the desired
function.
One may see one's existing subdirectories, when connected to
the initial default subdirectory, via the LIST command, in the
form
LIST <space>
(DFTP echoes the <space> as '**'). LIST takes a subargument
similar to DIRECTORY. A <space>, equivalent to TERSE, simply
lists the subdirectories, while VERBOSE lists all available
information about them, including megabits allocated (MX-U) and
used (CHRG). The symbol <FILES> indicates that some files
actually exist in the associated subdirectory.
One may delete subdirectories and their files, when
connected to the initial default subdirectory, via the REMOVE
command. The subdirectory name given the command as its argument
should be terminated in a <space>. Thus
REMOVE MESSAGES<space>
(DFTP echoes the <space> as '>**') eliminates the subdirectory
MESSAGES and all files in it.
- 4 -