博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
压缩,解压缩工具及bash脚本编程
阅读量:5964 次
发布时间:2019-06-19

本文共 1343 字,大约阅读时间需要 4 分钟。

压缩和解压缩工具

  • 压缩:时间换空间
  • 早期工具: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 -n SCRIPT 

调试执行:bash -x SCRIPT

 

 

转载于:https://www.cnblogs.com/jacky1982/p/7824349.html

你可能感兴趣的文章
第一次作业-准备篇
查看>>
HDU1848 Fibonacci again and again
查看>>
HTML思维导图
查看>>
office2016选择性安装
查看>>
C# 自定义控件入门
查看>>
git改密码出现授权问题
查看>>
Hadoop IO 特性详解(2)
查看>>
ORA-02266: 表中的唯一/主键被启用的外键引用
查看>>
MySQL类型转换 使用CAST将varchar转换成int类型排序
查看>>
Django的POST请求时因为开启防止csrf,报403错误,及四种解决方法
查看>>
Apache common-fileupload用户指南
查看>>
day-6 and day-7:面向对象
查看>>
IE维护(IEM)策略不再适用于IE10及后续IE版本
查看>>
Java7中的ForkJoin并发框架初探(下)—— ForkJoin的应用
查看>>
java中的重量级与轻量级概念
查看>>
Linux设备驱动工程师之路——硬件访问及混杂设备LED驱动
查看>>
进程和线程<一>
查看>>
远程算数程序——版本v1.0
查看>>
Mysql常见四种索引的使用
查看>>
说说Android桌面(Launcher应用)背后的故事(一)——揭开她神秘的面纱
查看>>