Linux系统下文件压缩与打包命令
常用的压缩文件拓展名
* .Z
* .zip
* .gz
* .bz2
* .xz
* .tar
* .tar.gz
* .tar.bz2
* .tar.xz
压缩命令
gzip,zcat/zmore/zless/zgrep
- 描述:替换早期的compress命令提供更好压缩比,应用最广的压缩命令,建立出的压缩文件为*.gz
gzip [-cdtv#] 文件名
zcat 文件名.gz
- 参数描述:
- -c: 压缩数据输出到屏幕,可通过数据流重定向处理
- -d: 解压缩的参数
- -t: 检查压缩文件的一致性,看文件是否有错误
- -v: 显示原文件/压缩文件压缩比
- -#: 压缩等级【1-9】,默认是
6
- 1:最快,压缩比最差
- ...
- 9:最慢,压缩比最好
- zcat/zmore/zless可以对应于cat/more/less方式读取纯文本文件被压缩后的压缩文件
bzip2, bzcat/bzmore/bzless/bzgrep
- 描述: 替换gzip,后缀是.bz2,用法几乎与gzip一致。
bzip2 [-cdkzv#] 文件名
bzcat 文件名.gz
- 参数描述:
- -c: 压缩数据输出到屏幕,可通过数据流重定向处理
- -d: 解压缩的参数
- -k: 保留原始文件而不会删除原始文件
- -z: 压缩的参数(默认值,可以不加)
- -v: 显示原文件/压缩文件压缩比
- -#: 压缩等级【1-9】,默认是
6
- 1:最快,压缩比最差
- 9:最慢,压缩比最好
具体范例
# 压缩并将信息显示
bzip2 -v services*
# 读出上例文件内容
bzcat services.bz2
# 解压缩
bzip2 -d services.bz2
# 将上例中解开的services采用最佳压缩比压缩,并保留原本文件
bzip2 -9 -c services > services.bz2
此处要注意,-c ... > ...
的用法:将原本要输出到屏幕的内容转成文件->具体在bash中看
xz, xzcat/xzmore/xzless/xzgrep
- 描述: 压缩比更高的软件,用法与上述两个基本相同
- 参数描述:
- -c: 压缩数据输出到屏幕,可通过数据流重定向处理
- -d: 解压缩的参数
- -t: 检查压缩文件的一致性,看文件是否有错误
- -l: 列出压缩文件的相关信息
- -k: 保留原始文件而不会删除原始文件
- -#: 压缩等级【1-9】,默认是
6
- 1:最快,压缩比最差
- 9:最慢,压缩比最好
对比一下几个命令的运行时间 time [gzip|bzip2|xz] -c wget-log > log.[gz|bz2|xz]
打包命令
tar
- 描述: 将多个文件或者目录包成一个大文件的命令
- 常用参数的描述
- -c [可搭配-v]建立打包文件
- -t [可搭配-v] 查看内容
- -x [可搭配-v] 解压
- -v 在处理的文件名显示出来
- -z 通过gzip的支持进行压缩/解压缩,最好文件后缀是.tar.gz
- -j 通过bzip2的支持进行压缩/解压缩,最好文件名后缀是.tar.bz2
- -J 通过xz ~~, 文件后缀.tar.xz
- -f 与即刻要处理的文件名放在一起【单独写可能不会忘记】
- -C 在特定目录解压缩
- -p [可搭配-c]保留备份数据的原本属性与权限,常用于备份
- -P 保留绝对路径,即允许备份数据中含有根目录存在
- --exclude=FILE 压缩过程中,不将FILE打包
- 要注意:
-z
,-j
,-J
不能同用!
- 常用打包搭配
- 打包与压缩:
tar [-z|-j|-J] [cv] [-f 待建立的新文件名] filename
- 查看文件名:
tar [-z|-j|-J] [tv] [-f 既有的tar文件名]
- 解压缩:
tar [-z|-j|-J] [xv] [-f 既有的tar文件名] [-C目录]
- 打包与压缩: