Sun, 12 Apr 2009 11:21:51 -0400
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 | 1 | dtrx - Intelligent archive extraction |
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 | 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 | 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 | 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 | 17 | Running dtrx |
18 | ------------ | |
18
1600807a32bd
[svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff
changeset
|
19 | |
19 | 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 | 23 | $ dtrx coreutils-5.*.tar.gz |
18
1600807a32bd
[svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff
changeset
|
24 | |
19 | 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 | 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 | 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 | 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 | 61 | -n, --noninteractive |
62 | dtrx will normally ask the user how to handle certain corner cases, such | |
63 | as how to handle an archive that only contains one file. This option | |
37 | 64 | suppresses those questions; dtrx will instead use sane, conservative |
65 | defaults. | |
24 | 66 | |
19 | 67 | -l, -t, --list, --table |
68 | Don't extract the archives; just list their contents on standard output. | |
69 | ||
37 | 70 | -m, --metadata |
71 | Extract the metadata from .deb and .gem archives, instead of their normal | |
72 | contents. | |
73 | ||
18
1600807a32bd
[svn] Add basic documentation, and make this version 3.0.
brett
parents:
diff
changeset
|
74 | -q, --quiet |
56 | 75 | Suppress warning messages. Listing this option twice will cause dtrx to |
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 | 79 | Show the files that are being extracted. Listing this option twice will |
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 | 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 | 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 | 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 | 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 | 109 | with this program; if not, see <http://www.gnu.org/licenses/>. |