summaryrefslogtreecommitdiffstats
path: root/tar/tar.1
blob: ad32bbb0d90ec024ca99f9a374195b8f0ed21374 (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
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
.\" @(#)tar.1 1.11.1 93/19/22 PJV;
.TH TAR 1 "15 May 2006"
.SH NAME
tar \- The GNU version of the tar archiving utility
.SH SYNOPSIS
.B tar
[
.B \-
]
.B A \-\-catenate \-\-concatenate \||\| c \-\-create \||\| d \-\-diff \-\-compare \||\| \-\-delete \||\| r \-\-append \||\| t \-\-list \||\| u \-\-update \||\| x \-\-extract \-\-get
.I [ options ]
.I pathname [ pathname ... ] 
.SH DESCRIPTION
.LP
This manual page documents the GNU version of
.B tar
, an archiving program designed to store and extract files from 
an archive file known as a 
.IR tarfile.
A 
.IR tarfile 
may be made on a tape drive, however, it is also common
to write a
.IR tarfile
to a normal file. 
The first argument to 
.B tar
must be one of the options:
.BR Acdrtux ,
followed by any optional functions.
The final arguments to 
.B tar
are the names of the files or directories which should be archived. The use
of a directory name always implies that the subdirectories below should be
included in the archive.
.SH EXAMPLES
.TP
.B tar \-xvvf foo.tar
extract foo.tar
.TP
.B tar \-xvvzf foo.tar.gz
extract gzipped foo.tar.gz
.TP
.B tar \-cvvf foo.tar foo/
tar contents of folder foo in foo.tar
.SH "FUNCTION LETTERS"
.TP
.B One of the following options must be used:
.TP
.B \-A, \-\-catenate, \-\-concatenate
append tar files to an archive
.TP
.B \-c, \-\-create	
create a new archive
.TP
.B \-d, \-\-diff, \-\-compare
find differences between archive and file system
.TP
.B \-\-delete		
delete from the archive (not for use on mag tapes!)
.TP
.B \-r, \-\-append		
append files to the end of an archive
.TP
.B \-t, \-\-list		
list the contents of an archive
.TP
.B \-u, \-\-update		
only append files that are newer than copy in archive
.TP
.B \-x, \-\-extract, \-\-get		
extract files from an archive
.SH "OTHER OPTIONS"
.TP
.B \-\-allow\-name\-mangling
re-enable handling of GNUTYPE_NAMES which is now disabled by default
.TP
.B \-\-anchored	
force exclusion patterns to match initial subsequences
.TP
.B \-\-atime\-preserve	
don't change access times on dumped files
.TP
.B \-b, \-\-blocking\-factor N
use record size of Nx512 bytes (default N=20)
.TP
.B \-B, \-\-read\-full\-records
reblock as we read (for reading 4.2BSD pipes)
.TP
.B \-\-backup[\=TYPE]
back up files instead of overwriting (TYPE=numbered, existing, simple)
.TP 
.B \-C, \-\-directory DIR	
change to directory DIR
.TP 
.B \-\-checkpoint		
print periodic checkpoints
.TP
.B \-\-exclude=PATTERN
exclude files matching PATTERN
.TP
.B \-f, \-\-file [HOSTNAME:]F	
use archive file or device F (default "\-", meaning stdin/stdout)
.TP 
.B \-F, \-\-info\-script F, \-\-new\-volume\-script F 
run script at end of each tape (implies \-M)
.TP
.B \-\-force\-local		
archive file is local even if it has a colon
.TP
.B \-G, \-\-incremental	
create/list/extract old GNU-format incremental backup
.TP
.B \-g, \-\-listed\-incremental F 
create/list/extract new GNU-format incremental backup
.TP
.B \-\-group G
set group to G while adding files
.TP 
.B \-h, \-\-dereference	
don't dump symlinks; dump the files they point to
.TP
.B \-\-help
print help message
.TP
.B \-i, \-\-ignore\-zeros	
ignore blocks of zeros in archive (normally mean EOF)
.TP
.B \-\-ignore\-case
ignore case when excluding files
.TP
.B \-\-ignore\-failed\-read	
don't exit with non-zero status on unreadable files
.TP
.B \-j, \-\-bzip2
filter archive through bzip2, use to decompress .bz2 files.
WARNING: some previous versions of tar used option \-I to 
filter through bzip2.  When writing scripts, use \-\-bzip2 
instead of \-j so that both older and newer tar versions
will work.
.TP
.B \-k, \-\-keep\-old\-files	
keep existing files; don't overwrite them from archive
.TP
.B \-K, \-\-starting\-file F	
begin at file F in the archive
.TP
.B \-l, \-\-check\-links
print a message if not all links are dumped
.TP
.B \-L, \-\-tape\-length N	
change tapes after writing N*1024 bytes
.TP
.B \-m, \-\-touch
don't extract file modified time
.TP
.B \-M, \-\-multi\-volume	
create/list/extract multi-volume archive
.TP
.B \-\-mode M
set permissions to M while adding files
.TP
.B \-N, \-\-after\-date DATE, \-\-newer DATE
only store files newer than DATE
.TP
.B \-\-newer\-mtime DATE
only store files whose contents have changed after DATE
.TP
.B \-\-no\-anchored
allow exclusion patterns to match any substring (the default)
.TP
.B \-\-no\-ignore\-case
match patterns case sensitively (the default)
.TP
.B \-\-no\-recursion
do not recurse into subdirectories
.TP
.B \-o, \-\-no\-same\-owner
extract files with owner set to current user (the default for non-root
users)
.TP
.B \-\-no\-same\-permissions
apply umask to extracted files (the default for non-root users)
.TP
.B \-\-no\-wildcards
do not use wildcards when excluding files
.TP
.B \-\-no\-wildcards\-match\-slash
don't let wildcards match "/" when excluding files
.TP
.B \-\-null
for \-T, use "NUL" instead of newline as filename terminator
.TP
.B \-\-numeric\-owner
always use numbers for user/group names
.TP
.B \-\-old\-archive, \-\-portability	
write a V7 format archive, rather than ANSI format.  These options are
deprecated, please use 
.B \-\-format\=v7
instead.
.TP
.B \-\-one\-file\-system	
stay in local file system when creating an archive
.TP
.B \-\-owner O
set owner to O while adding files
.TP 
.B \-O, \-\-to\-stdout		
extract files to standard output
.TP
.B \-p, \-\-same\-permissions, \-\-preserve\-permissions 
ignore umask when extracting files (the default for root)
.TP
.B \-P, \-\-absolute\-names
don't strip leading `/'s from file names
.TP
.B \-\-posix
create POSIX compliant archive.  This option is deprecated,
please use 
.B \-\-format\=posix
instead.
.TP
.B \-\-preserve		
like \-p \-s
.TP
.B \-R, \-\-block\-number	
show block number within archive with each message
.TP
.B \-\-record\-size SIZE
use SIZE bytes per record
.TP
.B \-\-recursion
recurse into directories (the default)
.TP
.B \-\-recursive\-unlink
remove existing directories before extracting directories of the same
name
.TP 
.B \-\-remove\-files		
remove files after adding them to the archive
.TP
.B \-\-rsh\-command=CMD
Use remote COMMAND instead of `rsh'.  This option exists so that
people who use something other than the standard `rsh' (e.g., a
Kerberized `rsh') can access a remote device.
.TP
.B \-S, \-\-sparse		
handle sparse files efficiently
.TP
.B \-s, \-\-same\-order, \-\-preserve\-order	
list of names to extract is sorted to match archive
.TP
.B \-\-same\-owner		
extract files with owner as specified in archive (the default for
root)
.TP
.B \-\-show\-omitted\-dirs
mention directories that are being skipped over
.TP
.B \-\-suffix SUFFIX
append SUFFIX to make backup files (default ~)
.TP 
.B \-T, \-\-files\-from F	
get names to extract or archive from file F
.TP
.B \-\-totals
display total bytes written after creating an archive
.TP
.B \-U, \-\-unlink\-first
unlink & recreate files instead of overwriting
.TP
.B \-\-use\-compress\-program PROG
filter the archive through PROG (which must accept \-d)
.TP
.B \-v, \-\-verbose		
verbosely list files processed
.TP
.B \-V, \-\-label NAME	
create archive with volume name NAME
.TP 
.B \-\-version		
print tar program version number
.TP
.B \-\-volno\-file F
keep track of current volume (of a multi-volume archive) in F
.TP
.B \-w, \-\-interactive, \-\-confirmation	
ask for confirmation for every action
.TP
.B \-W, \-\-verify		
attempt to verify the archive after writing it
.TP
.B \-\-wildcards
use wildcards when excluding files (the default)
.TP
.B \-\-wildcards\-match\-slash
allow wildcards to match "/" (the default)
.TP
.B \-X, \-\-exclude\-from=FILE	
exclude files matching patterns listed in FILE
.TP
.B \-Z, \-\-compress, \-\-uncompress      	
filter the archive through compress
.TP 
.B \-z, \-\-gzip, \-\-gunzip, \-\-ungzip		
filter the archive through gzip
.TP
.B \-[0\-7][lmh]		
specify drive and density
.SH BUGS
.LP
The GNU folks, in general, abhor man pages, and create info documents instead.
Unfortunately, the info document describing tar is licensed under the GFDL with
invariant cover texts, which violates the Debian Free Software Guidelines.  As
a result, the info documentation for tar is not included in the Debian package.

If you want to read the complete documentation for GNU tar, please refer to
the online version at <http://www.gnu.org/software/tar/manual/index.html>.

This man page was created for the Debian distribution.  It does not describe
all of the functionality of tar, and it is often out of date.  Patches to 
improve the coverage and/or accuracy of this man page are appreciated, and
should be filed as wishlist severity bugs against the Debian tar package, 
not submitted to the GNU tar maintainers.