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


11

我的系统管理员现在无法访问,并且我在服务器上有一个要解压缩的压缩文件...但是,我们目前没有安装zip和解压缩,并且我没有root用户权限来安装它们。 ..

我会完全失去选择吗?还有其他可以解压缩该文件的东西吗?


没有安装tar吗?tar -x
spuder

刚尝试了tar -x file.zip,它似乎正在做某件事...
johnnietheblack13年

@spuder,如果该方法可行,您应该留下答案,我会
投票赞成

Answers:


10

我还没有尝试过,但是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包含一个解压缩的“模块”,如果您可以下载并运行静态链接的BusyBox,则可以使用它来解压缩内容。


我尝试了此过程的第一部分并得到:可以在以下软件包中找到程序“导入”:* imagemagick * graphicsmagick-imagemagick-compat-btw ...我没有
投票

哦。您知道需要通过Python运行它吗?
Tom O'Connor

1
哇。看起来很有效。...我在互动模式下成功绊倒了!
johnnietheblack13年

2
欢迎使用Python。这很棒。
汤姆·奥康纳

2
现在,您可以只需直接调用该模块的命令行python -m zipfile -e monty.zip target-dir/(见docs.python.org/2/library/zipfile.html#command-line-interface
彼得·吉布森

11

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

jar xvf file.zip 

请注意,您可以安装没有root访问权限的java:http : //docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html


1
今天我学到了。
Tom O'Connor

程序'jar'可以在以下软件包中找到:* default-jdk * fastjar * gcj-4.6-jdk * openjdk-6-jdk * gcj-4.5-jdk * openjdk-7-jdk要求管理员安装以下任一程序他们:(
johnnietheblack13年

1
查看我的答案更新。
jlliagre

由于担心系统管理员的愤怒,我有点急于在服务器上安装任何东西,但是如果需要的话,我一定会尝试的。
johnnietheblack13年

2

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文件。最好的选择是将文件压缩到安装了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。尽管它是很好的信息,但毕竟在这种情况下将不起作用。


-zxvf做什么?
johnnietheblack13年

当我尝试这样做时,我得到tar:这看起来不像tar存档tar:跳到下一个标头...这是否意味着它失败了,或者还在继续吗?
johnnietheblack13年

tar处理zip文件的功能可能是Ubuntu tar(即GNU tar)似乎没有提供的扩展。-z适用于压缩文件,而不是压缩文件(除非这是最近的扩展名)。
jlliagre

这是否意味着如果我上传gzip,它将起作用?
johnnietheblack13年

会的,但这不是你的问题;-)
jlliagre

2

我不相信没有其他方法可以在没有的系统上解压缩文件unzip,但是您可以将文件发送到另一个Linux系统(安装了解压缩或具有root访问权限),在那里解压缩文件,并且-如有必要,发送解压缩的文件。文件返回到原始服务器。

将文件从一台服务器发送到另一台服务器的命令是scp。发送文件的语法为:

scp <filename> <username>@<otherhostname>:<portnumber><fullpathtolocation>
e.g.: scp file.zip  user@server.example.com:2222/home/user/ 

希望这可以帮助!



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.