summaryrefslogtreecommitdiffstats
path: root/man-pages-posix-2013/man1p/cat.1p
diff options
context:
space:
mode:
Diffstat (limited to 'man-pages-posix-2013/man1p/cat.1p')
-rw-r--r--man-pages-posix-2013/man1p/cat.1p325
1 files changed, 325 insertions, 0 deletions
diff --git a/man-pages-posix-2013/man1p/cat.1p b/man-pages-posix-2013/man1p/cat.1p
new file mode 100644
index 0000000..1a79146
--- /dev/null
+++ b/man-pages-posix-2013/man1p/cat.1p
@@ -0,0 +1,325 @@
+'\" et
+.TH CAT "1P" 2013 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.SH PROLOG
+This manual page is part of the POSIX Programmer's Manual.
+The Linux implementation of this interface may differ (consult
+the corresponding Linux manual page for details of Linux behavior),
+or the interface may not be implemented on Linux.
+
+.SH NAME
+cat
+\(em concatenate and print files
+.SH SYNOPSIS
+.LP
+.nf
+cat \fB[\fR\(miu\fB] [\fIfile\fR...\fB]\fR
+.fi
+.SH DESCRIPTION
+The
+.IR cat
+utility shall read files in sequence and shall write their contents
+to the standard output in the same sequence.
+.SH OPTIONS
+The
+.IR cat
+utility shall conform to the Base Definitions volume of POSIX.1\(hy2008,
+.IR "Section 12.2" ", " "Utility Syntax Guidelines".
+.P
+The following option shall be supported:
+.IP "\fB\(miu\fP" 10
+Write bytes from the input file to the standard output without delay as
+each is read.
+.SH OPERANDS
+The following operand shall be supported:
+.IP "\fIfile\fR" 10
+A pathname of an input file. If no
+.IR file
+operands are specified, the standard input shall be used. If a
+.IR file
+is
+.BR '\(mi' ,
+the
+.IR cat
+utility shall read from the standard input at that point in the
+sequence. The
+.IR cat
+utility shall not close and reopen standard input when it is referenced
+in this way, but shall accept multiple occurrences of
+.BR '\(mi'
+as a
+.IR file
+operand.
+.SH STDIN
+The standard input shall be used only if no
+.IR file
+operands are specified, or if a
+.IR file
+operand is
+.BR '\(mi' .
+See the INPUT FILES section.
+.SH "INPUT FILES"
+The input files can be any file type.
+.SH "ENVIRONMENT VARIABLES"
+The following environment variables shall affect the execution of
+.IR cat :
+.IP "\fILANG\fP" 10
+Provide a default value for the internationalization variables that are
+unset or null. (See the Base Definitions volume of POSIX.1\(hy2008,
+.IR "Section 8.2" ", " "Internationalization Variables"
+for the precedence of internationalization variables used to determine
+the values of locale categories.)
+.IP "\fILC_ALL\fP" 10
+If set to a non-empty string value, override the values of all the
+other internationalization variables.
+.IP "\fILC_CTYPE\fP" 10
+Determine the locale for the interpretation of sequences of bytes of
+text data as characters (for example, single-byte as opposed to
+multi-byte characters in arguments).
+.IP "\fILC_MESSAGES\fP" 10
+.br
+Determine the locale that should be used to affect the format and
+contents of diagnostic messages written to standard error.
+.IP "\fINLSPATH\fP" 10
+Determine the location of message catalogs for the processing of
+.IR LC_MESSAGES .
+.SH "ASYNCHRONOUS EVENTS"
+Default.
+.SH STDOUT
+The standard output shall contain the sequence of bytes read from the
+input files. Nothing else shall be written to the standard output.
+.SH STDERR
+The standard error shall be used only for diagnostic messages.
+.SH "OUTPUT FILES"
+None.
+.SH "EXTENDED DESCRIPTION"
+None.
+.SH "EXIT STATUS"
+The following exit values shall be returned:
+.IP "\00" 6
+All input files were output successfully.
+.IP >0 6
+An error occurred.
+.SH "CONSEQUENCES OF ERRORS"
+Default.
+.LP
+.IR "The following sections are informative."
+.SH "APPLICATION USAGE"
+The
+.BR \(miu
+option has value in prototyping non-blocking reads from FIFOs. The
+intent is to support the following sequence:
+.sp
+.RS 4
+.nf
+\fB
+mkfifo foo
+cat \(miu foo > /dev/tty13 &
+cat \(miu > foo
+.fi \fR
+.P
+.RE
+.P
+It is unspecified whether standard output is or is not buffered in the
+default case. This is sometimes of interest when standard output is
+associated with a terminal, since buffering may delay the output. The
+presence of the
+.BR \(miu
+option guarantees that unbuffered I/O is available. It is
+implementation-defined whether the
+.IR cat
+utility buffers output if the
+.BR \(miu
+option is not specified. Traditionally, the
+.BR \(miu
+option is implemented using the equivalent of the
+\fIsetvbuf\fR()
+function defined in the System Interfaces volume of POSIX.1\(hy2008.
+.SH EXAMPLES
+The following command:
+.sp
+.RS 4
+.nf
+\fB
+cat myfile
+.fi \fR
+.P
+.RE
+.P
+writes the contents of the file
+.BR myfile
+to standard output.
+.P
+The following command:
+.sp
+.RS 4
+.nf
+\fB
+cat doc1 doc2 > doc.all
+.fi \fR
+.P
+.RE
+.P
+concatenates the files
+.BR doc1
+and
+.BR doc2
+and writes the result to
+.BR doc.all .
+.P
+Because of the shell language mechanism used to perform output
+redirection, a command such as this:
+.sp
+.RS 4
+.nf
+\fB
+cat doc doc.end > doc
+.fi \fR
+.P
+.RE
+.P
+causes the original data in
+.BR doc
+to be lost.
+.P
+The command:
+.sp
+.RS 4
+.nf
+\fB
+cat start \(mi middle \(mi end > file
+.fi \fR
+.P
+.RE
+.P
+when standard input is a terminal, gets two arbitrary pieces of input
+from the terminal with a single invocation of
+.IR cat .
+Note, however, that if standard input is a regular file, this would be
+equivalent to the command:
+.sp
+.RS 4
+.nf
+\fB
+cat start \(mi middle /dev/null end > file
+.fi \fR
+.P
+.RE
+.P
+because the entire contents of the file would be consumed by
+.IR cat
+the first time
+.BR '\(mi'
+was used as a
+.IR file
+operand and an end-of-file condition would be detected immediately when
+.BR '\(mi'
+was referenced the second time.
+.SH RATIONALE
+Historical versions of the
+.IR cat
+utility include the
+.BR \(mie ,
+.BR \(mit ,
+and
+.BR \(miv ,
+options which permit the ends of lines,
+<tab>
+characters, and invisible characters, respectively, to be rendered visible
+in the output. The standard developers omitted these options because
+they provide too fine a degree of control over what is made visible,
+and similar output can be obtained using a command such as:
+.sp
+.RS 4
+.nf
+\fB
+sed \(min l pathname
+.fi \fR
+.P
+.RE
+.P
+The latter also has the advantage that its output is unambiguous,
+whereas the output of historical
+.IR cat
+.BR \(mietv
+is not.
+.P
+The
+.BR \(mis
+option was omitted because it corresponds to different functions in BSD
+and System V-based systems. The BSD
+.BR \(mis
+option to squeeze blank lines can be accomplished by the shell script
+shown in the following example:
+.sp
+.RS 4
+.nf
+\fB
+sed \(min '
+# Write non-empty lines.
+/./ {
+ p
+ d
+ }
+# Write a single empty line, then look for more empty lines.
+/^$/ p
+# Get next line, discard the held <newline> (empty line),
+# and look for more empty lines.
+:Empty
+/^$/ {
+ N
+ s/.//
+ b Empty
+ }
+# Write the non-empty line before going back to search
+# for the first in a set of empty lines.
+ p
+\&'
+.fi \fR
+.P
+.RE
+.P
+The System V
+.BR \(mis
+option to silence error messages can be accomplished by redirecting the
+standard error. Note that the BSD documentation for
+.IR cat
+uses the term ``blank line'' to mean the same as the POSIX ``empty
+line'': a line consisting only of a
+<newline>.
+.P
+The BSD
+.BR \(min
+option was omitted because similar functionality can be obtained from
+the
+.BR \(min
+option of the
+.IR pr
+utility.
+.SH "FUTURE DIRECTIONS"
+None.
+.SH "SEE ALSO"
+.IR "\fImore\fR\^"
+.P
+The Base Definitions volume of POSIX.1\(hy2008,
+.IR "Chapter 8" ", " "Environment Variables",
+.IR "Section 12.2" ", " "Utility Syntax Guidelines"
+.P
+The System Interfaces volume of POSIX.1\(hy2008,
+.IR "\fIsetvbuf\fR\^(\|)"
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 7, Copyright (C) 2013 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group.
+(This is POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) In the
+event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.unix.org/online.html .
+
+Any typographical or formatting errors that appear
+in this page are most likely
+to have been introduced during the conversion of the source files to
+man page format. To report such errors, see
+https://www.kernel.org/doc/man-pages/reporting_bugs.html .