Linux文件解压缩命令

来源:互联网 发布:js获取array长度 编辑:程序博客网 时间:2024/06/15 22:24

压缩解压命令:gzip

命令名称:gzip

命令所在路径:/bin/gzip

执行权限:gzip 选项[文件]

功能描述:压缩文件

压缩后文件格式:.gz

 

[root@localhost /]# ls /test

chown  my.cnf

[root@localhost /]# gzip /test/my.cnf

[root@localhost /]# ls /test

chown  my.cnf.gz      产生了一个压缩包

 

 

注意在Linux下面解压缩的文件可以在Windows下面解压缩出来,但是在Windows下面解压缩的文件拷到Linux下面就不容易解压缩了。Linux所有的压缩格式Windows都支持,反过来windows的压缩格式在Linux里面可能不支持。

gzip压缩的特点:(1):只能压缩文件不能压缩目录。(2)不保留原文件,压缩后只剩下压缩包源文件会没有。(3)解压后,压缩的文件会消失

要将文件解压出来使用gunzip或者gzip -d

[root@localhost /]# gzip /test/my.cnf

[root@localhost /]# gunzip  /test/my.cnf.gz

[root@localhost /]# ls /test

chown  my.cnf

 

 

为了解决gzip不能解压缩目录,为了解决这个问题。

压缩解压命令:tar

命令名称:/bin/tar

命令所在路径:/bin/tar

执行权限:所有用户

语法:tar 选项[cvf][目录]

     -c 产生.tar打包文件

     -v 显示详细信息

     -f  指定压缩后的文件名

     -z  打包同时压缩

功能描述:打包目录

压缩后文件格式:.tar.gz,先将打包为.tar,再使用gzip压缩,最后变为.tar.gz

 

在互联网上面,很多源代码文件都是.tar.gz的,源代码包就是软件发行的时候,作者写完了之后将源代码都丢到一起,打包成一个文件。在安装的时候需要自己编译安装,比如用c语言写的一个软件,在安装的时候需要自己装一个c的编译器将其编译安装,虽然很麻烦但是定制性强,因为自己可以修改源代码,这种软件包大多数是.tar.gz格式。

在压缩目录的时候用可以使用tar命令将其打包为一个文件,再进行压缩。这样生成的后缀名就是.tar.gz

在将一个目录打包为一个文件的时候-c是必要的选项,表示create

-f也是必须项即压缩后的文件名字。

tar可以将一个目录打包为一个文件。.tar.gz  如果想要将一个目录压缩为一个压缩包可以先将文件用tar命令打包为一个文件在进行压缩,生成的后缀名就是.tar.gz

-z选项是先用tar进行打包后面直接进行压缩。

-v是可选项,是不必需要的如果在打包的过程当中不想看到详细的信息就没必要加上这个选项。

[root@localhost /]# tar -czf test.tar.gz test

[root@localhost /]# ls /

bin   dev  home        issue.soft  lib64  mnt  proc  run   srv  test         tmp  var

boot  etc  issue.hard  lib         media  opt  root  sbin  sys  test.tar.gz usr  web

 

前面先写上打包后文件的名字后面写上目录所在的位置。建议打包压缩之后命名规则使用源文件名称加上.tar.gz。在Linux里面对后缀名没有严格的要求,比如打包压缩test目录,压缩之后就可以叫test,不加上后缀名也可以,解压的时候也可以正常解压,但是不好辨认。

 

如果使用tar压缩的文件不加上后缀名你下次遇到该文件无法辨认出该文件是什么文件。如果碰到[root@localhost /]# file test.tar.gz

test.tar.gz: gzip compressed data, from Unix, last modified: Thu Nov  2 10:49:15 2017

该文件想知道该文件是什么类型就使用file这个命令。

 

有的时候服务器上操作系统并不支持z选项那么就得分两步先将文件打包,最后将文件进行压缩,分为两步。

1#tar -cf test.tar test先将目录进行打包

2#gzip test.tar  之后用gzip命令将文件压缩

 

解压命令:tar

     -x 解包.tar文件

     -v 显示详细信息

     -f  指定解压文件

     -z  解压缩

root@localhost /]# ls

bin   dev  home        issue.soft  lib64  mnt  proc  run   srv  test.tar.gz  usr  web

boot  etc  issue.hard  lib         media  opt  root  sbin  sys  tmp          var

[root@localhost /]# tar -zxf test.tar.gz

[root@localhost /]# ls

bin   dev  home        issue.soft  lib64  mnt  proc  run   srv  test         tmp  var

boot  etc  issue.hard  lib         media  opt  root  sbin  sys  test.tar.gz usr  web

 

注意解压缩是还原到之前压缩的目录。如果是从网络上面下载的.tar.gz包就是解压缩到当前目录。

也可以分步骤解压。

gunzip test.tar.gz

tar -xf test.tar

tar解压后tar文件还是会存在。

 

压缩解压命令:zip

命令名称:zip

命令所在路径:/bin/zip

执行权限:所有用户

语法:zip 选项[-r] [压缩后文件名称][源文件或目录]

      -r 压缩目录

功能描述:压缩文件或目录

压缩后文件格式:.zip

 

.zip默认是winLinux的通用格式。在混合型的网络环境里面,想在WindowsLinux交换文件,共享文件,如果不是特别大的包,直接就可以使用.zip的格式。在windows下面.zip拷贝到linux下面可以使用反过来一样。

zip不仅可以压缩文件,也可以压缩目录。将一个目录压缩就要使用r选项  如果压缩文件就不要这个选项。

 

[root@localhost /]# zip my.cnf.zip  /test/my.cnf

  adding: test/my.cnf (deflated 43%)

[root@localhost /]# ls /test

chown  my.cnf

[root@localhost /]# ls /

bin   etc         issue.soft  media       opt   run   sys          tmp  web

boot  home        lib         mnt         proc  sbin  test         usr

dev   issue.hard  lib64       my.cnf.zip  root  srv   test.tar.gz  var

是解压到当前目录。

 

[root@localhost /]# zip -r test.zip test

  adding: test/ (stored 0%)

  adding: test/chown (stored 0%)

  adding: test/my.cnf (deflated 43%)

[root@localhost /]# ls

bin   etc         issue.soft  media       opt   run   sys          test.zip  var

boot  home        lib         mnt         proc  sbin  test         tmp       web

dev   issue.hard  lib64       my.cnf.zip  root  srv   test.tar.gz  usr

zip从使用上来说和之前不同,压缩后源文件还会保留,也可以压缩目录。同时这个适合windows兼容性最好的格式。

 

 

 

 

压缩解压命令:unzip

命令名称:unzip

命令所在路径:/usr/bin/uzip

执行权限:所有用户

语法:unzip[压缩文件]

功能描述:解压zip的压缩文件

范例:$unzip test.zip


压缩命令:bzip2

命令名称:bzip2

命令所在路径:/usr/bin/bzip2

执行权限:所有用户

语法:bzip2 选项[-k][文件]

      -k  产生压缩文件保留源文件

功能描述:压缩文件

压缩后文件格式:.bz2

范例:$bizp2 -k file1

 

这个是gzip的一个升级版。bzip2压缩比非常惊人,适合压缩大文件。这个相当于gzip加上一个选项压缩的时候可以保留文件。不加kgzip是一模一样的,也只能压缩文件。但是压缩比特别高,压缩的格式是.bz2

 

[root@localhost test]# bzip2 -k /test/my.cnf

[root@localhost /]# ls /test

chown  my.cnf  my.cnf.bz2  my.cnf.zip

加了-k选项,可以看到my.cnf源文件还存在。

注意压缩过后源文件依然存在,如果不加上k这个选项那么就不会保留源文件。

 

要将其解压回去

[root@localhost /]# bunzip2 /test/my.cnf.bz2

 

总结:linux windows解压下面的不同点,windows下面可以解压所有的Linux下面的压缩包,反过来linux无法解压Windows下面的很多压缩格式。如果源文件不大可以选择.zip