DTRX - 许多存档类型的通用存档提取器

时间:2020-03-21 11:47:47  来源:igfitidea点击:

DTRX工具是一个通用存档提取器,用于许多存档类型。
DTRX代表"Do The Right Extraction"。
它是一个免费的开源归档提取工具。
我们无需多个提取工具来处理不同类型的存档文件。
DTRX将处理几乎所有类型的存档文件,如Tar,Zip,CPIO,DEB,RPM,GEM,7Z,CAB,LZH,RAR,GZ,BZ2,LZMA,XZ和多种exe文件,包括Microsoft内阁档案,InstallShield Archives和自我提取ZIP文件。
DTRX会将存档提取到自己的专用目录中。
此外,它确保我们可以读取和写入刚刚提取的所有文件,同时将其余的权限完好无损。
更重要的是,它可以在存档内部找到档案并提取它们。

在此简要教程中,我们将看到如何安装和使用DTRX以在UNIX的操作系统中处理存档文件。

DTRX - 智能归档提取实用程序

安装

关于Arch Linux中:

DTRX在AUR中提供。

如果我们Arch Linux或者任何其他Arch Linux衍生物,如Antergos,Manjaro Linux,我们可以使用Yaourt或者Packer等Aur帮助者安装它。

$yaourt -S dtrx

或者,

$packer -S dtrx

在Ubuntu及其衍生品:

DTRX提取工具可在Ubuntu的默认存储库中提供。
以下命令将在Ubuntu系统上安装DTRX。

$sudo apt-get install dtrx

在其他Linux发行版上,我们可以手动编译并将其从源安装并安装如下所示。

确保在Linux框中安装了Python。
然后,从这里下载最新版本。

$wget https://brettcsmith.org/2007/dtrx/dtrx-7.1.tar.gz

使用命令提取下载的存档文件:

$tar -xvf dtrx-7.1.tar.gz

转到其中提取DTRX的文件夹。

$cd dtrx-7.1

最后,编译并安装如下所示。

$python setup.py install --prefix=/usr/local

用法

与其他归档提取器不同,我们不需要记住所有选项和参数。
只需使用DTRX命令,然后使用归档文件如下所示。

$dtrx dir1.tar

其中,dir1.tar是tar存档文件。

它将将Dir1.tar存档的所有内容提取到名为DIR1中的文件夹中。
我们无需安装Tar归档实用程序或者不需要知道如何使用Tar命令提取存档。
DTR将提取给定文件,无论文件是哪个存档格式。

现在,考虑另一个名为dir2.zip的文件文件,该文件由存档文件组成,即file1.tar和file2.bz2.
让我们使用命令提取它:

$dtrx dir2.zip

DTRX足够智能,可以找到并告诉我们DIR2.zip文件包含两个其他档案。
而且,它会给我们列出的建议。

如上所述,我们可以通过输入下面给出的相关字母来选择以下任何操作。

  • a - 递归递归归档文件和所有其他包含的存档文件。
  • o - 提取此内容包含存档文件。
  • n - 不要提取包含存档文件。这意味着此选项只会提取源归档文件,而不是其中内部的其他档案。
  • v - 切勿在此次会话期间提取包含存档文件。
  • l - 列出所有包含的存档。

我们还可以通过指定空格分隔的档案一次提取多个文件,如下所示。

$dtrx dir1.tar dir2.zip dir3.tar.bz2

同样,如果存档文件包含其中的其他档案,则会询问上述问题。
按任意字母执行相应的操作。

还可以从.deb或者.gem文件中提取元数据。
-m选项只能从这些文件中提取元数据,而不是整个内容。

$dtrx -m python_2.7.9-1_amd64.deb

要查看Abve文件的元数据,只需使用LS命令。

$ls python_2.7.9-1/
control md5sums postinst postrm preinst prerm

有关更多详细信息,请通过运行以下命令查看帮助部分:

$dtrx -h
Usage: dtrx [options] archive [archive2 ...]
Intelligent archive extractor
Options:
 --version show program's version number and exit
 -h, --help show this help message and exit
 -l, -t, --list, --table
 list contents of archives on standard output
 -m, --metadata extract metadata from a .deb/.gem
 -r, --recursive extract archives contained in the ones listed
 --one=ONE_ENTRY_DEFAULT, --one-entry=ONE_ENTRY_DEFAULT
 specify extraction policy for one-entry archives:
 inside/rename/here
 -n, --noninteractive don't ask how to handle special cases
 -o, --overwrite overwrite any existing target output
 -f, --flat, --no-directory
 extract everything to the current directory
 -v, --verbose be verbose/print debugging information
 -q, --quiet suppress warning/error messages