NAME¶
dncopy - Copy files to/from a VMS system
 
SYNOPSIS¶
dncopy [options] source dest
 
dncopy [options] source... directory
 
dntype source...
 
Options:
 
[-vdisklEVh] [-m mode] [-a record attributes] [-r record format] [-b block size]
  [-p VMS protection]
DESCRIPTION¶
dncopy copies files to and from VMS systems.
 
 
 
Files on VMS systems should be specified in the usual transparent DECnet format
  of node"username password"::[directory]file. To protect quotes and
  dollar signs from shell expansion I recommend that all VMS file specifications
  be enclosed in single quotes (see 
EXAMPLES below). If you don't want to
  type the password on the command-line then put a hyphen ("-") in its
  place and you will be prompted for it.
 
 
 
dncopy can copy single files and multiple files. If multiple files are
  copied the destination must be a directory but it may be on the local Linux
  system or a VMS system. The files to be copied can be a mixture of VMS files
  and local files (yes, you can copy from VMS to VMS with this program, though
  quite why you would want to I'm not sure)
 
 
 
Wildcards are supported for local and VMS files (of course local wildcards are
  expanded by the shell). Remember to use VMS wildcards (*%) on VMS filesystems
  and Unix wildcards (*? etc) on Unix files.
 
 
 
The pseudo-filename '-' may be used to represent standard input or standard
  output to enable dncopy to be used in a pipeline. Filenames are changed to
  lower case when copied from VMS to Linux.
 
 
 
The environment DNCOPY_OPTIONS may be used to provide a default set of options
  for copying files. If (for example) you wanted to normally send files as
  blocks rather than records you could set DNCOPY_OPTIONS="-mblock".
  Then, to send a file as records you would need to type 
dncopy -mrecord
  myfile.txt vmsbox:: instead.
 
Options in DNCOPY_OPTIONS may be overridden by options typed on the command-line
  except where there is no negating option available (see 
-k -d -i ). If
  you put these options in DNCOPY_OPTIONS then to remove them you will have to
  override the whole environment variable eg:
 
$ DNCOPY_OPTIONS="" dncopy myfile.txt vmsbox::
 
 
dntype is simply a version of dncopy where the output file is forced to
  "-". Thus it takes all the same options as dncopy. It is merely a
  convenience.
 
OPTIONS¶
  - -v
 
  - Verbose operation. The more -v options are present the more
      verbose dncopy will become. One -v is roughly equivalent to the /LOG
      qualifier on the DCL copy command. More than one is really just useful for
      debugging.
 
  - -i
 
  - Interactive operation. Prompts before copying a file. This
      option is roughly equivalent to the /CONFIRM qualifier on the DCL copy
      command.
 
  - -l
 
  - Ignore interlocks on files copied from VMS. This will do
      its best to read the data regardless of record or file locking, but it
      won't always succeed.
 
  - -s
 
  - Show transfer statistics. This shows the throughput of all
      copies (in the case of wildcard transfers) undertaken in K bytes/second.
      This time does not include that to establish the connection. eg when
      sending to VMS the overhead of creating a NETSERVER process is not
      included.
 
  - -k
 
  - Keep version numbers on files copied from VMS systems. By
      default dncopy will strip the version number from files because they have
      no meaning in Linux. if you specify -k on the command line then the VMS
      file will be created with exactly the same name as it had on the VMS
      system. To access these files under Linux you will need to enclose them in
      quotes. eg less "vmsfile.txt;1".
 
  - -m {record|block}
 
  - Sets the transfer mode to block or record. record is
      the default. Normally record is what you want but block is
      used for sending binary files to the VMS system. Note that if you use
      -mblock to pull files from VMS you may not be able to make sense of the
      file on Linux because dncopy will also pull all the VMS internal
      structuring of the file as well as the data. Unless you really know what
      you are doing -mblock is only really useful for sending files.
 
  - -a {none|ftn|cr|prn}
 
  - Sets the carriage control attributes for files copied to a
      VMS system. The default is cr.
 
  - -r {fix|var|vfc|stm}
 
  - Sets the record format for files copied to a VMS system.
      The default is stm. In fact the default is STREAMLF as this
      corresponds to the format of files on Unix systems and so is the least
      likely to result in file corruption. If you are sending a pure text file
      then var or vfc may be more appropriate for your
      application. fix may be useful for block-structures files and data
      files.
 
  - -b N
 
  - Set the block size for transfers. The default is high
      enough for all record structured files. if you are sending a file with
      -mblock then you should use this to set the block size of the file
      to be created at the VMS end. When sending block files the default changes
      to 512 as this is typically what you would want (I hope).
 
  - -d
 
  - Remove any trailing CR characters at the end of a line.
      This is useful for sending DOS files to VMS. Only works when transferring
      in record mode.
 
  - -p 'protection'
 
  - When sending files to VMS, sets the protection of the newly
      created remote file. Without this option, VMS will set the protection to
      be the default for the remote user. The protection should be in VMS-style
      format and enclosed in single quotes to protect it from the shell (see
      example).
    
 
    This option is ignored when copying from VMS. 
  - -P
 
  - Queue the file for printing to SYS$PRINT when it arrives at
      the VMS end.
 
  - -D
 
  - Delete the file when it is closed. This is only really
      useful in conjunction with -P.
 
  - -T connect timeout
 
  - Specifies the maximum amount of time the command will wait
      to establish a connection with the remote node. a 0 here will cause it to
      wait forever. The default is 60 seconds
 
  - -E
 
  - Ignore errors opening output files. This is handy if you
      are sending a lot of Unix files to VMS, some of which have illegal
      filenames (eg ~ backup files). dncopy will report an error for each file
      but continue sending.
 
  - -h -?
 
  - Displays help for using the command.
 
  - -V
 
  - Show the version of the tools package that dncopy comes
      from.
    
 
   
ENVIRONMENT VARIABLE¶
You can put your most commonly used defaults in the environment variable
  
DNCOPY_OPTIONS eg:
 
 
 
bash or ksh:
 
$ DNCOPY_OPTIONS="-mblock -anone -b1024" ; export DNCOPY_OPTIONS
 
 
 
csh or tcsh:
 
$ setenv DNCOPY_OPTIONS "-mblock -anone -b1024"
 
 
 
makes dncopy send files as 1024 byte blocks with no carriage control. You can
  override these options by specifying replacements on the command-line as
  usual. Be aware that some options have no converse (eg -i -k -d -v) so if you
  put these in DNCOPY_OPTIONS you cannot disable them without deassigning the
  variable.
 
 
EXAMPLES¶
Copy LOGIN.COM from the VMS system "tramp" to Linux as mylogin.com
 
    dncopy 'tramp"christine pjc123"::login.com' mylogin.com
 
 
Copy all .TXT files from the VMS directory SYS$SYSDEVICE:[WP] to /tmp:
 
    dncopy 'tramp"christine pjc123"::sys$sysdevice:[wp]*.txt' /tmp
 
 
Copy an executable to VMS:
 
    dncopy -mblock test.exe 'tramp"christine pjc123"::[.BIN]'
 
 
Copy a file to VMS and set its protection
 
    dncopy secret.dat  marsha:: -p (s:, o:rwed, g:re, w:)'
 
 
 
Display the contents of LOGIN.COM:
 
    dtype 'trisha"christine -"::login.com'
 
    You will then be prompted for a password
HELPFUL HINTS¶
For fetching files the defaults should serve for most purposes. Most VMS files
  are record orientated and 
-mrecord is the default transfer mode. It is
  rare you will need to fetch files using 
-mblock because you will get
  all the record control information downloaded too and that probably isn't any
  use to you.
 
 
 
Sending files is more complex because VMS supports far more attributes than
  Linux so you will need to know something about the file you are sending. Text
  files should be OK with the defaults unless you need to change the format from
  the default 
STREAMLF to 
VFC or 
VAR. Carriage control can
  also be specified if you want to be that picky.
 
Binary files may often need to be sent -mblock to be useful at the VMS end, You
  will probably want to specify a block size with the 
-b option. The
  default is 512 which is fairly useful but if you are sending (say) a saveset
  8192 or 32256 may be required. Trial-and-error may be the only way in some
  cases unless you know the file contents very well. If you really don't know
  what to do, just send it 
-mblock and use the set file/attr command to
  massage it on the VMS end until you are happy with it. (If you are using VMS
  earlier than 6.1 then you will need the freeware FILE utility to do this)
SEE ALSO¶
dntype(1), 
dndir(1), 
dndel(1), 
dntask(1),
  
dnsubmit(1), 
dnprint(1)