Name
tofile — read a stream of data from stdin and write to a z/OS POSIX file
Synopsis
tofile [OPTION...]filenametofile-ssh[ssh-opt...][user]@host[OPTION...]filenametofile-local[OPTION...]filenametofile-vtofile-h
Description
The tofile command writes a stream of bytes to
filename using a stream of data read from stdin.
Codepage translation is performed and custom source line terminators are
respected depending on the options provided.
The tofile command runs in one of three environments:
locally (default on z/OS sytems)
remotely, from a client which was started by Co:Z launcher.
remotely, from a client that started a durable session to the server using the cozcontrol command.
remotely, from a client-initiated ssh connection:
-sshoption
filename is a path to the z/OS POSIX file to write. It may be either
an absolute path or relative path.
Options
-ssh[ssh-options...][user]@hostSpecifies a remote invocation of tofile using a client-initiated ssh connection to the given z/OS user@host. If specified, this must be the first command option.
-localSpecifies the use of local z/OS I/O, even if run via CoZLauncher. Applicable when the source and target are both z/OS. If specified, this must be the first command option.
-aopen
filenamein append mode.-bbinary mode. Bytes are streamed as-is from stdin to the POSIX file.
-fbegin writing data to
filenameimmediately (disable buffering). This is the default if used with a tunneled socket.-hdisplay help and exit.
-lline-separatorflexible|cr|lf|crlf|nl|crnlsource lines are separated by combination of linefeed and/or carriage return characters. The default is 'flexible' which allows for any of the other patterns above. These characters are taken from the source codepage.
0xbb[bb..]source lines are followed with a hex character sequence. The sequence must be between 1 and 8 bytes long.
nonesource lines do not have separators.
-Llogging-optionsA comma-separated list of options to control logging and tracing.
M|A|C|E|W|N|I|D|T|FLogging threshhold: eMergency, Alert, Critical, Error, Warning, Notice (default), Info, Debug, Trace, Fine.
tPrefix log messages with a system timestamp
eInclude consumed cpu time in log messages
f=filenameMessages are logged to
filenameon the server instead of stderr. If not fully qualified, the file is written to the user's home directory on the server.sMessages are logged to SYSLOG facility instead of stderr
component=M|A|C|E|W|N|I|D|T|FSet the logging threshold for a specific component. Specify only at the request of product support personnel.
-mfile_access_modethe file access mode (as an octal number) to apply to
filename.-ndo not replace
filenameif it exists.-pmake the path components to
filenameif they don't exist (ala mkdir -p).-qtechnique-strCodepage conversion technique string. Used to override the default Unicode Services value of
LMREC. For more information, see IBM's Unicode Services User's Guide and Reference (SA22-7649).-ssource-codepagethe codepage name or numeric CCSID id of the data read from stdin. If not specified and invoked from a remote client, the default client codepage is used.
-ttarget-codepagethe codepage name or numeric CCSID id of the output
filename. If not specified, the default z/OS process codepage is used. Translation is disabled if source-codepage equals target-code- page.-TSTANDARD | translate_table_dsnameSpecifies the translate table to use for text mode transfers. This option overrides the
-s -t -qoptions if also given. IfSTANDARD, the translate table TCPIP.STANDARD.TCPXLBIN is used. If a dataset name is supplied, it is expected to be in the format produced by the TSO CONVXLAT command. Only single byte translations are supported. Specifically, the dataset DCB must be LRECL=256,RECFM=F and contain two translation table records. The first record is an ASCII-to-EBCDIC mapping; the second record is an EBCDIC-to-ASCII mapping. Additional comment records (starting with * in the first column) are allowed.-uumaskthe umask (as an octal number) to apply to
filename.-vdisplay the current version and exit.
-zallow for an empty input stream. If not specified, the default is to exit with an error and not open or write to the output filename if the input stream is empty.
Examples
Local z/OS Examples
tofile -t ISO8859-1 /home/user/myfile.iso8859 < myfileCreates a copy of an HFS or zFS file locally, translating the default z/OS process codepage to ISO8859-1.
tofile -p /home/user/newdir/myfile < myfileCopies an HFS or zFS file to a new location, creating any missing path components (e.g. newdir).
Remote Client SSH Connection Examples
tofile -ssh user@myzos2.com /home/user/mydata < /tmp/dataUploads a remote file over an SSH connection (Unix). Codepage translation is performed from the remote unix codepage to the current z/OS process codepage.
tofile -ssh user@myzos2.com -b /home/user/data.bin < /tmp/data.binUploads a remote file over an SSH connection as-is (no codepage translation is performed).
cat /tmp/myscript.sh | tofile -ssh -p 2222 user@myzos2.com -m 0777 /home/user/myscript.shUploads a remote file with additional ssh options. The target file will be given a file access mask of 0777 (rwxrwxrwx), but is subject to the user's existing umask.
