zoukankan      html  css  js  c++  java
  • 解压.tar.gz出错gzip: stdin: not in gzip format tar: /Child returned status 1 tar: Error is not recoverable: exiting now

    最近研究shell编程,需要下载解压一些.tar.gz的文件,但经常遇到解压失败的情况:

    [root@xxxxxxx ~]# tar -jxvf tcl8.4.16-src.tar.gz 
    bzip2: (stdin) is not a bzip2 file.
    tar: Child returned status 2
    tar: Error is not recoverable: exiting now
    

    今天仔细研究了一下,如何解决这个问题:

    1. 先查看文件真正的属性是什么?

    [root@xxxxx ~]# tar -zxvf tcl8.4.16-src.tar.gz 
    
    gzip: stdin: not in gzip format
    tar: Child returned status 1
    tar: Error is not recoverable: exiting now
    [root@xxxxxx ~]# file tcl8.4.16-src.tar.gz 
    tcl8.4.16-src.tar.gz: HTML document text
    

    我赛,竟然是HTML,这次终于知道是为什么了。

    理由如下:

    文件的下载链接不是直接指向文件,而是先指向一个页面,在这个页面里才是真的下载链接,所以在前一个页面上直接保存文件,实际上保存的是一个页面。

    假如属性是bz文件,就用bz文件的解压方式。

    补充一下file命令:

    通过file指令,我们得以辨识该文件的类型。

    参  数:
     -b  列出辨识结果时,不显示文件名称。
     -c  详细显示指令执行过程,便于排错或分析程序执行的情形。
     -f<名称文件>  指定名称文件,其内容有一个或多个文件名称呢感,让file依序辨识这些文件,格式为每列一个文件名称。
     -L  直接显示符号连接所指向的文件的类别。
     -m<魔法数字文件>  指定魔法数字文件。
     -v  显示版本信息。
     -z  尝试去解读压缩文件的内容。

     2.重新获取tar包路径,先用浏览器打开,从弹出来的save 对话框里获取下载链接

    这次就完美了!

  • 相关阅读:
    1602液晶显示实验
    LNMP安装(二)
    LNMP安装(一)
    vim插件安装
    资料下载
    建表的sql
    time
    计算机里的加减乘除
    branch
    存储过程
  • 原文地址:https://www.cnblogs.com/yajing-zh/p/4952940.html
Copyright © 2011-2022 走看看