15.文件管理之打包压缩

引入

1.什么是打包压缩

  • 打包 : 指的是将多个文件和目录合并为一个特殊文件
  • 压缩 : 将该特殊文件进行压缩, 得到一个压缩包

2.为什么使用打包压缩

  • 减少占用的空间
  • 加快网络的传输

3.Windows 与 Linux 压缩包的不同

  • Windows : ziprar(Linux不支持rar)
  • Linux : ziptar.gztar.bz2.gz

ps:如果想要两个系统都可以解压, 那就选择 zip 的压缩包

ps2: 压缩包后缀不重要, 但带上更便于识别

4.Linux 下常见的压缩包类型

格式压缩工具
.zip zip压缩工具
.gz gzip压缩工具
.bz2 bzip2压缩工具
.tar.gz 先使用 tar 命令归档打包, 然后使用 gzip 压缩
.tar.bz2 先使用 tar 命令归档打包, 然后使用 bzip 压缩

zip工具需要安装
yum install zip unzip -y

 

zip压缩 

参数:    #  -r:   参数去递归压缩文件夹下的所有内容

            #  -q:参数就是不输出任何打包信息

 

 

 # zip格式
          zip   [参数]    压缩包名称   文件路径

 

 

zip解压命令(unzip)

         #   -l:     查看压缩包内容不解压需要使用

 

# 格式
         unzip    [参数]    压缩包路径

gzip解压(-d)

 

bzip2解压(-d)

logbzip2解压是针对于bzip2压缩的压缩包来进行解压。

      # 解压到指定目录(-d)

      # 静默输出(-q)

      # 只查看压缩包内容不解压需要使用 -l 参数

 

5.tar参数
    -c : 创建压缩
    -f ; 指定压缩包名称
             -z : 使用gzip压缩工具进行压缩
             -j : 使用bzip2压缩工具进行压缩
    -J : 使用xz压缩工具进行压缩
     -t : 显示压缩包内容,不解压
    -v : 显示压缩过程
               -P : 允许使用绝对路径进行压缩
    -x : 解压
   -C : 指定解压路径
               -h : 打包软连接
    --exclude : 排除某些文件
    --exclude-from : 根据文件列表排除多个文件

 

 

 

一.打包压缩

1.打包

  • 选项

    "c" #创建
    "v" #详细信息
    "f" #打包后放置的路径
  • 命令

    [root@shawn ~]# tar cvf ./a_bak.tar   a.txt
    a.txt
    [root@shawn ~]# ls
    a_bak.tar  a.txt

2.压缩

  • 命令

    [root@shawn ~]# gzip a_bak.tar
    [root@shawn ~]# ls
    a_bak.tar.gz a.txt //会自动加上 ".gz" 后缀

3.上面压缩打包合二为一

  • z 代表 gzip 压缩算法

    [root@shawn ~]# tar cvfz a1_bak.tar.gz  ./a.txt
    ./a.txt
    [root@shawn ~]# ls
    a1_bak.tar.gz     a_bak.tar.gz      a.txt
  • j 代表 bzip2 压缩算法

    [root@shawn ~]# tar cvfj a2_bak.tar.bz2 ./a.txt
    ./a.txt
    [root@shawn ~]# ls
    a1_bak.tar.gz    a2_bak.tar.bz2      a_bak.tar.gz a.txt

4."zip" 打包压缩

  • 命令

    //第一个参数是压缩包存放的位置, 后面的都是要打包压缩的文件
    [root@shawn ~]# zip /root/ab.zip a.txt b.txt
      adding: a.txt (deflated 98%)
       adding: b.txt (stored 0%)
    [root@shawn ~]# ls
    ab.zip  a.txt   b.txt

二.解压缩

1.针对 xx.tar.gz 和 xx.tar.bz2 压缩算法

//无需指定算法, "tar" 会自动判断
  🐼语法: tar xvf [压缩包] -C [解压到的目录]
 
      🐼示例 [root@shawn ~]# ls
          a_bak.tar.gz    ab.zip     a.txt     b.txt    song
        [root@shawn ~]# tar xvf a_bak.tar.gz -C ./song
          a.txt
        [root@shawn ~]# ls song   
          a.txt

2.针对 xx.zip

      🐼语法: unzip [xxx.zip]   
            🐼示例
             [root@shawn ~]# ls
              a_bak.tar.gz    ab.zip      song
             [root@shawn ~]# unzip  ab.zip
              Archive:     ab.zip
              inflating:     a.txt
              extracting:  b.txt
            [root@shawn ~]# ls
              a_bak.tar.gz    ab.zip    a.txt     b.txt    song

三.拓展知识     

1.打包压缩应用

  • 打包压缩一般用于备份文件
  • 文件的名字必须见名知意
  • 可以带上事件, 主机名之类的

2.时间命令date

  • 常用选项


3.使用反引号``加入时间

 [root@shawn ~]# ls
    a.txt     b.txt 
 [root@shawn ~]# tar cvfz `date +%F`_bak.tar.gz /root
 [root@shawn ~]# ls
    2020-10-27_bak.tar.gz       a.txt        b.txt

4.或者使用 NTP 网络同步时间

 

posted @ 2021-02-26 20:37  ଲ小何才露煎煎饺  阅读(361)  评论(0)    收藏  举报