summaryrefslogtreecommitdiff
path: root/slackbook/html/file-commands-output.html
blob: e2419b27611655b94837eee87a10e81c0b7af964 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org" />
<title>Simple Output: cat and echo</title>
<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
<link rel="UP" title="Handling Files and Directories" href="file-commands.html" />
<link rel="PREVIOUS" title="Pagers: more, less, and most"
href="file-commands-pagers.html" />
<link rel="NEXT" title="Creation: touch and mkdir" href="file-commands-creation.html" />
<link rel="STYLESHEET" type="text/css" href="docbook.css" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
alink="#0000FF">
<div class="NAVHEADER">
<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
cellspacing="0">
<tr>
<th colspan="3" align="center">Slackware Linux Essentials</th>
</tr>

<tr>
<td width="10%" align="left" valign="bottom"><a href="file-commands-pagers.html"
accesskey="P">Prev</a></td>
<td width="80%" align="center" valign="bottom">Chapter 10 Handling Files and
Directories</td>
<td width="10%" align="right" valign="bottom"><a href="file-commands-creation.html"
accesskey="N">Next</a></td>
</tr>
</table>

<hr align="LEFT" width="100%" />
</div>

<div class="SECT1">
<h1 class="SECT1"><a id="FILE-COMMANDS-OUTPUT" name="FILE-COMMANDS-OUTPUT">10.3 Simple
Output: <tt class="COMMAND">cat</tt> and <tt class="COMMAND">echo</tt></a></h1>

<div class="SECT2">
<h2 class="SECT2"><a id="AEN3559" name="AEN3559">10.3.1 <tt
class="COMMAND">cat</tt></a></h2>

<p><tt class="COMMAND">cat</tt>(1) is short for &#8220;concatenate&#8221;. It was
originally designed to merge text files into one, but can be used for many other
purposes.</p>

<p>To merge two or more files into one, you simply list the files after the <tt
class="COMMAND">cat</tt> command and then redirect the new output to a file. <tt
class="COMMAND">cat</tt> works with standard input and standard output, so you have to
use the shell redirection characters. For example:</p>

<table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<samp class="PROMPT">%</samp> <kbd
class="USERINPUT">cat file1 file2 file3 &gt; bigfile</kbd>
</pre>
</td>
</tr>
</table>

<p>This command takes the contents of <tt class="FILENAME">file1</tt>, <tt
class="FILENAME">file2</tt>, and <tt class="FILENAME">file3</tt> and merges it all
together. The new output is sent to standard out.</p>

<p>One can also use <tt class="COMMAND">cat</tt> to display files. Many people <tt
class="COMMAND">cat</tt> text files through the <tt class="COMMAND">more</tt> or <tt
class="COMMAND">less</tt> commands, like this:</p>

<table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cat file1 | more</kbd>
</pre>
</td>
</tr>
</table>

<p>That will display the <tt class="FILENAME">file1</tt> file and pipe it through the <tt
class="COMMAND">more</tt> command so that you only get one screen at a time.</p>

<p>Another common use for <tt class="COMMAND">cat</tt> is copying files. You can copy any
file around with <tt class="COMMAND">cat</tt>, like this:</p>

<table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cat /bin/bash &gt; ~/mybash</kbd>
</pre>
</td>
</tr>
</table>

<p>The <tt class="COMMAND">/bin/bash</tt> program is copied to your home directory and
named <tt class="FILENAME">mybash</tt>.</p>

<p><tt class="COMMAND">cat</tt> has many uses and the ones discussed here are just a few.
Since <tt class="COMMAND">cat</tt> makes extensive use of standard input and standard
output, it is ideal for use in shell scripts or part of other complex commands.</p>
</div>

<div class="SECT2">
<h2 class="SECT2"><a id="AEN3603" name="AEN3603">10.3.2 <tt
class="COMMAND">echo</tt></a></h2>

<p>The <tt class="COMMAND">echo</tt>(1) command displays the specified text on the
screen. You specify the string to display after the <tt class="COMMAND">echo</tt>
command. By default <tt class="COMMAND">echo</tt> will display the string and print a
newline character after it. You can pass the <var class="OPTION">-n</var> option to
suppress the printing of the newline. The <var class="OPTION">-e</var> option will cause
<tt class="COMMAND">echo</tt> to search for escape characters in the string and execute
them.</p>
</div>
</div>

<div class="NAVFOOTER">
<hr align="LEFT" width="100%" />
<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
cellspacing="0">
<tr>
<td width="33%" align="left" valign="top"><a href="file-commands-pagers.html"
accesskey="P">Prev</a></td>
<td width="34%" align="center" valign="top"><a href="index.html"
accesskey="H">Home</a></td>
<td width="33%" align="right" valign="top"><a href="file-commands-creation.html"
accesskey="N">Next</a></td>
</tr>

<tr>
<td width="33%" align="left" valign="top">Pagers: <tt class="COMMAND">more</tt>, <tt
class="COMMAND">less</tt>, and <tt class="COMMAND">most</tt></td>
<td width="34%" align="center" valign="top"><a href="file-commands.html"
accesskey="U">Up</a></td>
<td width="33%" align="right" valign="top">Creation: <tt class="COMMAND">touch</tt> and
<tt class="COMMAND">mkdir</tt></td>
</tr>
</table>
</div>
</body>
</html>