xref: /freebsd/bin/cat/cat.1 (revision d2387d42b8da231a5b95cbc313825fb2aadf26f6)
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