如何在Ubuntu中解压缩* .7z文件并保持目录结构?

#1 楼

首先安装p7zip-full软件包:

sudo apt-get install p7zip-full


这样,Nautilus应该可以解压缩7-Zip文件。

我也建议p7zip-rar因此它还包括对RAR文件的支持。

这是假设您要通过Nautilus通过GUI进行操作。如果不是,请在下载上述软件包后执行以下操作:

7z x PACKAGE.7z 


应提取具有完整路径的软件包。

评论


我尝试使用apt安装7zip-full。我收到此消息:“ p7zip-full软件包不可用,但是被另一个软件包引用。这可能意味着该软件包丢失,已废弃或只能从其他来源获得。”

–pospos12
18-10-27在0:12



请注意,如果压缩文件非常大,则会将其分解为单独的组件文件file.7z.001,file.7z.002等。但是,只有第一个文件file.7z.001将显示为Nautilus桌面上的可压缩图标。其他显示为数据文件图标。双击此.7z.001文件以解压缩包中的所有组件。同样,显然必须存在压缩期间创建的所有.00x组件文件,否则.001解压缩可能会失败。

–龙主
19年6月21日19:43

注意:如果您运行7z x my-archive.7z,则所有文件都将提取到您的家中!我现在拥有一个巨大的存档,这在斧头中很难找到所有文件并将它们移到正确的位置!

– amp弹枪
20年8月11日在13:27



嗨,@ Sampgun,您一定可以在运行它时将其保存在主文件夹中。此外,还有两个参数“ e”和“ x”,主要区别在于为什么我建议使用“ x”,因为它保留了.7z文件中的文件夹结构。因此,如果最后在家中存储大量文件是因为您位于home文件夹中,而.7z文件没有开头的文件夹结构。下次您可以做的是创建一个文件夹,将.7z移动到该文件夹​​并将其解压缩到其中以确保安全。祝好运。

–路易斯·阿尔瓦拉多(Luis Alvarado)
20年8月13日在15:18

@Sampgun我觉得你是哥们。充分认识。

–路易斯·阿尔瓦拉多(Luis Alvarado)
20年8月14日在22:50

#2 楼

还有一个dtrx-对取消存档非常有用。
代表“正确的提取”-它将解压缩任何内容而没有大惊小怪。
简单地:
sudo apt-get install dtrx
dtrx archive.tar.XX

手册页:http://manpages.ubuntu.com/manpages/trusty/en/man1/dtrx.1.html

针对Ubuntu 20.04的更新:
根据他们的pypi页面, dtrx当前在官方存储库中不可用。因此,如果无法通过apt安装它,则仍然可以使用pip3
pip3 install dtrx

如果尚未安装pip3,则可以与
sudo apt install python3-pip

安装

评论


它目前支持InstallShield文件。很有意思。

– LiveWireBT
2015年2月19日在11:20



您救了我,由于某些原因,p7zip无法处理我的文件,但是dtrx像一个魅力一样工作。

–adamconkey
2015年7月1日0:00,

强制性陈词滥调链接:xkcd.com/1168

– Ciro Santilli郝海东冠状病六四事件法轮功
2015年10月7日在10:52

似乎是正确的(!),但是在Ubuntu 20.04.1 LTS上,sudo apt install dtrx的结果是错误,“ E:无法找到软件包dtrx”。

– Peter Krauss
20年8月3日,21:55



你是对的!即将编辑

–rm-vanda
20年8月3日在22:11

#3 楼

在终端中运行以下命令:

sudo apt-get install p7zip-full p7zip-rar


,或者在ubuntu软件中心搜索7zip并解压缩并安装软件包。

#4 楼

对于ubuntu 17.04,不需要完整的软件包,只需p7zip

sudo apt install p7zip


,然后使用-d命令解压缩:

p7zip -d something.7z


评论


p7zip -d --keep something.7z否则它将破坏您的输入文件!!!!

–戴夫·金布尔
18年8月4日在7:16



由于缺少功能,因此无法提取所有文件。就我而言,密码保护。因此,这可能会产生误导。

–烤饼
18-09-25在10:53

嗯,所以默认行为是删除输入。这确实是非常有用和礼貌的。我希望所有程序都能做到这一点。

– Przemek D
20-04-28在13:04

#5 楼

其他答案对我不起作用。
但是此命令正常工作:
7z e file.7z


评论


没错,但是您需要使用“ x”保留目录结构!请注意,如果您使用标签“ e” f.eg 7z e Myfile.7z,它将把所有内容拉入当前工作目录,并且覆盖现有文件可能会造成永久性损失。

–MathArt
20 Nov 26'8:36