]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - bin/cat/cat.1
libucl: import snapshot 2024-02-06
[FreeBSD/FreeBSD.git] / bin / cat / cat.1
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 .\" 3. 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 .Dd January 29, 2013
33 .Dt CAT 1
34 .Os
35 .Sh NAME
36 .Nm cat
37 .Nd concatenate and print files
38 .Sh SYNOPSIS
39 .Nm
40 .Op Fl belnstuv
41 .Op Ar
42 .Sh DESCRIPTION
43 The
44 .Nm
45 utility reads files sequentially, writing them to the standard output.
46 The
47 .Ar file
48 operands are processed in command-line order.
49 If
50 .Ar file
51 is a single dash
52 .Pq Sq Fl
53 or absent,
54 .Nm
55 reads from the standard input.
56 If
57 .Ar file
58 is a
59 .Ux
60 domain socket,
61 .Nm
62 connects to it and then reads it until
63 .Dv EOF .
64 This complements the
65 .Ux
66 domain binding capability available in
67 .Xr inetd 8 .
68 .Pp
69 The options are as follows:
70 .Bl -tag -width indent
71 .It Fl b
72 Number the non-blank output lines, starting at 1.
73 .It Fl e
74 Display non-printing characters (see the
75 .Fl v
76 option), and display a dollar sign
77 .Pq Ql \&$
78 at the end of each line.
79 .It Fl l
80 Set an exclusive advisory lock on the standard output file descriptor.
81 This lock is set using
82 .Xr fcntl 2
83 with the
84 .Dv F_SETLKW
85 command.
86 If the output file is already locked,
87 .Nm
88 will block until the lock is acquired.
89 .It Fl n
90 Number the output lines, starting at 1.
91 .It Fl s
92 Squeeze multiple adjacent empty lines, causing the output to be
93 single spaced.
94 .It Fl t
95 Display non-printing characters (see the
96 .Fl v
97 option), and display tab characters as
98 .Ql ^I .
99 .It Fl u
100 Disable output buffering.
101 .It Fl v
102 Display non-printing characters so they are visible.
103 Control characters print as
104 .Ql ^X
105 for control-X; the delete
106 character (octal 0177) prints as
107 .Ql ^? .
108 .Pf Non- Tn ASCII
109 characters (with the high bit set) are printed as
110 .Ql M-
111 (for meta) followed by the character for the low 7 bits.
112 .El
113 .Sh EXIT STATUS
114 .Ex -std
115 .Sh EXAMPLES
116 The command:
117 .Pp
118 .Dl "cat file1"
119 .Pp
120 will print the contents of
121 .Pa file1
122 to the standard output.
123 .Pp
124 The command:
125 .Pp
126 .Dl "cat file1 file2 > file3"
127 .Pp
128 will sequentially print the contents of
129 .Pa file1
130 and
131 .Pa file2
132 to the file
133 .Pa file3 ,
134 truncating
135 .Pa file3
136 if it already exists.
137 See the manual page for your shell (e.g.,
138 .Xr sh 1 )
139 for more information on redirection.
140 .Pp
141 The command:
142 .Pp
143 .Dl "cat file1 - file2 - file3"
144 .Pp
145 will print the contents of
146 .Pa file1 ,
147 print data it receives from the standard input until it receives an
148 .Dv EOF
149 .Pq Sq ^D
150 character, print the contents of
151 .Pa file2 ,
152 read and output contents of the standard input again, then finally output
153 the contents of
154 .Pa file3 .
155 Note that if the standard input refers to a file, the second dash
156 on the command-line would have no effect, since the entire contents of the file
157 would have already been read and printed by
158 .Nm
159 when it encountered the first
160 .Sq Fl
161 operand.
162 .Sh SEE ALSO
163 .Xr head 1 ,
164 .Xr more 1 ,
165 .Xr pr 1 ,
166 .Xr sh 1 ,
167 .Xr tail 1 ,
168 .Xr vis 1 ,
169 .Xr zcat 1 ,
170 .Xr fcntl 2 ,
171 .Xr setbuf 3
172 .Rs
173 .%A Rob Pike
174 .%T "UNIX Style, or cat -v Considered Harmful"
175 .%J "USENIX Summer Conference Proceedings"
176 .%D 1983
177 .Re
178 .Sh STANDARDS
179 The
180 .Nm
181 utility is compliant with the
182 .St -p1003.2-92
183 specification.
184 .Pp
185 The flags
186 .Op Fl belnstv
187 are extensions to the specification.
188 .Sh HISTORY
189 A
190 .Nm
191 utility appeared in
192 .At v1 .
193 .An Dennis Ritchie
194 designed and wrote the first man page.
195 It appears to have been for
196 .Nm .
197 .Sh BUGS
198 Because of the shell language mechanism used to perform output
199 redirection, the command
200 .Dq Li cat file1 file2 > file1
201 will cause the original data in
202 .Pa file1
203 to be destroyed!
204 .Pp
205 The
206 .Nm
207 utility does not recognize multibyte characters when the
208 .Fl t
209 or
210 .Fl v
211 option is in effect.