summaryrefslogtreecommitdiffstats
path: root/slackbook/html/file-commands-deletion.html
blob: 5b4277c6631015e631d1768e64028c11c0a2fdbb (plain) (blame)
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
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
<!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>Deletion: rm and rmdir</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="Copy and Move" href="file-commands-copymove.html" />
<link rel="NEXT" title="Aliasing files with ln" href="file-commands-link.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-copymove.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-link.html"
accesskey="N">Next</a></td>
</tr>
</table>

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

<div class="SECT1">
<h1 class="SECT1"><a id="FILE-COMMANDS-DELETION" name="FILE-COMMANDS-DELETION">10.6
Deletion: <tt class="COMMAND">rm</tt> and <tt class="COMMAND">rmdir</tt></a></h1>

<div class="SECT2">
<h2 class="SECT2"><a id="AEN3733" name="AEN3733">10.6.1 <tt
class="COMMAND">rm</tt></a></h2>

<p><tt class="COMMAND">rm</tt>(1) removes files and directory trees. DOS users will
notice the similarity to both the <tt class="COMMAND">del</tt> and <tt
class="COMMAND">deltree</tt> commands. <tt class="COMMAND">rm</tt> can be very dangerous
if you do not watch yourself. While it is sometimes possible to retrieve a recently
deleted file, it can be complicated (and potentially costly) and is beyond the scope of
this book.</p>

<p>To remove a single file, specify its name when you run rm:</p>

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

<p>If the file has write permissions removed, you may get a permission denied error
message. To force removal of the file no matter what, pass the <tt
class="COMMAND">-f</tt> option, like this:</p>

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

<p>To remove an entire directory, you use the <var class="OPTION">-r</var> and <var
class="OPTION">-f</var> options together. This is a good example of how to delete the
entire contents of your hard drive. You really don't want to do this. But here's the
command anyway:</p>

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

<p>Be very careful with <tt class="COMMAND">rm</tt>; you can shoot yourself in the foot.
There are several command line options, which are discussed in detail in the online
manual page.</p>
</div>

<div class="SECT2">
<h2 class="SECT2"><a id="AEN3764" name="AEN3764">10.6.2 <tt
class="COMMAND">rmdir</tt></a></h2>

<p><tt class="COMMAND">rmdir</tt>(1) removes directories from the filesystem. The
directory must be empty before it can be removed. The syntax is simply:</p>

<table border="0" bgcolor="#E0E0E0" width="100%">
<tr>
<td>
<pre class="SCREEN">
<samp class="PROMPT">%</samp> <kbd class="USERINPUT">rmdir &lt;<var
class="REPLACEABLE">directory</var>&gt;</kbd>
</pre>
</td>
</tr>
</table>

<p>This example will remove the <tt class="FILENAME">hejaz</tt> subdirectory in the
current working directory:</p>

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

<p>If that directory does not exist, <tt class="COMMAND">rmdir</tt> will tell you. You
can also specify a full path to a directory to remove, as this example shows:</p>

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

<p>That example will try to remove the <tt class="FILENAME">hejaz</tt> directory inside
the <tt class="FILENAME">/tmp</tt> directory.</p>

<p>You can also remove a directory and all of its parent directories by passing the <var
class="OPTION">-p</var> option.</p>

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

<p>This will first try to remove the <tt class="FILENAME">hejaz</tt> directory inside <tt
class="FILENAME">/tmp</tt>. If that is successful, it will try to remove <tt
class="FILENAME">/tmp</tt>. <tt class="COMMAND">rmdir</tt> will continue this until an
error is encountered or the entire tree specified is removed.</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-copymove.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-link.html"
accesskey="N">Next</a></td>
</tr>

<tr>
<td width="33%" align="left" valign="top">Copy and Move</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">Aliasing files with <tt
class="COMMAND">ln</tt></td>
</tr>
</table>
</div>
</body>
</html>