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 March 21, 2004 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. 62If 63.Ar file 64is a 65.Ux 66domain socket, 67.Nm 68connects to it and then reads it until 69.Dv EOF . 70This complements the 71.Ux 72domain binding capability available in 73.Xr inetd 8 . 74.Pp 75The options are as follows: 76.Bl -tag -width indent 77.It Fl b 78Number the non-blank output lines, starting at 1. 79.It Fl e 80Display non-printing characters (see the 81.Fl v 82option), and display a dollar sign 83.Pq Ql \&$ 84at the end of each line. 85.It Fl n 86Number the output lines, starting at 1. 87.It Fl s 88Squeeze multiple adjacent empty lines, causing the output to be 89single spaced. 90.It Fl t 91Display non-printing characters (see the 92.Fl v 93option), and display tab characters as 94.Ql ^I . 95.It Fl u 96Disable output buffering. 97.It Fl v 98Display non-printing characters so they are visible. 99Control characters print as 100.Ql ^X 101for control-X; the delete 102character (octal 0177) prints as 103.Ql ^? . 104.Pf Non- Tn ASCII 105characters (with the high bit set) are printed as 106.Ql M- 107(for meta) followed by the character for the low 7 bits. 108.El 109.Sh DIAGNOSTICS 110.Ex -std 111.Sh EXAMPLES 112The command: 113.Bd -literal -offset indent 114.Ic cat file1 115.Ed 116.Pp 117will print the contents of 118.Ar file1 119to the standard output. 120.Pp 121The command: 122.Bd -literal -offset indent 123.Ic cat file1 file2 > file3 124.Ed 125.Pp 126will sequentially print the contents of 127.Ar file1 128and 129.Ar file2 130to the file 131.Ar file3 , 132truncating 133.Ar file3 134if it already exists. 135See the manual page for your shell (i.e., 136.Xr sh 1 ) 137for more information on redirection. 138.Pp 139The command: 140.Bd -literal -offset indent 141.Ic cat file1 - file2 - file3 142.Ed 143.Pp 144will print the contents of 145.Ar file1 , 146print data it receives from the standard input until it receives an 147.Dv EOF 148.Pq Sq ^D 149character, print the contents of 150.Ar file2 , 151read and output contents of the standard input again, then finally output 152the contents of 153.Ar file3 . 154Note that if the standard input referred to a file, the second dash 155on the command-line would have no effect, since the entire contents of the file 156would have already been read and printed by 157.Nm 158when it encountered the first 159.Ql \&- 160operand. 161.Sh SEE ALSO 162.Xr head 1 , 163.Xr more 1 , 164.Xr pr 1 , 165.Xr sh 1 , 166.Xr tail 1 , 167.Xr vis 1 , 168.Xr zcat 1 , 169.Xr setbuf 3 170.Rs 171.%A Rob Pike 172.%T "UNIX Style, or cat -v Considered Harmful" 173.%J "USENIX Summer Conference Proceedings" 174.%D 1983 175.Re 176.Sh STANDARDS 177The 178.Nm 179utility is compliant with the 180.St -p1003.2-92 181specification. 182.Pp 183The flags 184.Op Fl benstv 185are extensions to the specification. 186.Sh HISTORY 187A 188.Nm 189utility appeared in 190.At v1 . 191.An Dennis Ritchie 192designed and wrote the first man page. 193It appears to have been 194.Xr cat 1 . 195.Sh BUGS 196Because of the shell language mechanism used to perform output 197redirection, the command 198.Dq Li cat file1 file2 > file1 199will cause the original data in file1 to be destroyed! 200.Pp 201The 202.Nm 203utility does not recognize multibyte characters when the 204.Fl t 205or 206.Fl v 207option is in effect. 208