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