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