压缩,解压缩工具及bash脚本编程

时间:2022-08-29 21:56:33

压缩和解压缩工具

  • 压缩:时间换空间
  • 早期工具:compress/uncompress,文件后缀名为.Z
  • 比较流行的工具:gzip/gunzip,文件后缀名为.gz
  • 更新的压缩比更大的工具:bzip2/bunzip2,文件后缀名为.bz2
  • 最新的越来越受欢迎的工具:xz/unxz,文件后缀名为.xz
  • 注:bzip2没有撼动gzip的地位,但是xz开始做到了
  • 其它的
    • zip/unzip:压缩归档工具
    • lzma/unlzma:文件后缀名为.lzma
    • tar,cpio:归档工具

gzip/gunzip/zcat:

  • gzip [OPTION]... FILE...:压缩完成后,自动删除原文件
    • -d:解压缩,相当于gunzip
    • -#:指定压缩比,默认是6;数字越大,压缩比越大(1-9);建议不要改这个值
    • -c:将压缩后的结果输出到屏幕,保留原文件
      • gzip -c FILE > FILE.gz,输出重定向,实现文件压缩,同时保留原文件
      • 注:如果输出到屏幕,一堆乱码,可以使用reset命令重置屏幕
  • gunzip FILE:解压缩,解压缩完成后,自动删除压缩文件
  • zcat:查看压缩后的文件内容
    • 注:cat命令无法查看压缩后的文件内容

bzip2/bunzip2/bzcat

  • bzip2:用法与gzip一样
    • 唯一不同点,-k直接保留原文件,不需要-c输出重定向

xz/unxz/xzcat

  • 与bzip2用法完全一样

注:上述三款工具只能压缩文件,不能压缩目录;如果想压缩目录,需要先归档

归档工具:tar,cpio

tar命令

  • tar [OPTION]... FILE...
  • tar的选项可以不带横杆-
  • -c:创建归档
    • -c -f FILE.tar FILE...:必须与-f结合使用,指定归档文件的名称
    • 也可以写成-cf FILE.tar,注:不能写成-fc,否则会把后面的参数当作c的参数
  • -x:展开归档
    • tar -xf FILE.tar -C DIR:如果不加-C,则展开归档至当前目录
  • -t:查看归档文件中的文件列表
    • tar -tf FILE.tar
  • -z:归档并使用gzip2压缩/解压缩并展开归档
    • tar -zcf FILE.tar.gz FILE...
    • tar -zxf FILE.tar.gz -C DIR:有gz后缀,可以省略-z
  • -j:与-z用法一样,压缩工具使用bzip2
  • -J:与-z用法一样,压缩工具使用xz

zip/unzip:也是一个压缩工具

  • 既能归档,又能压缩
  • 各个操作系统都支持
  • 压缩比有限
  • 文件后缀名.zip
  • 不常用

练习:下载redis-3.0.2.tar.gz,展开至/tmp目录;而后重新归档压缩为xz格式

bash脚本编程之用户交互

  • 使脚本具有灵活性的方式有两种:
    • 脚本参数
    • 用户交互:通过键盘输入数据,从而完成变量赋值操作
      • read命令:内嵌命令
      • read [OPTION]... [NAME]...
        • -p "PROMPT"
        • -t TIMEOUT

 压缩,解压缩工具及bash脚本编程       压缩,解压缩工具及bash脚本编程

压缩,解压缩工具及bash脚本编程

 

检测脚本中的语法错误:bash -n SCRIPT 

调试执行:bash -x SCRIPT

 压缩,解压缩工具及bash脚本编程