.so src2 \&.TH CAT 1 \&.SH NAME cat, read \- catenate files \&.SH SYNOPSIS \&.B cat [ \&.I file ... ] \&.br \&.B read [ \&.B -m ] [ \&.B -n \&.I nline ] [ \&.I file ... ] \&.SH DESCRIPTION \&.I Cat reads each \&.I file in sequence and writes it on the standard output. Thus \&.IP \&.L cat file \&.LP prints a file and \&.IP \&.L cat file1 file2 >file3 \&.LP concatenates the first two files and places the result on the third. \&.PP If no \&.I file is given, \&.I cat reads from the standard input. Output is buffered in blocks matching the input. \&.PP \&.I Read copies to standard output exactly one line from the named \&.IR file , default standard input. It is useful in interactive \&.IR rc (1) scripts. \&.PP The \&.B -m flag causes it to continue reading and writing multiple lines until end of file; \&.B -n causes it to read no more than \&.I nline lines. \&.PP \&.I Read always executes a single \&.B write for each line of input, which can be helpful when preparing input to programs that expect line-at-a-time data. It never reads any more data from the input than it prints to the output. \&.SH SOURCE \&.B /sys/src/cmd/cat.c \&.br \&.B /sys/src/cmd/read.c \&.SH SEE ALSO \&.IR cp (1) \&.SH DIAGNOSTICS \&.I Read exits with status \&.B eof on end of file or, in the \&.B -n case, if it doesn't read \&.I nlines lines. \&.SH BUGS Beware of \&.L "cat a b >a" and \&.LR "cat a b >b" , which destroy input files before reading them.