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