除了“unzip”之外,还有其他选项可以在 Ubuntu 中解压缩文件吗?

除了“unzip”之外,还有其他选项可以在 Ubuntu 中解压缩文件吗?

我的系统管理员现在无法联系到我,而且我在服务器上有一个压缩文件,我想解压它...但是,我们目前没有安装 zip 和 unzip,而且我没有 root 权限来安装它们...

我是不是完全没有选择了?还有其他东西可以解压这个文件吗?

答案1

我还没试过这个,zipfile从 1.6 版开始,Python 标准库中有一个模块,从 2.6 版开始,有一个extractall方法

应该可以做类似的事情:

  1. 创建一个包含以下内容的文件(编辑它以适合您的用例)。
  2. 将文件保存为“unzipfile.py”
  3. 使用 python unzipfile.py 运行

它将提取test.zip/home/user/directory

import zipfile

with zipfile.ZipFile('test.zip', "r") as z:
  z.extractall("/home/user/directory")

来源:https://stackoverflow.com/a/9432315/167299

或者,忙碌盒子包含一个解压缩“模块”,如果您可以下载并运行静态链接的 BusyBox,那么您就可以使用它来解压缩。

答案2

如果你已经java安装,该jar命令可以解压压缩文件:

jar xvf file.zip 

请注意,您无需 root 权限即可安装 java:http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html

更新:OpenJDK 可作为tar.gz存档下载到 Linux,无需 root 权限即可安装:http://jdk.java.net/17/

但是,Windows 版本是一个zip文件,因此对该操作系统没有帮助......

答案3

BSD / Mac OSX

Mac 和 BSD 衍生产品附带的 tar 实用程序,支持从 tar 命令提取 zip 档案

tar -xvf foo.zip

tar --version
bsdtar 2.8.3 - libarchive 2.8.3

Debian / RHEL

Ubuntu 和其他系统自带的 tar 存档不支持提取 zip 文件。最好的选择是将文件 scp 到安装了 zip 的机器上。

tar -xvf foo.zip
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors

冒烟测试

echo "the quick brown fox jumped over the lazy dog" > bar.txt
zip -r bar.zip bar.txt
rm bar.txt
tar -xvf bar.txt
cat bar.txt
the quick brown fox jumped over the lazy dog

更新

重写答案以澄清 tar -xvf 仅适用于 bsd OS。虽然这是个好消息,但它毕竟在这种情况下不起作用。

答案4

将文件复制到另一台机器,解压,然后复制回来。

相关内容