README

Sun, 12 Apr 2009 11:21:51 -0400

author
Brett Smith <brettcsmith@brettcsmith.org>
date
Sun, 12 Apr 2009 11:21:51 -0400
branch
trunk
changeset 106
dcf005ef7070
parent 101
014efef1a48f
child 112
a849ad478a02
permissions
-rw-r--r--

Start printing results ASAP with -l or -t.

Doing -l on a large archive was painful because dtrx would wait until it
had all the listings before it displayed any. It did this to make sure
that the listing would be successful.

On reconsidering, though, I think it's really unlikely that there'll be a
case where a lister process provides *some* good output for a given file in
the wrong format. So, now -l will try to get one good line out of the
lister. If it gets that, then it will immediately start displaying results
as they come in. On the off chance that it detects an error later on, it
will display an error about that, and then try again with a different
extractor if appropriate.

19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
1 dtrx - Intelligent archive extraction
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
2 =====================================
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
3
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
4 Introduction
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
5 ------------
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
6
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
7 dtrx extracts archives in a number of different formats; it currently
93
6c20788653a8 Prepare for a 6.3 release
Brett Smith <brettcsmith@brettcsmith.org>
parents: 89
diff changeset
8 supports tar, zip, cpio, rpm, deb, gem, 7z, cab, and rar files. It can
6c20788653a8 Prepare for a 6.3 release
Brett Smith <brettcsmith@brettcsmith.org>
parents: 89
diff changeset
9 also decompress files compressed with gzip, bzip2, lzma, or compress.
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
10
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
11 In addition to providing one command to handle many different archive
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
12 types, dtrx also aids the user by extracting contents consistently. By
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
13 default, everything will be written to a dedicated directory that's named
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
14 after the archive. dtrx will also change the permissions to ensure that the
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
15 owner can read and write all those files.
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
16
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
17 Running dtrx
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
18 ------------
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
19
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
20 To run dtrx, simply call it with the archive(s) you wish to extract as
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
21 arguments. For example::
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
22
37
c27c1073ec12 [svn] Documentation update.
brett
parents: 28
diff changeset
23 $ dtrx coreutils-5.*.tar.gz
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
24
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
25 dtrx supports a number of options to mandate specific behavior:
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
26
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
27 -r, --recursive
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
28 With this option, dtrx will search inside the archives you specify to see
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
29 if any of the contents are themselves archives, and extract those as
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
30 well.
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
31
84
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
32 --one, --one-entry
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
33 Normally, if an archive only contains one file or directory with a name
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
34 that doesn't match the archive's, dtrx will ask you how to handle it.
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
35 With this option, you can specify ahead of time what should happen.
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
36 Possible values are:
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
37
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
38 inside
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
39 Extract the file/directory inside another directory named after the
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
40 archive. This is the default.
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
41
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
42 rename
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
43 Extract the file/directory in the current directory, and then rename
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
44 it to match the name of the archive.
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
45
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
46 here
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
47 Extract the file/directory in the current directory.
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
48
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
49 -o, --overwrite
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
50 Normally, dtrx will avoid extracting into a directory that already exists,
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
51 and instead try to find an alternative name to use. If this option is
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
52 listed, dtrx will use the default directory name no matter what.
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
53
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
54 -f, --flat
84
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
55 Extract all archive contents into the current directory, instead of
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
56 their own dedicated directory. This is handy if you have multiple
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
57 archive files which all need to be extracted into the same directory
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
58 structure. Note that existing files may be overwritten with this
d78d63cb4c4e Add --one-entry option to specify default handling for one-entry archives.
Brett Smith <brettcsmith@brettcsmith.org>
parents: 74
diff changeset
59 option.
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
60
24
60056f3e3e60 [svn] Documentation update.
brett
parents: 19
diff changeset
61 -n, --noninteractive
60056f3e3e60 [svn] Documentation update.
brett
parents: 19
diff changeset
62 dtrx will normally ask the user how to handle certain corner cases, such
60056f3e3e60 [svn] Documentation update.
brett
parents: 19
diff changeset
63 as how to handle an archive that only contains one file. This option
37
c27c1073ec12 [svn] Documentation update.
brett
parents: 28
diff changeset
64 suppresses those questions; dtrx will instead use sane, conservative
c27c1073ec12 [svn] Documentation update.
brett
parents: 28
diff changeset
65 defaults.
24
60056f3e3e60 [svn] Documentation update.
brett
parents: 19
diff changeset
66
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
67 -l, -t, --list, --table
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
68 Don't extract the archives; just list their contents on standard output.
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
69
37
c27c1073ec12 [svn] Documentation update.
brett
parents: 28
diff changeset
70 -m, --metadata
c27c1073ec12 [svn] Documentation update.
brett
parents: 28
diff changeset
71 Extract the metadata from .deb and .gem archives, instead of their normal
c27c1073ec12 [svn] Documentation update.
brett
parents: 28
diff changeset
72 contents.
c27c1073ec12 [svn] Documentation update.
brett
parents: 28
diff changeset
73
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
74 -q, --quiet
56
d061b94889aa [svn] Add NEWS, and other documentation updates.
brett
parents: 45
diff changeset
75 Suppress warning messages. Listing this option twice will cause dtrx to
d061b94889aa [svn] Add NEWS, and other documentation updates.
brett
parents: 45
diff changeset
76 be silent.
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
77
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
78 -v, --verbose
56
d061b94889aa [svn] Add NEWS, and other documentation updates.
brett
parents: 45
diff changeset
79 Show the files that are being extracted. Listing this option twice will
d061b94889aa [svn] Add NEWS, and other documentation updates.
brett
parents: 45
diff changeset
80 cause dtrx to print debugging information.
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
81
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
82 --help
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
83 Display basic help.
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
84
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
85 --version
44
69cd94403088 [svn] Missed a couple of spots.
brett
parents: 42
diff changeset
86 Display dtrx's version, copyright, and license information.
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
87
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
88 Other Useful Information
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
89 ------------------------
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
90
101
014efef1a48f Release dtrx 6.4
Brett Smith <brettcsmith@brettcsmith.org>
parents: 93
diff changeset
91 dtrx 6.4 is copyright ⓒ 2006, 2007, 2008 `Brett Smith`_ and others. Feel
93
6c20788653a8 Prepare for a 6.3 release
Brett Smith <brettcsmith@brettcsmith.org>
parents: 89
diff changeset
92 free to send comments, bug reports, patches, and so on. You can find the
6c20788653a8 Prepare for a 6.3 release
Brett Smith <brettcsmith@brettcsmith.org>
parents: 89
diff changeset
93 latest version of dtrx on `its home page`_.
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
94
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
95 .. _`Brett Smith`: mailto:brettcsmith@brettcsmith.org
42
4a4cab75d5e6 [svn] Update documentation.
brett
parents: 37
diff changeset
96 .. _`its home page`: http://www.brettcsmith.org/2007/dtrx/
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
97
19
bb6e9f4af1a5 [svn] Rename the program to dtrx.
brett
parents: 18
diff changeset
98 dtrx is free software; you can redistribute it and/or modify it under the
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
99 terms of the GNU General Public License as published by the Free Software
28
4d88f2231d33 [svn] Change all the license notices from GPLv2 to GPLv3.
brett
parents: 24
diff changeset
100 Foundation; either version 3 of the License, or (at your option) any later
18
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
101 version.
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
102
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
103 This program is distributed in the hope that it will be useful, but WITHOUT
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
104 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
105 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
106 more details.
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
107
1600807a32bd [svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff changeset
108 You should have received a copy of the GNU General Public License along
42
4a4cab75d5e6 [svn] Update documentation.
brett
parents: 37
diff changeset
109 with this program; if not, see <http://www.gnu.org/licenses/>.

mercurial