有时我们明明已经使用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命令来解包了。
大家弄明白了吧!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)