当前位置: 首页 > news >正文

Linux 打包及压缩基础知识总结

一、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程序处理

http://www.dtcms.com/a/354213.html

相关文章:

  • 车间生产管理遇到的问题及改善方案有哪些?
  • 在 Windows 上部署 Go 语言开发环境
  • Go语言与Docker 开发的核心应用领域
  • 源码分析unexpected EOF on client connection with an open transaction
  • 分治法——二分答案
  • 深入探索Vue:前端开发的强大框架
  • Android10 音频系统之AudioPlaybackConfiguration
  • JVM之CMS、G1|ZGC详解以及选型对比
  • SynClub-百度在海外推出的AI社交产品
  • A-Level物理课程全解析:知识点、学习计划与培训机构推荐
  • 网络编程-连接、发送、接收数据学习
  • React Hooks 完全指南:从基础到高级的实战技巧
  • C++ 由 std::thread 初始化想到的
  • TencentOS Server 4.4 下创建mysql容器无法正常运行的问题
  • wireshark解析FLV插件分享
  • 嵌入式Linux(Exynos 4412)笔记
  • 3459. 最长 V 形对角线段的长度
  • 设计模式理解
  • Nishang PowerShell工具:原理详解+使用方法+渗透实战
  • Go+Gdal 完成高性能GIS数据空间分析
  • 深度学习:常用的损失函数的使用
  • “java简单吗?”Java的“简单”与PHP的挑战:编程语言哲学-优雅草卓伊凡
  • 白话FNN、RNN、Attention和self-attention等
  • 《从有限元到深度学习:我的金属疲劳研究进阶之路》
  • 反内卷加速全产业链价值重塑 通威股份等行业龙头或率先受益
  • 基于 C# OpenCVSharp 的模板匹配检测技术方案
  • 计算机日常答疑,一起寻找问题的最优解
  • select
  • SM4加密算法
  • Karatsuba