有时我们明明已经使用gunzip命令解压.gz文件了,可解压生成的文件却依然无法正常读取。如输入命令gunzip HelloWorld.java.gz后,解压生成HelloWorld.java文件,却无法正常使用vi命令进行编辑,打开看到一堆乱码!这是为什么呢?

会出现这种情况,最主要的原因是:由于在linux系统中扩展名可有可无,部分朋友对书写扩展名不是太在意,或者可能是在书写过程中,一时大意,总之,就是书写扩展名时不太规范。要知道,在linux系统中gzip解压命令一般是不单独使用的,而是被命令tar使用参数“z”来调用的。如:tar cvzf HelloWorld.tar.gz HelloWorld.*

大家可以看到这时生成的文件扩展名是.tar.gz,而很多小伙伴在书写时很容易就直接写成了.gz。这样本来是需要使用tar zxvf命令来解压的,却被只用gunzip解压,这就造成前面解压后文件不能正常编辑的情况。

所以前面使用gunzip解压生成的文件其实还不是普通文件,而是使用tar命令生成的一个包文件。这是我们还需继续运行命令:tar xvf HelloWorld.java,可以看到tar解包后的文件就可以正常使用vi命令编辑了。

那么除了猜测,我们还有没有什么好的方法来判断一个文件究竟是什么类型的文件呢?有的,我们可以利用file命令来查看文件类型,从而进一步判断该文件应该使用什么命令来处理。如前面的文件,我们可以运行下面的命令:

file HelloWorld.java

我们可以从输出结果中看到:tar archive,它告诉我们这是一个tar包。这样我们就知道该用tar xvf命令来解包了。大家弄明白了吧!

 

.gz文件解压的更多相关文章

  1. Linux 下面解压.tar.gz 和.gz文件解压的方式

    Linux 下面解压.tar.gz 和.gz文件解压的方式 两种解压方式 1 .tar.gz 使用tar命令进行解压 tar -zxvf java.tar.gz 解压到指定的文件夹 tar -zxvf ...

  2. tar.gz 文件解压

    tar.gz 文件解压 解压缩 file.tar.gz 的过程中出现如下所示问题: tar: 它似乎不像是一个 tar 归档文件 tar: 跳转到下一个头 tar: 由于前次错误,将以上次的错误状态退 ...

  3. linux tar/ tar.gz文件解压

    1.tar 压缩 tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg tar -czf jpg.tar.gz *.jpg   //将目录里所有jpg文件打包成 ...

  4. tar.gz 文件解压 (安装 netbean 时会用到)

    sudo tar xvf jdk-7u45-linux-i586.tar.gz -C /usr/lib 参考文章 http://hi.baidu.com/xiaomeng008/item/5e787b ...

  5. linux 安装mysql数据库——tar.gz包解压安装法

    mysql数据库有多种安装方式,本文只介绍在Linux服务器上的tar.gz包解压安装法, 先通过mysql官网或者网络资源下载 mysql-5.7.3-m13-linux-glibc2.5-x86_ ...

  6. Linux:文件解压与压缩

    文件打包与压缩 常见压缩文件格式: |文件后缀名 |说明| |.zip |zip程序打包压缩的文件| |.rar |rar程序压缩的文件| |.7z |7zip程序压缩的文件| |.tar |tar程 ...

  7. 将tgz文件解压到指定目录

    转:http://blog.csdn.net/zhenwenxian/article/details/4400404 tar在linux上是常用的打包.压缩.加压缩工具,他的参数很多,折里仅仅列举常用 ...

  8. [Linux]-Linux常用命令之文件解压

    不压缩方式压缩的文件需要不同的命令来解压缩,下面是Linux的各种文件解压命令. 对于.tar结尾的文件: tar -xf 对于.gz结尾的文件 : gzip -d all.gz gunzip all ...

  9. tar 多文件解压压缩

    tar 多文件解压:因为tar -zxvf一次值能解压一个文件,所以用xargs -n1 .先查找 ls *gz | xargs -n1 tar -zxvf .要解压的文件在list中 cat lis ...

随机推荐

  1. UIView与CALayer 区别

    在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView. 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个 ...

  2. vue,一路走来(4)--vuex

    补充 调用外部js,详细介绍如何调用函数. 1.首先在main.js里引用文件 2.然后算是和jquery框架一样需要所谓的入口函数吧 不过令我烦恼的是,在应用的文件中需要把他包含在另一个函数里,才可 ...

  3. matplot绘图无法显示中文的问题

    手动添加: from pylab import * mpl.rcParams['font.sans-serif'] = ['SimHei'] #指定默认字体 mpl.rcParams['axes.un ...

  4. Informatica参考

    近日在做informatica项目时,要求参照informatica中原有的mapping方式实现.那么当知道源表或者目标表或者是映射时,如何快速的找出分散在不同的Subject的mapping或者是 ...

  5. LeetCode(力扣)——Search in Rotated Sorted Array 搜索旋转排序数组 python实现

    题目描述: python实现 Search in Rotated Sorted Array 搜索旋转排序数组   中文:假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1 ...

  6. spring的统一进行异常处理

    public class ExceptionHandler extends SimpleMappingExceptionResolver { private static final Logger l ...

  7. SQL Server 2008 R2 数据库备份文件.bak如何挂载到【阿里云·独立虚拟主机数据库】上

    1.前言 8月份刚刚开始,公司[工作流]挂了,实体服务器会自动重启,数据库死活起不来,这可是计算工资提成的事儿,不能马虎! 在实体服务器中,找到了OA页面源码与数据库的.MDF 与 .LDF 等文件. ...

  8. SpringBoot编程思想

    Spring Boot的特性 1).创建独立的Spring应用 2).直接嵌入Tomcat.Jetty或Undertow等Web容器(不需要部署WAR文件) 3).提供固化的starter依赖,简化构 ...

  9. mysql 8.0版本下载安装以及默认密码修改

    1. 下载 去mysql官网下载地址进行下载,选择需要的安装包 可以直接跳过登录进行下载 ps:我是先注册账号下载的,注册时遇到一个坑,就是在chrome75版本无法选择省市,不选择又不让注册. 可以 ...

  10. Android Studio使用tips

    安装位置:C:\Users\xxx\AppData\Local\Android\sdk https://developer.android.com/topic/libraries/support-li ...