压缩和解压缩工具
- 压缩:时间换空间
- 早期工具: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