ref: bb36ba0617b5aa8263ea9b5ece8c1a5249fedc86
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 | .B -r .I nrunes ] [ .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. The .B -c and .B -r flags specify a number of bytes or runes to read instead of lines. .PP When reading lines, .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.