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