ref: ab3492f05e5998f79befe6e7397175f4bdb39149
dir: /sys/man/1/cat/
.TH CAT 1 .SH NAME cat, read \- catenate files .SH SYNOPSIS .B cat [ .I file ... ] .br .B read [ .B -m ] [ .B -n .I nlines ] [ .B -c .I nbytes ] [ .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 nlines lines. .PP With the .B -c flag, .I read copies exactly .I nbytes of characters instead of lines. It is mutually exclusive with .B -n and .B -m flag. .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.