从 Windows 上传到 Linux 后解压

从 Windows 上传到 Linux 后解压

我已经从我的 Linux 服务器创建tar.gz,并且我将其下载到我的 Linux 系统并成功untar完成tar -xvf package.tar.gz

现在我的问题是

我下载了同样的文件package.tar.gz到 Windows 系统,然后上传到另一台 Linux 服务器,并尝试了同样的命令tar -xvf package.tar.gz。但是它

tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors

作为回应。我还尝试了 filezill 模式的手动传输binary

我怎样才能做到这一点?

更新

当我直接下载到Linux系统时,它运行良好。

当我下载到 Windows 系统并尝试使用 7zip 或 winrar 提取时出现错误

当我下载到 Windows 并上传到 Linux 时,出现同样的错误

答案1

您可以先将其分解为 unzip,然后 untar

gunzip package.tar.gz
tar xfv package.tar

或者用一个命令完成

gunzip -c package.tar.gz | tar xfv -

也许在其他 Linux 系统上 tar 无法识别 gz 文件或需要 z 标志。

答案2

您可以一步完成 gunzip 和 untar 操作,无需使用管道:

tar xvfz package.tar.gz

or depending on the tar version you have, you may need a dash -

tar -xvfz package.tar.gz

相当于

gunzip -c package.tar.gz | tar xfv -

答案3

我还没有 50 点声望,所以我无法添加评论,只能回复。

按照 Jason Lewis 所说的做。获取文件的 md5 哈希值,看看它们是否在途中被损坏。

在 Linux 上,使用 md5sum 命令

在 Windows 上,下载 Microsoft 的 FCIV 工具并使用它。

然后,您可以查看文件在传输到 Windows 时是否损坏,或者文件在 Windows 上完好无损,但在传输到 Linux 时损坏。这将大大缩小您的调试范围

FCIV 现已推出:

http://www.microsoft.com/en-us/download/details.aspx?id=11533

Windows 示例 fciv

http://geekswing.com/wp-content/uploads/2014/04/windows_md5sum_sha1_example.jpg

相关内容