一、gz 包
1、常用命令
命令格式:
- 压缩:gzip [option] filename
- 解压:gunzip [option] filename
常用选项:
- -c : 将压缩数据输出到标准输出中,并保留原文件
- -d : 解压缩,相当于gunzip
- -f : 覆盖己存在目标文件
- -k : 保留原文件
- -l : 显示原文件大小,压缩文件大小,压缩比,压缩前文件名
- -q : 安静模式,忽略警告
- -r : 递归压缩目录内所有文件
- -S : 指定压缩文件后缀
- -t : 测试,检测压缩文件是否完整
- -v : 显示过程
- -1 : 最快压缩,压缩比最底,但压缩速度快
- -9 : 最好压缩,压缩比最高,但压缩速度慢
- -N : 指定压缩等级,取值为1-9之间,默认6
2、常用命令示例
#压缩文件
gzip info#压缩文件,保留源文件,并显示压缩过程
gzip -vk info#压缩到指定文件
gzip info -c > info.gz#压缩文件并自定义后缀
gzip -vk info -S .gzz#递归压缩目录
gzip -vkr dir1/#显示压缩文件信息
gzip -l info.gz#基于压缩包文件解压
gunzip info.gz
二、tar 包
可以将目录或多个文件打包成一个文件进行归档,本身不具备压缩功能,但是可以通过调用相关的参数进行压缩。
1、常用命令
命令格式:
tar [option] filename
常见必选项:
- -A : 追加 tar 文件至归档
- -c : 创建一个新归档
- -d : 找出归档和文件系统的差异
- --delete : 从归档(非磁盘)中删除
- -r : 追加文件至归档结尾
- -t : 列出归档内容
- --test-label : 测试归档卷标并退出
- -u : 仅追加比归档中副本更新的文件
- -x : 从归档中解出文件
压缩选项:
- -j : 使用 bzip2 压缩或解压缩,依赖于系统的bzip2软件
- -J : 使用 xz 压缩或解压缩
- -z : 通过 gzip 压缩或解压缩
- -Z : 通过 compress 压缩或解压缩
其他选项:
- --exclude : 排除文件
- -C : 指定目录
- -T : 从文件中读取要处理的文件
- -X : 从文件中读取要排除的文件
2、常用命令示例
#打包目录,默认采用相对路径
tar -cf dir1.tar /dir1#打包目录保留路径
tar -cfP dir2.tar /dir2#多文件打包
tar -cvf test.tar 1.txt 2.txt#查看包内的文件列表
tar -tvf test.tar#只打包目录内的文件,不所括目录本身
tar -C /etc/ -cf etc.tar ./#向包内追加文件
tar -rf test.tar 3.txt 4.txt#从包内删除文件
tar --delete -vf test.tar 3.txt 4.txt#解包
tar xf test.tar#解包到指定目录下
tar xf test.tar -C /tmp/#打包压缩为gz格式
tar -zcf test.tar.gz /etc/#打包压缩为xz格式
tar -Jcf test.tar.xz /etc/#打包压缩为bz2格式
tar -jcf etc.tar.bz2 /etc/#解压tar.gz
tar -zxf test.tar.gz#解压tar.xz
tar -Jxf test.tar.xz#解压tar.bz2
tar -jxf etc.tar.bz2
三、zip 包
zip 可以实现打包目录和多个文件成一个文件并压缩,但可能会丢失文件属性信息,如:所有者和组信息。
1、常用命令
命令格式:
zip [option] zipfile file
unzip [option] zipfile file
zip 常用选项:
- -f : 更换较新的文件到压缩文件内
- -u : 如果压缩包内有,则更新,如果没有,则追加进去
- -d : 从压缩包内删除指定的文件
- -m : 将文件压缩之后,删除原始文件
- -r : 递归压缩目录
- -j : 只保存文件名称及其内容,而不存放任何目录名称
- -l : 压缩文件时,把LF字符置换成LF+CR字符,unzip -l 表示显示压缩文件的内容
- -1 : 最快压缩,数字1
- -9 : 最高压缩比,数字9
- -q : 安静模式
- -v : 显示过程
- -c : 替每个被压缩的文件加上注释
- -z : 给压缩包加注释,unzip -z 查看注释
- -x : 压缩时排除指定文件
- -i : 仅压缩指定文件
- -D : 压缩文件内不建立目录名称
- -T : 测试,检测压缩文件是否完整
- -X : 不保存额外的文件属性
- -y : 直接保存符号连接,而非该链接所指向的文件
- -n : 不压缩以特定字符串结尾的文件
- -P : 加密码
unzip 常用选项:
- -p : 将压缩内容通过管道传送
- -l : 显示压缩文件内所包含的文件
- -t : 测试,检测压缩文件是否完整
- -z : 查看注释
- -v : 列出包内文件信息
- -x : 指定不需要解压缩的文件
- -d : 指定解压后的目标目录
- -n : 解压缩时不要覆盖原有的文件
- -q : 安静模式
- -o : 直接覆盖
- -a : 对文本文件进行必要的字符转换
- -j : 不处理压缩文件中原有的目录路径
- -C : 压缩文件中的文件名称区分大小写
- -L : 将压缩文件中的全部文件名改为小写
- -X : 解压缩时同时回存文件原来的UID/GID
- -V : 保留VMS的文件版本信息
- -K : 解压缩后还原权限
- -M : 将输出结果送到more程序处理