Linux 压缩解压命令

本部主要介绍:3 种压缩格式,.gz、.zip、.bzip。压缩便于备份、传输和病毒一般很难感染压缩文件,.zip 在 Linux 和 Windows 都可以直接使用

压缩格式 .gz

说明:在 LInux 中非常常见的一种压缩格式

gzip \ gunzip(gzip -d) 使用

  1. 压缩 gzip 命令的使用

    • 语法 gzip 文件名
    • 只能压缩文件,压缩比很理性,也不保存源文件
  2. 解压 gunzip 命令使用

    • 语法 gunzip 压缩文件名
    • 另一种 gzip -d 压缩文件名
  3. 演示

    • 压缩

      ss@localcomputer:~/桌面/tmp$ ls -l
      总用量 4
      -rw-r--r-- 1 ss ss 163 12月 23 21:51 a
      ss@localcomputer:~/桌面/tmp$ gzip a      # 压缩文件
      ss@localcomputer:~/桌面/tmp$ ls -l
      总用量 4
      -rw-r--r-- 1 ss ss 154 12月 23 21:51 a.gz
      
    • 解压

      ss@localcomputer:~/桌面/tmp$ ls -l
      总用量 4
      -rw-r--r-- 1 ss ss 154 12月 23 21:51 a.gz
      ss@localcomputer:~/桌面/tmp$ gunzip a.gz         # 解压文件
      ss@localcomputer:~/桌面/tmp$ ls -l
      总用量 4
      -rw-r--r-- 1 ss ss 163 12月 23 21:51 a
      
      

tar 使用(打包\压缩)

  1. 介绍

    • gzip 命令不可以压缩目录,且不保留源文件
    • tar 可以压缩目录
      1. 先将目录打包(打包和目录不同),目录打包后的文件格式.tar
      2. 在进行压缩
      3. 保留源文件
  2. 压缩 tar 命令使用

    • 功能描述

      1. 打包目录
      2. 压缩后文件格式 .tar.gz
    • 选项表示

      1. -c :打包
      2. -v :显示详细信息
      3. -f :指定文件名
      4. -z :打包同时压缩
    • 语法

      1. 打包 tar [-zcf] [压缩后文件名] [目录] (注意选项顺序)
      2. 查看包里文件信息 tar -tf [文件.tar.gz\.bz2]
    • 演示

      1. 打包、压缩,分成两部完成

        ss@localcomputer:~/桌面$ tar -cvf tmp.tar tmp     # 打包
        tmp/                                          # 显示详细信息
        tmp/c/
        tmp/a
        tmp/b/
        ss@localcomputer:~/桌面$ ls -l
        总用量 16
        drwxr-xr-x 4 ss ss  4096 12月 23 22:07 tmp
        -rw-rw-r-- 1 ss ss 10240 12月 23 22:15 tmp.tar   # 打包文件
        
        ss@localcomputer:~/桌面$ gzip tmp.tar             # 压缩
        ss@localcomputer:~/桌面$ ls -l
        总用量 8
        drwxr-xr-x 4 ss ss 4096 12月 23 22:07 tmp
        -rw-rw-r-- 1 ss ss  317 12月 23 22:15 tmp.tar.gz   # 文件格式
        
      2. 打包压缩,一步完成

        ss@localcomputer:~/桌面$ tar -zcvf tmp.tar.gz tmp/    # 打包并进行压缩
        tmp/
        tmp/c/
        tmp/a
        tmp/b/
        ss@localcomputer:~/桌面$ ls -l
        总用量 8
        drwxr-xr-x 4 ss ss 4096 12月 23 22:07 tmp
        -rw-rw-r-- 1 ss ss  309 12月 23 22:21 tmp.tar.gz
        
      3. 查看包内信息

        ss@localcomputer:~/桌面$ tar -tf tmp.tar.gz   # 查看包内信息
        tmp/
        tmp/a.bz2
        tmp/c/
        tmp/a
        tmp/b/
        
  3. 解压 tar 命令使用

    • 选项表示

      1. -x :解包
      2. -v :显示详细信息
      3. -f :指定解压文件
      4. -z :解压缩文件
    • 语法

      tar -zxvf 解压文件.tar.gz

    • 解压缩包

      1. 一步,完成

        ss@localcomputer:~/桌面$ ls
        tmp.tar.gz
        ss@localcomputer:~/桌面$ tar -zxvf tmp.tar.gz     # 解压缩
        tmp/
        tmp/c/
        tmp/a
        tmp/b/
        ss@localcomputer:~/桌面$ ls -l
        总用量 8
        drwxr-xr-x 4 ss ss 4096 12月 23 22:07 tmp
        -rw-rw-r-- 1 ss ss  309 12月 23 22:21 tmp.tar.gz
        

压缩格式 .zip

说明:.zip linux 和 Windows 都支持,所以两个系统之间相互传文件可以使用

zip \ unzip 使用

  1. 介绍

    • 保留源文件
    • 可以解压缩文件,及目录使用 -r 选项
    • 压缩格式为 .zip
  2. 功能及命令

    • 解压缩文件及目录

    • 压缩命令 zip [-r] [压缩后文件] [文件及目录]

      -r 压缩目录

    • 解压缩命令 unzip 文件

  3. 用法

    • 压缩文件

      ss@localcomputer:~/桌面/tmp$ ls -l
      总用量 12
      -rw-r--r-- 1 ss ss  163 12月 23 21:51 a
      ss@localcomputer:~/桌面/tmp$ zip a.zip a     # 压缩文件
        adding: a (deflated 18%)                 # 显示压缩比
      ss@localcomputer:~/桌面/tmp$ ls -l
      总用量 16
      -rw-r--r-- 1 ss ss  163 12月 23 21:51 a
      -rw-r--r-- 1 ss ss  286 12月 24 22:09 a.zip  # 文件格式 .zip
      
    • 压缩目录

      ss@localcomputer:~/桌面$ zip tmp.zip tmp
        adding: tmp/ (stored 0%)
      ss@localcomputer:~/桌面$ ls -l
      总用量 12
      drwxr-xr-x 4 ss ss 4096 12月 24 22:09 tmp
      -rw-rw-r-- 1 ss ss  309 12月 23 22:21 tmp.tar.gz
      -rw-r--r-- 1 ss ss  158 12月 24 22:12 tmp.zip
      
    • 解压缩

      ss@localcomputer:~/桌面$ unzip tmp.zip 
      Archive:  tmp.zip
         creating: tmp/
      

压缩格式 .bzip2

bzip \ bunzip使用

  1. 介绍

    • 是 bzip 的升级模式
    • 可以保留源文件 -k
    • 压缩比惊人,比较大的文件推荐使用 bzip2
    • 压缩格式 .bz2
    • 只能压缩文件
    • 可是和 tar 命令一起使用,先将目录打包,在进行压缩
  2. 功能及命令

    • 解压缩文件

    • 压缩命令 bzip2 [-k] [文件] ,解压缩 bunzip2 [-k] [压缩文件]

      -k 表示压缩时,产生压缩文件保留源文件;解压时,保留压缩文件

    • 压缩目录 tar -jcvf [压缩后文件名] [目录] ,解压缩目录 tar -jcvf 压缩文件.bz2

  3. 演示

    • 压缩保留源文件

      ss@localcomputer:~/桌面/tmp$ ls
      a  b  c
      ss@localcomputer:~/桌面/tmp$ bzip2 -k a
      ss@localcomputer:~/桌面/tmp$ ls
      a  a.bz2  b  c
      
    • 解压缩保留压缩文件

      ss@localcomputer:~/桌面/tmp$ ls
      a.bz2  b  c
      ss@localcomputer:~/桌面/tmp$ bunzip2 -k a.bz2 
      ss@localcomputer:~/桌面/tmp$ ls
      a  a.bz2  b  c
      
    • tar 一起使用解压缩目录

      ss@localcomputer:~/桌面$ tar -jcvf tmp.tar.bz2 tmp/  # 压缩目录
      tmp/
      tmp/a.bz2
      tmp/c/
      tmp/a
      tmp/b/
      ss@localcomputer:~/桌面$ tar -jxvf tmp.tar.bz2       # 解压目录
      tmp/
      tmp/a.bz2
      tmp/c/
      tmp/a
      tmp/b/
      

你可能感兴趣的:(Linux 压缩解压命令)