perm filename DFTP[3,2]8 blob sn#283460 filedate 1977-05-25 generic text, type C, neo UTF8
C00001 00001
C00002 00002
C00006 00003
C00011 00004
C00016 00005
C00018 00006	
C00019 ENDMK


     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

     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.
          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

     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

     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

     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
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

     One may see one's existing subdirectories, when connected to
the initial default subdirectory, via the LIST  command,  in  the
          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 -