 |
H.2. Sending and Receiving Files
Most communications programs invoke rz and
sz automatically. You can also connect to a remote
system, log in, and manually invoke sz with the
flags you want to use. Zmodem automatically downloads the files to
your home system using the same filenames. (Zmodem tools aren't
clever about filenames, so when you download to
MS-DOS, be careful about getting files with names that
can't be squeezed into the filename.ext
DOS filename limit. If you transfer
filename.extension, it arrives on your
DOS host converted to
filename.ext, which is probably OK. But, if you
try to transfer filename.more.extension, most
Zmodem utilities will give up, probably with a misleading message that
the transfer completed.)
One of the most confusing things about Zmodem transfer is determining
the command to use to perform the transfer. You have to remember
which system you are invoking the command from and which system
contains the files to transfer. A consistent way to perform Zmodem
transfer is to always invoke the transfer on the remote host, whether
uploading (sending to the remote host) or downloading (receiving from
the remote host). For example, if you are logged in to a remote host
(using C-Kermit, or Telix, or
whatever) and want to send some text
files from that system to your home system, you might enter something
like this:
$ sz -a *.txt
sz would queue the files and successively send them
back to the local system. The -a option stands
for ASCII and ensures that carriage returns and
newlines appear as they should on the system where the file ends up.
On the other hand, if you want to upload some files
(receive them on the remote host), you would simply enter the following command:
$ rz
The remote system would then prompt something like this:
rz ready to begin transfer, type "sz file
" to your modem program
**B0100000023be50
rz waits patiently for you to switch back to the
local host and give it a Zmodem send command, using
sz directly, or through the
software you are using. For example, if you call the remote host
using ProComm, you would press Page Up and select
Zmodem transfer from the pop-up menu and then
enter the files to send on the input line ProComm provides.
When sending files from a Macintosh system to a
Unix or Linux host via Zmodem
protocol, remember
that the filenames cannot have spaces in them.
The following command checks some text files and sends only the
.txt and .doc files that
exist on both systems and that are newer on the sending system.
Conversion of Unix newlines to
DOS-style carriage return/linefeed is performed
automatically by most receiving Zmodem packages:
$ sz -Yan *.txt *.doc
In many versions (not all, unfortunately) you can pipe the output of a
process from a remote host to sz using a dash
argument (sz -), and sz
automatically sends the file on to you. A filename for the output is
generated by putting an s in front of the process
ID of the process that pipes the standard input to
sz and appending a .sz
suffix. For example, to get a printout of the
sz.1 manual page on the remote system (versions
of sz software vary, of course), you might enter:
man sz | col -b | sz -
where col -b strips out the backspacing that was put into the
formatted output by
the man command to implement highlighting and underscoring
on the display. The dash argument to sz tells it
to send the file back to your local system. When you get offline and
check, you might find the file saved locally as something like
/tmp/s7750.sz. (the
/tmp directory is the most common
receiving directory that a given communications program uses unless
the current directory is used.)
 |  |  | | H. Zmodem File Transfer |  | H.3. Summary of rz and sz Options |
Copyright © 2001 O'Reilly & Associates. All rights reserved.
|
 |
|