提取.tar文件无法工作

11

感谢大家提前的帮助!作为一个初学者用户,我非常感激你们的帮助!


我的机器/操作系统: Mac OSX 10.5.8,32 位


我想要做什么:网站中提取和安装Apache Maven。


我已经做了什么: 从该网站下载了二进制的.tar.gz文件,并使用shell将下载的文件移动到正确的目录,并通过使用gunzip -v filename.tar.gz解压.tar.gz中的.tar文件。现在我正在尝试使用tar -xv filename.tar命令来提取.tar文件。


我的问题 解压似乎不起作用!在我输入tar -xv filename.tar命令并按下回车键后,shell没有返回任何输出,并且似乎无法完成提取。它停留在空行上,无限期等待。


我的尝试 在另一个Shell窗口中检查目录,无论是在tar运行时还是在退出正在运行进程的Shell时,都没有显示所包含文件的任何更改;即只有原始的.tar.gz文件存在。我还尝试删除文件以及包含它的目录,重新创建目录,将文件复制到目录中,然后重新尝试tar -xv filename.tar命令。结果是一样的。


非常感谢大家!


表明问题已得到解答的方法是通过点击勾选图标接受其中一个答案。(看起来Eduardo的回答解决了问题,但这取决于您的判断。)或者您可以自己发布一个答案。在问题中包含答案只会引起混乱。 - Keith Thompson
4个回答

22

尝试以下命令:

tar -xzvf filename.tar.gz

Eduardo,感谢您的建议,我已根据下面的评论回答了我的问题。再次感谢! - whearyou
2
小心使用绝对路径。如果在创建 tar 包时指定了绝对路径,那么解压缩时它将被包含在同一文件夹路径下,而不是原始文件夹名称下。这曾经让我认为提取操作没有生效。 - storm_m2138

9

sudo tar -xvf 文件名.tar

这个命令是对上述 tar -xv filename.tar 命令的两个问题进行修复。

第一个问题:需要包含-f修饰符以表示要使用的文件。根据 [lowfatlinux][2],-f 是用于 tar 的一个命令,其含义是:

"归档文件名称在命令行中给出(每当 tar 输出将要写到文件时都需要指定)"

因此,包含 -f 修饰符告诉 tar 程序,提供的文件名是要从中提取的文件。

第二个问题:需要在命令开头添加 sudo,以授予 shell 创建目录的权限。


2
尝试以下命令:
gunzip -c filename.tar.gz | tar xopf -

在使用 gunzip 命令后,对该文件使用 tar xopf 命令。

tar xopf filename.tar

0

Shahin,谢谢你的帮助。我按照网站的建议从镜像下载了文件;我在上面回答了我的问题。再次感谢你。 - whearyou

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接