summaryrefslogtreecommitdiff
path: root/misc/slackbook/html/file-commands-copymove.html
blob: ddb7179a94ed171f943a52568430e9dc25037748 (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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
<!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>Copy and Move</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="Creation: touch and mkdir"
href="file-commands-creation.html" />
<link rel="NEXT" title="Deletion: rm and rmdir" href="file-commands-deletion.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-creation.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-deletion.html"
accesskey="N">Next</a></td>
</tr>
</table>

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

<div class="SECT1">
<h1 class="SECT1"><a id="FILE-COMMANDS-COPYMOVE" name="FILE-COMMANDS-COPYMOVE">10.5 Copy
and Move</a></h1>

<div class="SECT2">
<h2 class="SECT2"><a id="FILE-COMMANDS-COPYMOVE-CP"
name="FILE-COMMANDS-COPYMOVE-CP">10.5.1 <tt class="COMMAND">cp</tt></a></h2>

<p><tt class="COMMAND">cp</tt>(1) copies files. DOS users will notice its similarity to
the <tt class="COMMAND">copy</tt> command. There are many options for <tt
class="COMMAND">cp</tt> , so you should have a look at the man page before using it.</p>

<p>A common use is to use <tt class="COMMAND">cp</tt> to copy a file from one location to
another. For example:</p>

<table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp hejaz /tmp</kbd>
</pre>
</td>
</tr>
</table>

<p>This copies the <tt class="FILENAME">hejaz</tt> file from the current directory to the
<tt class="FILENAME">/tmp</tt> directory.</p>

<p>Many users prefer to keep the timestamps preserved, as in this example:</p>

<table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp -a hejaz /tmp</kbd>
</pre>
</td>
</tr>
</table>

<p>This ensures that the timestamps are not modified in the copy.</p>

<p>To recursively copy the contents of a directory to another directory, you would issue
this command:</p>

<table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp -R <var
class="REPLACEABLE">mydir</var> /tmp</kbd>
</pre>
</td>
</tr>
</table>

<p>That will copy the <var class="REPLACEABLE">mydir</var> directory to the <tt
class="FILENAME">/tmp</tt> directory.</p>

<p>Also if you wish to copy a directory or a file and keep all it's old permissions and
time stamps and keep it exactly the same use <tt class="COMMAND">cp -p</tt>.</p>

<table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l file</kbd>
-rw-r--r--    1 root     vlad            4 Jan  1 15:27 file
<samp class="PROMPT">%</samp> <kbd class="USERINPUT">cp -p file /tmp</kbd>
<samp class="PROMPT">%</samp> <kbd class="USERINPUT">ls -l /tmp/file</kbd>
-rw-r--r--    1 root     vlad            4 Jan  1 15:27 file
</pre>
</td>
</tr>
</table>

<p><tt class="COMMAND">cp</tt> has many more options that are discussed in detail in the
online manual page.</p>
</div>

<div class="SECT2">
<h2 class="SECT2"><a id="AEN3712" name="AEN3712">10.5.2 <tt
class="COMMAND">mv</tt></a></h2>

<p><tt class="COMMAND">mv</tt>(1) moves files from one place to another. Sounds simple
enough doesn't it?</p>

<table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<samp class="PROMPT">%</samp> <kbd class="USERINPUT">mv oldfile /tmp/newfile</kbd>
</pre>
</td>
</tr>
</table>

<p><tt class="COMMAND">mv</tt> has a few useful command line options that are detailed in
the man page. In practice, <tt class="COMMAND">mv</tt> is almost never used with
commandline options.</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-creation.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-deletion.html"
accesskey="N">Next</a></td>
</tr>

<tr>
<td width="33%" align="left" valign="top">Creation: <tt class="COMMAND">touch</tt> and
<tt class="COMMAND">mkdir</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">Deletion: <tt class="COMMAND">rm</tt> and <tt
class="COMMAND">rmdir</tt></td>
</tr>
</table>
</div>
</body>
</html>