1.\" $NetBSD: cat.1,v 1.38 2014/06/15 07:27:22 wiz Exp $ 2.\" 3.\" Copyright (c) 1989, 1990, 1993 4.\" The Regents of the University of California. All rights reserved. 5.\" 6.\" This code is derived from software contributed to Berkeley by 7.\" the Institute of Electrical and Electronics Engineers, Inc. 8.\" 9.\" Redistribution and use in source and binary forms, with or without 10.\" modification, are permitted provided that the following conditions 11.\" are met: 12.\" 1. Redistributions of source code must retain the above copyright 13.\" notice, this list of conditions and the following disclaimer. 14.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" notice, this list of conditions and the following disclaimer in the 16.\" documentation and/or other materials provided with the distribution. 17.\" 3. Neither the name of the University nor the names of its contributors 18.\" may be used to endorse or promote products derived from this software 19.\" without specific prior written permission. 20.\" 21.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 22.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 25.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31.\" SUCH DAMAGE. 32.\" 33.\" @(#)cat.1 8.3 (Berkeley) 5/2/95 34.\" 35.Dd June 15, 2014 36.Dt CAT 1 37.Os 38.Sh NAME 39.Nm cat 40.Nd concatenate and print files 41.Sh SYNOPSIS 42.Nm 43.Op Fl beflnstuv 44.Op Fl B Ar bsize 45.Op Fl 46.Op Ar 47.Sh DESCRIPTION 48The 49.Nm 50utility reads files sequentially, writing them to the standard output. 51The 52.Ar file 53operands are processed in command line order. 54A single dash represents the standard input, 55and may appear multiple times in the 56.Ar file 57list. 58If no 59.Ar file 60operands are given, standard input is read. 61.Pp 62The word 63.Dq concatenate 64is just a verbose synonym for 65.Dq catenate . 66.Pp 67The options are as follows: 68.Bl -tag -width Ds 69.It Fl B Ar bsize 70Read with a buffer size of 71.Ar bsize 72bytes, instead of the default buffer size which is the blocksize of the 73output file. 74.It Fl b 75Implies the 76.Fl n 77option, but doesn't number blank lines. 78.It Fl e 79Implies the 80.Fl v 81option, and displays a dollar sign 82.Pq Ql \&$ 83at the end of each line 84as well. 85.It Fl f 86Only attempt to display regular files. 87.It Fl l 88Set an exclusive advisory lock on the standard output file descriptor. 89This lock is set using 90.Xr fcntl 2 91with the 92.Dv F_SETLKW 93command. 94If the output file is already locked, 95.Nm 96will block until the lock is acquired. 97.It Fl n 98Number the output lines, starting at 1. 99.It Fl s 100Squeeze multiple adjacent empty lines, causing the output to be 101single spaced. 102.It Fl t 103Implies the 104.Fl v 105option, and displays tab characters as 106.Ql ^I 107as well. 108.It Fl u 109The 110.Fl u 111option guarantees that the output is unbuffered. 112.It Fl v 113Displays non-printing characters so they are visible. 114Control characters print as 115.Ql ^X 116for control-X; the delete 117character (octal 0177) prints as 118.Ql ^? . 119Non-ascii characters (with the high bit set) are printed as 120.Ql M- 121(for meta) followed by the character for the low 7 bits. 122.El 123.Sh EXIT STATUS 124The 125.Nm 126utility exits 0 on success, and \*[Gt]0 if an error occurs. 127.Sh EXAMPLES 128The command: 129.Bd -literal -offset indent 130.Ic cat file1 131.Ed 132.Pp 133will print the contents of 134.Ar file1 135to the standard output. 136.Pp 137The command: 138.Bd -literal -offset indent 139.Ic cat file1 file2 \*[Gt] file3 140.Ed 141.Pp 142will sequentially print the contents of 143.Ar file1 144and 145.Ar file2 146to the file 147.Ar file3 , 148truncating 149.Ar file3 150if it already exists. 151See the manual page for your shell (e.g., 152.Xr sh 1 ) 153for more information on redirection. 154.Pp 155The command: 156.Bd -literal -offset indent 157.Ic cat file1 - file2 - file3 158.Ed 159.Pp 160will print the contents of 161.Ar file1 , 162print data it receives from the standard input until it receives an 163.Dv EOF 164.Pq Sq ^D 165character, print the contents of 166.Ar file2 , 167read and output contents of the standard input again, then finally output 168the contents of 169.Ar file3 . 170Note that if the standard input referred to a file, the second dash 171on the command-line would have no effect, since the entire contents of the file 172would have already been read and printed by 173.Nm 174when it encountered the first 175.Ql \&- 176operand. 177.Sh SEE ALSO 178.Xr head 1 , 179.Xr hexdump 1 , 180.Xr lpr 1 , 181.Xr more 1 , 182.Xr pr 1 , 183.Xr tail 1 , 184.Xr view 1 , 185.Xr vis 1 , 186.Xr fcntl 2 187.Rs 188.%A Rob Pike 189.%T "UNIX Style, or cat -v Considered Harmful" 190.%J "USENIX Summer Conference Proceedings" 191.%D 1983 192.Re 193.Sh STANDARDS 194The 195.Nm 196utility is expected to conform to the 197.St -p1003.2-92 198specification. 199.Pp 200The flags 201.Op Fl Bbeflnstv 202are extensions to the specification. 203.Sh HISTORY 204A 205.Nm 206utility appeared in 207.At v1 . 208Dennis Ritchie designed and wrote the first man page. 209It appears to have been 210.Xr cat 1 . 211.Sh BUGS 212Because of the shell language mechanism used to perform output 213redirection, the command 214.Dq Li cat file1 file2 \*[Gt] file1 215will cause the original data in file1 to be destroyed! 216This is performed by the shell before 217.Nm 218is run. 219