今天呢,把Linux的压缩命令整理一下,分享一下。

首先说一下,在Linux里的压缩格式吧(也可以说是格式,这个格式呢,是为了方便用户辨别的。)

  • .zip
  • .gz
  • .bz2
  • .tar.gz
  • .tar.bz2

.zip

这个 .zip 呢,有没有很眼熟的样子。是的,它就是可以在 windows 上可以用的那种压缩格式。也就说,这种文件在 Linux 下和 windows 下是一样的。

命令如下:

zip     压缩文件名  源文件            #压缩文件

zip  -r 压缩文件名  源目录            #压缩目录

unzip   压缩文件名                   #解压缩

PS:
Linux下,把文件夹称为目录,压缩目录就是把整个文件夹全部压缩。


.gz

命令如下:

gzip 源文件     
        #源文件消失,生成 源文件名.gz 的压缩文件

gzip -c 源文件 > 压缩文件

gzip -r 目录
        #将目录下的子文件压缩成对应的 .gz 压缩文件

gzip -d 压缩文件
        #解压缩命令 

gunzip 压缩文件
        #解压缩命令

PS:
gzip 命令不能支持把整个目录压缩成文件。


.bz2

命令如下:

bzip2    源文件               #压缩并不保留源文件

bzip2 -k 源文件               #压缩并保留源文件

bzip2 -d 压缩文件             #解压缩并不保留压缩文件

bzip2 -k 压缩文件             #解压缩并保留压缩文件

bunzip2    压缩文件           #解压缩并不保留压缩文件
bunzip2 -k 压缩文件           #解压缩并保留压缩文件

PS:
.bz2 命令完全不支持目录压缩。


PS:
针对 gzip 和 bzip2 命令不能很好支持压缩目录,却可以很好的支持压缩文件,所以解决这样的问题,可以把目录转换成文件,接下来就可以很好的压缩了。

打包命令,把目录 -> 文件

命令如下:

tar -cvf 打包文件名 源目录

选项:   -c    打包
        -v    显示过程
        -f     指定打包后的文件
例如:
    tar -cvf test.tar ./test/

tar -xvf 打包文件名

选项:   -x    解打包

PS:
然后就可以很自然的使用 gzip 和 bzip2 命令压缩了。但是每次都先打包后压缩,解压后再解压很繁琐的,有没有方便一点的呢,看下边。。。


.tar.gz

命令如下:

tar -zcvf ***.tar.gz 源目录        #压缩

tar -zxvf ***.tar.gz              #解压

tar -zxvf ***.tar.gz -C 路径      #解压到指定目录下(大写C)

.tar.bz2

命令如下:

tar -jcvf ***.tar.bz2 源目录      #压缩

tar -jxvf ***.tar.bz2            #解压

tar -jxvf ***.tar.bz2 -C 路径     #解压到指定目录下(大写C)