File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / lrzsz / man / lsz.1
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Thu Oct 24 15:49:50 2019 UTC (5 years, 5 months ago) by misho
Branches: lrzsz, MAIN
CVS tags: v0_12_20p5, HEAD
lrzsz ver 0.12.20

    1: '\"
    2: '\" Revision Level 
    3: '\" Last Delta     04-21-88
    4: .TH SZ 1 2.6.1996 lrzsz-0.12b
    5: .SH NAME
    6: sx, sb, sz \- XMODEM, YMODEM, ZMODEM file send
    7: .SH SYNOPSIS
    8: sz
    9: .RB [\- +8abdefkLlNnopqTtuvyY ]
   10: .I file ...
   11: .br
   12: sb
   13: .RB [\- adfkqtuv ]
   14: .I file ...
   15: .br
   16: sx
   17: .RB [\- akqtuv ]
   18: .I file
   19: .br
   20: sz
   21: .RB [\- oqtv ]
   22: .B "-c COMMAND"
   23: .br
   24: sz
   25: .RB [\- oqtv ]
   26: .B "-i COMMAND"
   27: .br
   28: sz -TT
   29: .SH DESCRIPTION
   30: .B Sz
   31: uses the ZMODEM, YMODEM or XMODEM error correcting protocol to send
   32: one or more files over a dial-in serial port to a variety of programs running under
   33: PC-DOS, CP/M, Unix, VMS, and other operating systems.
   34: 
   35: While
   36: .I rz
   37: is smart enough to be called from
   38: .I cu(1),
   39: very few versions of
   40: .I cu(1)
   41: are smart enough to allow
   42: .I sz
   43: to work properly.
   44: Unix flavors of Professional-YAM are available for such dial-out application.
   45: 
   46: 
   47: .B Sz
   48: sends one or more files with ZMODEM protocol.
   49: 
   50: ZMODEM
   51: greatly simplifies file transfers compared to XMODEM.
   52: In addition to a friendly user interface, ZMODEM
   53: provides Personal Computer and other users
   54: an efficient, accurate, and robust file transfer method.
   55: 
   56: ZMODEM provides complete
   57: .B "END-TO-END"
   58: data integrity between application programs.
   59: ZMODEM's 32 bit CRC catches errors
   60: that sneak into even the most advanced networks.
   61: 
   62: Advanced file management features include
   63: AutoDownload (Automatic file Download initiated without user intervention),
   64: Display of individual and total file lengths and transmission time estimates,
   65: Crash Recovery,
   66: selective file transfers,
   67: and preservation of
   68: exact file date and length.
   69: 
   70: Output from another program may be piped to
   71: .B sz
   72: for transmission by denoting standard input with "-":
   73: .ce
   74: ls -l | sz -
   75: The program output is transmitted with the filename sPID.sz
   76: where PID is the process ID of the
   77: .B sz
   78: program.
   79: If the environment variable
   80: .B ONAME
   81: is set, that is used instead.
   82: In this case, the Unix command:
   83: .ce
   84: ls -l | ONAME=con sz -ay -
   85: will send a "file" to the PC-DOS console display.
   86: The
   87: .B -y
   88: option instructs the receiver to open the file for writing unconditionally.
   89: The
   90: .B -a
   91: option
   92: causes the receiver to convert Unix newlines to PC-DOS carriage returns
   93: and linefeeds.
   94: 
   95: 
   96: .B Sb
   97: batch sends one or more files with YMODEM or ZMODEM protocol.
   98: The initial ZMODEM initialization is not sent.
   99: When requested by the receiver,
  100: .B sb
  101: supports
  102: .B YMODEM-g
  103: with "cbreak" tty mode, XON/XOFF flow control,
  104: and interrupt character set to CAN (^X).
  105: .B YMODEM-g
  106: (Professional-YAM
  107: .B g
  108: option)
  109: increases throughput over error free channels
  110: (direct connection, X.PC, etc.)
  111: by not acknowledging each transmitted sector.
  112: 
  113: On
  114: .SM Unix
  115: systems, additional information about the file is transmitted.
  116: If the receiving program uses this information,
  117: the transmitted file length controls the exact number of bytes written to
  118: the output dataset,
  119: and the modify time and file mode
  120: are set accordingly.
  121: 
  122: 
  123: .B Sx
  124: sends a single
  125: .I file
  126: with
  127: .B XMODEM
  128: or
  129: .B XMODEM-1k
  130: protocol
  131: (sometimes incorrectly called "ymodem").
  132: The user must supply the file name to both sending and receiving programs.
  133: 
  134: If
  135: .B sz
  136: is invoked with $SHELL set and iff that variable contains the
  137: string
  138: .I "rsh"
  139: ,
  140: .I "rbash"
  141: or
  142: .I "rksh"
  143: (restricted shell),
  144: .B sz
  145: operates in restricted mode.
  146: Restricted mode restricts pathnames to the current directory and
  147: PUBDIR (usually /usr/spool/uucppublic) and/or subdirectories
  148: thereof.
  149: 
  150: 
  151: The fourth form sends a single COMMAND to a ZMODEM receiver for execution.
  152: .B Sz
  153: exits with the COMMAND return value.
  154: If COMMAND includes spaces or characters special to the shell,
  155: it must be quoted.
  156: 
  157: 
  158: The fifth form sends a single COMMAND to a ZMODEM receiver for execution.
  159: .B Sz
  160: exits as soon as the receiver has correctly received the command,
  161: before it is executed.
  162: 
  163: 
  164: The sixth form (sz -TT)
  165: attempts to output all 256 code combinations to the terminal.
  166: In you are having difficulty sending files,
  167: this command lets you see which character codes are being
  168: eaten by the operating system.
  169: 
  170: 
  171: If
  172: .B sz
  173: is invoked with stdout and stderr to different datasets,
  174: Verbose is set to 2, causing frame by frame progress reports
  175: to stderr.
  176: This may be disabled with the
  177: .B q
  178: option.
  179: .PP
  180: The meanings of the available options are:
  181: .PP
  182: .PD 0
  183: .TP
  184: .B "-+, --append"
  185: Instruct the receiver to append transmitted data to an existing file
  186: (ZMODEM only).
  187: .TP 
  188: .B "-2, --twostop"
  189: use two stop bits (if possible). Do not use this unless you know
  190: what you are doing.
  191: .TP
  192: .B "-8, --try-8k"
  193: Try to go up to 8KB blocksize. This is incompatible with standard zmodem,
  194: but a common extension in the bbs world. (ZMODEM only).
  195: .TP
  196: .B "--start-8k"
  197: Start with 8KB blocksize. Like --try-8k.
  198: .TP
  199: .B "-a, --ascii"
  200: Convert NL characters in the transmitted file to CR/LF.
  201: This is done by the sender for XMODEM and YMODEM, by the receiver
  202: for ZMODEM.
  203: .TP
  204: .B "-b, --binary"
  205: (ZMODEM) Binary override: transfer file without any translation.
  206: .TP
  207: .B "-B NUMBER, --bufsize NUMBER"
  208: Use a readbuffer of 
  209: .B NUMBER
  210: bytes. Default ist 16384, which should be enough
  211: for most situations. If you have a slow machine or a bad disk interface
  212: or suffer from other hardware problems you might want to increase
  213: the buffersize.
  214: .B -1
  215: or
  216: .B auto
  217: use a buffer large enough to buffer the whole file. Be careful with this
  218: option - things normally get worse, not better, if the machine starts
  219: to swap.
  220: 
  221: Using this option turns of memory mapping of the input file. This
  222: increases memory and cpu usage.
  223: .TP
  224: .B "-c COMMAND, --command COMMAND"
  225: Send COMMAND to the receiver for execution, return with COMMAND\'s exit status.
  226: .TP
  227: .B "-C N, --command-tries N"
  228: Retry to send command N times (default: 11).
  229: .TP
  230: .B "-d, --dot-to-slash"
  231: Change all instances of "." to "/" in the transmitted pathname.
  232: Thus, C.omenB0000 (which is unacceptable to MSDOS or CP/M)
  233: is transmitted as C/omenB0000.
  234: If the resultant filename has more than 8 characters in the stem,
  235: a "." is inserted to allow a total of eleven.
  236: 
  237: This option enables the 
  238: .B "--full-path"
  239: option.
  240: .TP
  241: .B "--delay-startup N"
  242: Wait
  243: .B N
  244: seconds before doing anything.
  245: .TP
  246: .B "-e, --escape"
  247: Escape all control characters;
  248: normally XON, XOFF, DLE, CR-@-CR, and Ctrl-X are escaped.
  249: .TP 
  250: .B"-E, --rename"
  251: Force the sender to rename the new file if a file with the same
  252: name already exists.
  253: .TP
  254: .B "-f, --full-path"
  255: Send Full pathname.
  256: Normally directory prefixes are stripped from the transmitted
  257: filename.
  258: 
  259: This is also turned on with to 
  260: .B "--dot-to-slash"
  261: option.
  262: .TP
  263: .B "-h, --help"
  264: give help.
  265: .TP
  266: .B "-i COMMAND, --immediate-command COMMAND"
  267: Send COMMAND to the receiver for execution, return immediately
  268: upon the receiving program's successful recption of the command.
  269: .TP
  270: .B "-k, --1k"
  271: (XMODEM/YMODEM) Send files using 1024 byte blocks
  272: rather than the default 128 byte blocks.
  273: 1024 byte packets speed file transfers at high bit rates.
  274: (ZMODEM streams the data for the best possible throughput.)
  275: .TP
  276: .B "-L N, --packetlen N"
  277: Use ZMODEM sub-packets of length N.
  278: A larger N (32 <= N <= 1024) gives slightly higher throughput,
  279: a smaller N speeds error recovery.
  280: The default is 128 below 300 baud, 256 above 300 baud, or 1024 above 2400 baud.
  281: .TP 
  282: .B "-m N, --min-bps N"
  283: Stop transmission if BPS-Rate (Bytes Per Second) falls below N for a 
  284: certain time (see --min-bps-time option).
  285: .TP
  286: .B "-M N, --min-bps-time"
  287: Used together with --min-bps. Default is 120 (seconds).
  288: .TP
  289: .B "-l N, --framelen N"
  290: Wait for the receiver to acknowledge correct data every
  291: .B N
  292: (32 <= N <= 1024)
  293: characters.
  294: This may be used to avoid network overrun when XOFF flow control is lacking.
  295: .TP
  296: .B "-n, --newer"
  297: (ZMODEM) Send each file if
  298: destination file does not exist.
  299: Overwrite destination file if
  300: source file is newer than the destination file.
  301: .TP
  302: .B "-N, --newer-or-longer"
  303: (ZMODEM) Send each file if
  304: destination file does not exist.
  305: Overwrite destination file if
  306: source file is newer or longer than the destination file.
  307: .TP
  308: .B "-o, --16-bit-crc"
  309: (ZMODEM) Disable automatic selection of 32 bit CRC.
  310: .TP
  311: .B "-O, --disable-timeouts"
  312: Disable read timeout handling. This makes lsz hang if the other side
  313: doesn't send anything, but increases performance (not much) and
  314: decreases system load (reduces number of system calls by about 50
  315: percent).
  316: 
  317: Use this option with care.
  318: .TP
  319: .B "-p, --protect"
  320: (ZMODEM) Protect existing destination files by skipping transfer if the
  321: destination file exists.
  322: .TP
  323: .B "-q, --quiet"
  324: Quiet suppresses verbosity.
  325: .TP
  326: .B "-R, --restricted"
  327: Restricted mode: restricts pathnames to the current directory and
  328: PUBDIR (usually /usr/spool/uucppublic) and/or subdirectories
  329: thereof.
  330: .TP
  331: .B "-r, --resume"
  332: (ZMODEM) Resume interrupted file transfer.
  333: If the source file is longer than the destination file,
  334: the transfer commences at the offset in the source file that equals
  335: the length of the destination file.
  336: .TP
  337: .B "-s HH:MM, --stop-at HH:MM"
  338: Stop transmission at
  339: .B HH 
  340: hours, 
  341: .B MM
  342: minutes. Another variant, using 
  343: .B +N 
  344: instead of 
  345: .B HH:MM,
  346: stops transmission in
  347: .B N
  348: seconds.
  349: .TP
  350: .B "-S, --timesync"
  351: enable timesync protocol support. See timesync.doc for further 
  352: information.
  353: 
  354: This option is incompatible with standard zmodem. Use it with care.
  355: .TP
  356: .B "--syslog[=off]"
  357: turn syslogging on or off. the default is set at configure time.
  358: This option is ignored if no syslog support is compiled in.
  359: .TP
  360: .B "-t TIM, --timeout TIM"
  361: Change timeout to
  362: .I TIM
  363: tenths of seconds.
  364: .TP
  365: .B "-T, --turbo"
  366: Do not escape certain characters (^P, ^P|0x80, telenet escape sequence
  367: [CR + @]). This improves performance by about 1 percent and shouldn't
  368: hurt in the normal case (but be careful - ^P might be useful if connected
  369: through a terminal server).
  370: .TP
  371: .B "--tcp"
  372: Try to initiate a TCP/IP connection. lsz will ask the receiving zmodem
  373: to open a TCP/IP connection. All handshaking (which address / port to
  374: use) will be done by the zmodem programs.
  375: 
  376: You will normally not want to use this option as lrzsz is the only
  377: zmodem which understands what to do (private extension). You might
  378: want to use this option if the two programs are connected
  379: (stdin/out) over a slow or bad (not 8bit clean) network connection.
  380: 
  381: Use of this option imposes a security risk, somebody else could connect
  382: to the port in between. See
  383: .B SECURITY
  384: for details.
  385: .TP
  386: .B "--tcp-client ADDRESS:PORT"
  387: Act as a tcp/ip client: Connect to the given port.
  388: 
  389: See
  390: .B "--tcp-server"
  391: for more information.
  392: 
  393: .TP
  394: .B "--tcp-server"
  395: Act as a server: Open a socket, print out what to do, wait for connection.
  396: 
  397: You will normally not want to use this option as lrzsz is the only
  398: zmodem which understands what to do (private extension). You might
  399: want to use this if you have to use zmodem (for which reason whatever),
  400: and cannot use the
  401: .B --tcp
  402: option of
  403: .I lsz
  404: (perhaps because your telnet doesn't allow to spawn a local program
  405: with stdin/stdout connected to the remote side).
  406: 
  407: If you use this option you have to start
  408: .I lsz
  409: with the
  410: .B --tcp-client ADDRESS:PORT
  411: option.
  412: .I lrz will print the address and port on startup.
  413: 
  414: Use of this option imposes a security risk, somebody else could connect
  415: to the port in between. See
  416: .B SECURITY
  417: for details.
  418: 
  419: .TP
  420: .B "-u"
  421: Unlink the file after successful transmission.
  422: .TP
  423: .B "-U, --unrestrict"
  424: Turn off restricted mode (this is not possible if running under a 
  425: restricted shell).
  426: .TP
  427: .B "-w N, --windowsize N"
  428: Limit the transmit window size to N bytes (ZMODEM).
  429: .TP
  430: .B "-v, --verbose"
  431: Verbose output to stderr. More v's generate more output.
  432: .TP
  433: .B "-X, --xmodem"
  434: use XMODEM protocol.
  435: .TP
  436: .B "-y, --overwrite"
  437: Instruct a ZMODEM receiving program to overwrite any existing file
  438: with the same name.
  439: .TP
  440: .B "-Y, --overwrite-or-skip"
  441: Instruct a ZMODEM receiving program to overwrite any existing file
  442: with the same name,
  443: and to skip any source files that do have a file with the same
  444: pathname on the destination system.
  445: .TP
  446: .B "--ymodem"
  447: use ZMODEM protocol.
  448: .TP
  449: .B "-Z, --zmodem"
  450: use ZMODEM protocol.
  451: .PD
  452: .SH SECURITY
  453: Restricted mode restricts pathnames to the current directory
  454: and PUBDIR (usually /var/spool/uucppublic)
  455: and/or subdirectories thereof, and disables remote command
  456: execution.
  457: 
  458: Restricted mode is entered if the 
  459: .B R
  460: option is given or if lsz detects that it runs under a restricted
  461: shell or if the environment variable ZMODEM_RESTRICTED is found.
  462: 
  463: Restricted mode can be turned of with the 
  464: .B U
  465: option if not running under a restricted shell.
  466: 
  467: .TP
  468: Use of the
  469: .B --tcp-client
  470: or
  471: .B --tcp-server
  472: options imposes a security risk, as somebody else could connect to
  473: the port before you do it, and grab your data. If there's strong
  474: demand for a more secure mode i might introduce some sort of
  475: password challenge.
  476: 
  477: 
  478: .SH ENVIRONMENT
  479: .TP
  480: .B ZNULLS
  481: may be used to specify the number of nulls to send before a ZDATA frame.
  482: .TP
  483: .B SHELL
  484: lsz recognizes a restricted shell if this variable includes
  485: .I "rsh"
  486: or
  487: .I "rksh"
  488: .TP
  489: .B ZMODEM_RESTRICTED
  490: lrz enters restricted mode if the variable is set.
  491: .TP
  492: .B TMPDIR
  493: If this environment variable is set its content is used as the 
  494: directory to place in the answer file to a 
  495: .B timesync 
  496: request.
  497: .B TMP
  498: Used instead of TMPDIR if TMPDIR is not set. If neither TMPDIR nor
  499: TMP is set /tmp will be used.
  500: .SH EXAMPLES
  501: .ne 7
  502: .B "ZMODEM File Transfer"
  503: (Unix to DSZ/ZCOMM/Professional-YAM)
  504: .br
  505: .B "% sz \-a *.c"
  506: .br
  507: This single command transfers all .c files in the current Unix directory
  508: with conversion
  509: .RB ( \-a )
  510: to end of line conventions appropriate to the receiving environment.
  511: With ZMODEM AutoDownload enabled, Professional-YAM  and ZCOMM
  512: will automatically recieve
  513: the files after performing a security check.
  514: 
  515: .br
  516: .B "% sz \-Yan *.c *.h"
  517: .br
  518: Send only the .c and .h files that exist on both systems,
  519: and are newer on the sending system than the
  520: corresponding version on the receiving system, converting Unix to
  521: DOS text format.
  522: .br
  523: .B
  524: $ sz -\\Yan file1.c file2.c file3.c foo.h baz.h
  525: .R
  526: (for VMS)
  527: .br
  528: 
  529: .B "ZMODEM Command Download"
  530: (Unix to Professional-YAM)
  531: .br
  532:  cpszall:all
  533:     sz \-c "c:;cd /yam/dist"
  534:     sz \-ya $(YD)/*.me
  535:     sz \-yqb y*.exe
  536:     sz \-c "cd /yam"
  537:     sz \-i "!insms"
  538: .br
  539: This Makefile fragment uses
  540: .B sz
  541: to issue commands to Professional-YAM to change current disk and directory.
  542: Next,
  543: .B sz
  544: transfers the
  545: .I .me
  546: files from the $YD directory, commanding the receiver to overwrite the old files
  547: and to convert from Unix end of line conventions to PC-DOS conventions.
  548: The third line transfers some
  549: .I .exe
  550: files.
  551: The fourth and fifth lines command Pro-YAM to
  552: change directory and execute a PC-DOS batch file
  553: .I insms .
  554: Since the batch file takes considerable time, the
  555: .B "\-i"
  556: form is used to allow
  557: .B sz
  558: to exit immediately.
  559: 
  560: .B "XMODEM File Transfer"
  561: (Unix to Crosstalk)
  562: .br
  563: %
  564: .B "sx \-a foo.c"
  565: .br
  566: .B "ESC"
  567: .br
  568: .B "rx foo.c"
  569: .br
  570: The above three commands transfer a single file
  571: from Unix to a PC and Crosstalk with
  572: .I sz
  573: translating Unix newlines to DOS CR/LF.
  574: This combination is much slower and far less reliable than ZMODEM.
  575: .SH ERROR MESSAGES
  576: "Caught signal 99"
  577: indicates the program was not properly compiled,
  578: refer to "bibi(99)" in rbsb.c for details.
  579: .SH SEE ALSO
  580: rz(omen),
  581: ZMODEM.DOC,
  582: YMODEM.DOC,
  583: Professional-YAM,
  584: crc(omen),
  585: sq(omen),
  586: todos(omen),
  587: tocpm(omen),
  588: tomac(omen),
  589: yam(omen)
  590: 
  591: Compile time options required for various operating systems are described in
  592: the source file.
  593: .SH "VMS VERSION"
  594: The VMS version does not support wild cards.
  595: Because of VMS DCL, upper case option letters muse be represented
  596: by \\ proceding the letter.
  597: 
  598: The current VMS version does not support XMODEM, XMODEM-1k, or YMODEM.
  599: 
  600: VMS C Standard I/O and RMS may interact to modify the file contents.
  601: .SH FILES
  602: 32 bit CRC code courtesy Gary S. Brown.
  603: 
  604: sz.c, crctab.c, rbsb.c, zm.c, zmodem.h Unix source files
  605: 
  606: sz.c, crctab.c, vrzsz.c, zm.c, zmodem.h, vmodem.h, vvmodem.c,
  607: VMS source files.
  608: 
  609: /tmp/szlog stores debugging output (sz -vv)
  610: (szlog on VMS).
  611: .SH "TESTING FEATURE"
  612: The command "sz -T file"
  613: exercises the
  614: .B Attn
  615: sequence error recovery by commanding
  616: errors with unterminated packets.
  617: The receiving program should complain five times about
  618: binary data packets being too long.
  619: Each time
  620: .B sz
  621: is interrupted,
  622: it should send a ZDATA header followed by another defective packet.
  623: If the receiver does not detect five long data packets,
  624: the
  625: .B Attn
  626: sequence is not interrupting the sender, and the
  627: .B Myattn
  628: string in
  629: .B sz.c
  630: must be modified.
  631: 
  632: After 5 packets,
  633: .B sz
  634: stops the "transfer" and
  635: prints the total number of characters "sent" (Tcount).
  636: The difference between Tcount and 5120 represents the number of characters
  637: stored in various buffers when the Attn sequence is generated.
  638: .SH BUGS
  639: Calling
  640: .I sz
  641: from most versions of cu(1) doesn't work because cu's receive process
  642: fights
  643: .I sz
  644: for characters from the modem.
  645: 
  646: On at least one BSD system, sz would hang or exit when it got within
  647: a few kilobytes of the end of file.
  648: Using the "-w 8192" flag fixed the problem.
  649: The real cause is unknown, perhaps a bug in the kernel TTY output routines.
  650: 
  651: Programs that do not properly implement the specified file transfer protocol
  652: may cause
  653: .I sz
  654: to "hang" the port for a minute or two.
  655: This problem is corrected by using
  656: ZCOMM, Pro-YAM, or other program with a correct implementation
  657: of the specified protocol.
  658: 
  659: Many programs claiming to support YMODEM only support XMODEM with 1k blocks,
  660: and they often don't get that quite right.
  661: 
  662: XMODEM transfers add up to 127 garbage bytes per file.
  663: XMODEM-1k and YMODEM-1k transfers use 128 byte blocks
  664: to avoid extra padding.
  665: 
  666: YMODEM programs use the file length transmitted at the beginning of the
  667: transfer to prune the file to the correct length; this may cause problems with
  668: source files that grow during the course of the transfer.
  669: This problem does not pertain to ZMODEM transfers, which preserve the exact
  670: file length unconditionally.
  671: 
  672: Most ZMODEM options are merely passed to the receiving program;
  673: some do not implement all these options.
  674: 
  675: Circular buffering and a ZMODEM sliding window should be used
  676: when input is from pipes instead of acknowledging frames each 1024 bytes.
  677: If no files can be opened,
  678: .B sz
  679: sends a ZMODEM command to echo a suitable complaint;
  680: perhaps it should check for the presence of at least one accessible file before
  681: getting hot and bothered.
  682: The test mode leaves a zero length file on the receiving system.
  683: 
  684: A few high speed modems have a firmware bug that drops characters when the
  685: direction of high speed transmissson is reversed.
  686: The environment variable ZNULLS may be used to specify the number of nulls to
  687: send before a ZDATA frame.
  688: Values of 101 for a 4.77 mHz PC and 124 for an AT are typical.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>