我们所有的人可能会面临在某个时间点或其他同时使用Linux 的tar.gz,TAR.BZ2,TBZ命令的情况。 因此,许多存档类型,所以很多命令记得......嗯,不是任何-更多,这要归功于DTRX工具。
Dtrx提取tar文件的工具
什么是Dtrx?
DTRX表示“做正确的提取 ”,这是一个开源的,非常有效的命令行应用程序* nix系统来简化你的档案提取的工作变得容易。
该DTRX命令是一个替代的“ tar-zxvf”或“ tar-xjf”命令和它提供了一个单独的命令以提取在许多不同的格式,包括tar , 拉链 , 转速 ,DEB, Gem ,7Z,cpio归档, RAR等等。 它也可以用来解压使用bzip2,gzip的等压缩文件
默认情况下,DTRX提取内容到一个专门的目录,还修复权限问题(如拒绝许可 )所面临的用户,而提取的内容,以确保业主可以读取和写入所有这些文件。
Dtrx特性
- 处理许多归档类型 :它只提供一个简单的命令来提取tar,ZIP,RAR,GZ,BZ2,XZ,RPM,DEB,创业板,自解压ZIP文件和EXE文件等多种格式。
- 保持组织的一切 :它会提取档案到他们自己的专用目录。
- 理智的权限 :这也确保用户可以阅读和所有这些文件写入提取后,保持完好的权限。
- 递归提取 :它可以发现在归档中归档和提取这些呢。
如何在Linux中安装Dtrx
该DTRX工具是包含在Ubuntu软件仓库默认情况下,所有你所要做的就是简单的做一个易于得到您的系统上安装英寸
在Debian / Ubuntu / Linux Mint
$ sudo apt-get install dtrx
在RHEL / CentOS / Fedora上
基于Red Hat系统,DTRX无法通过默认的库可用,你需要下载一个脚本DTRX安装和使用下面的root用户的命令程序系统范围。
# wget http://brettcsmith.org/2007/dtrx/dtrx-7.1.tar.gz # tar -xvf dtrx-7.1.tar.gz # cd dtrx-7.1 # python setup.py install --prefix=/usr/local
示例输出
running install running build running build_scripts creating build creating build/scripts-2.6 copying and adjusting scripts/dtrx -> build/scripts-2.6 changing mode of build/scripts-2.6/dtrx from 644 to 755 running install_scripts copying build/scripts-2.6/dtrx -> /usr/local/bin changing mode of /usr/local/bin/dtrx to 755 running install_egg_info Creating /usr/local/lib/python2.6/site-packages/ Writing /usr/local/lib/python2.6/site-packages/dtrx-7.1-py2.6.egg-info
如何使用dtrx命令
该DTRX命令是有点像一环统治他们中的魔戒 。 而不是必须记住每个存档的语法,所有你必须记住是dtrx命令。
1.提取单个存档
例如,我要提取名为“youcl27-12-2013.gz”一个存档文件,我只不使用任何标志执行DTRX命令。
[root@youcl]# dtrx youcl27-12-2013.gz
除了简化提取之外,它还有一系列其他选项,例如将文件提取到文件夹,并递归提取给定归档中的所有其他归档。
2.提取多个归档
想想你已经一个文件“dtrAll.zip”,由dtr1.zip,dtr2.zip和dtr3.zip每个由DTR1的,dtr2分别DTR3。 而不必手动首先提取dtrAll拉链 ,然后使用DTRX并选择选项“a”提取DTR1,dtr2的每一个和DTR3你可以将它直接解压在各自的文件夹中,递归提取所有的zip文件。
[root@youcl]# dtrx dtrAll.zip
示例输出
dtrx: WARNING: extracting /root/dtrAll.zip to dtrAll.1 dtrAll.zip contains 3 other archive file(s), out of 3 file(s) total. You can: * _A_lways extract included archives during this session * extract included archives this _O_nce * choose _N_ot to extract included archives this once * ne_V_er extract included archives during this session * _L_ist included archives What do you want to do? (a/o/N/v/l) a
之后,提取,提取的目录的内容可以使用验证ls命令 。
[root@youcl]# cd dtrAll [root@youcl]# ls dtr1 dtr1.zip dtr2 dtr2.zip dtr3 dtr3.zip
3.提取特定存档
假设您想要提取第一个归档文件,而不是其中的归档文件。 通过选择N,只提取给定存档和里面没有其他档案。
[root@youcl]# dtrx dtrAll.zip
示例输出
dtrx: WARNING: extracting /root/dtrAll.zip to dtrAll.1 dtrAll.zip contains 3 other archive file(s), out of 3 file(s) total. You can: * _A_lways extract included archives during this session * extract included archives this _O_nce * choose _N_ot to extract included archives this once * ne_V_er extract included archives during this session * _L_ist included archives What do you want to do? (a/o/N/v/l) N
提取的目录的内容可以使用ls命令验证,如图所示。
[root@youcl]# cd dtrAll [root@youcl]# ls dtr1.zip dtr2.zip dtr3.zip
4.提取归档的每一层
要逐个提取,即对案件档案内存档的每一层,如果要提取档案的第二层而不是第三层,可以使用“o”选项。
想想你已经一个zip文件“dtrNewAll.zip”,其中有“dtrAll.zip”和“dtrNew”,因为它的内容。 现在,如果你想提取“dtrNewAll”和“dtrAll”,以及内容但不dtr1.zip,dtr2.zip和dtr3.zip的,你可以用“O”和“N”的选项,如下图所示。
# dtrx dtrNewAll.zip
示例输出
dtrNewAll.zip contains 1 other archive file(s), out of 2 file(s) total. You can: * _A_lways extract included archives during this session * extract included archives this _O_nce * choose _N_ot to extract included archives this once * ne_V_er extract included archives during this session * _L_ist included archives What do you want to do? (a/o/N/v/l) o
dtrAll.zip contains 3 other archive file(s), out of 3 file(s) total. You can: * _A_lways extract included archives during this session * extract included archives this _O_nce * choose _N_ot to extract included archives this once * ne_V_er extract included archives during this session * _L_ist included archives What do you want to do? (a/o/N/v/l) n
提取目录的内容可以用ls命令,如图进行验证。
[root@youcl]# cd dtrNewAll [root@youcl]# ls dtrAll dtrAll.zip dtrNew
[root@youcl]# cd dtrAll [root@youcl]# ls dtr1.zip dtr2.zip dtr3.zip
我们首先选择“o”的选项,这意味着内部dtrNewAll所有存档将被提取。 以后我们选择dtrAll.zip“n”个选项,这意味着它里面dtr1.zip,dtr2.zip和dtr3.zip档案将不会被提取。
5.从.deb,.rpm和.gem文件中提取元数据
在“-m”选项中提取的,而不是他们的正常内容从.deb文件 ,.rpm的和.gem档案元数据。 这是一个命令的例子。
[root@youcl]# dtrx -m openfire_3.8.2_all.deb [root@youcl]# dtrx -m openfire-3.8.2-1.i386.rpm
[root@youcl]# ls conffiles control md5sums postinst postrm prerm
有很多的选择DTRX探索,只要运行“DTRX -help”列出可用的选项。
[root@youcl]# dtrx --help 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 -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
参考链接
我认为你必须给一个尝试DTRX,因为它是唯一的功能强大的命令行工具,一个命令来解压缩档案文件的任何格式。 这是现在,不要忘记留下你的注释在评论部分。