首页 > 其他分享 >8、文件打包和压缩命令

8、文件打包和压缩命令

时间:2024-09-13 12:24:16浏览次数:10  
标签:文件 tar zip 压缩 解压缩 test 打包

打包和压缩的区别

打包

  • 定义: 将多个文件合并成一个文件,以减少文件个数。
  • 作用: 减少传输次数,也可以称为归档。
  • 术语: 打包 (pack)、解包 (unpack)。

压缩

  • 定义: 缩小一个文件的体积,以减少占用空间。
  • 作用: 减少文件体积。
  • 术语: 压缩 (compress)、解压缩 (decompress)。
  • 压缩率: 压缩后体积/压缩前体积。
  • 其他作用: 可以添加密码保护。

注意: 打包、解包、压缩、解压缩都需要消耗时间。

常见压缩格式

  • HTTP: gzip
    • gzip、deflate (zlib格式)、br (Brotli)、identity (不压缩)
  • Windows: zip、rar、7z
    • 常用工具: WinRAR, 360压缩, Bandizip, 7-Zip
  • Linux: gzip (tar.gz=.tgz)、bzip2 (.bz2)、zip

tar命令

常用选项

选项 作用 说明
-c 创建打包文件 create
-v 显示打包或解包的详细信息 verbose
-f 指定文件名称,必须放到所有选项后面 file
-z 压缩或解压缩 (.gz)
-j 压缩或解压缩 (.bz2)
-x 解包
-C 解压缩到指定目录

注意:

  • - 代表详细信息的显示,与其他选项组合使用。
  • -z-j 分别对应 gzip 和 bzip2 进行压缩/解压缩。
  • x 代表解包,与创建打包 (c) 相反。

用法示例

操作 命令
打包(不压缩) tar -cvf test.tar test/
解包 tar -xvf test.tar
打包并gz压缩 tar -zcvf test.tar.gz test/
解压(gz) tar -zxvf test.tar.gz
解压到指定目录(gz) tar -zxvf test.tar.gz -C aaa
打包并bz2压缩 tar -jcvf test.tar.bz2 test/
解压(bz2) tar -jxvf test.tar.bz2
解压到指定目录(bz2) tar -jxvf test.tar.bz2 -C aaa

请注意:

  • -C 选项用于指定解压缩的目标目录。
  • -z-j 分别用于指定使用 gzip 和 bzip2 进行压缩/解压缩。

其他操作

操作类型 命令 说明
仅查看不解压 tar -tf test.tar 列出压缩包内的所有文件名,而不解压缩包。
追加文件 tar -rf test.tar *.gif 向已存在的压缩包中追加所有 .gif 文件。
替换文件 tar -uf test.tar huaji.gif 更新压缩包中的 huaji.gif 文件,如果该文件不存在则添加。
加密 tar -zcf - *.txt | openssl des3 -salt -k 123456 | dd of=test.des3 将文件压缩并加密。
解密 dd if=test.des3 | openssl des3 -d -k 123456 | tar zxf - 解密并解压文件。

上述命令操作的详细说明:

  • 1、仅查看不解压:
    • tar -tf test.tar:列出压缩包 test.tar 内的所有文件名,而不解压缩包。
  • 2、追加文件:
    • tar -rf test.tar *.gif:向已存在的压缩包 test.tar 中追加所有 .gif 文件。
  • 3、替换文件:
    • tar -uf test.tar huaji.gif:更新压缩包 test.tar 中的 huaji.gif 文件,如果该文件不存在则添加。
  • 4、加密:
    • tar -zcf - *.txt | openssl des3 -salt -k 123456 | dd of=test.des3:首先将所有 .txt 文件压缩并通过 tar 打包,随后使用 openssl 进行 des3 加密,最后使用 dd 命令将加密内容输出到 test.des3 文件中。
  • 5、解密:
    • dd if=test.des3 | openssl des3 -d -k 123456 | tar zxf -:首先使用 dd 读取加密文件 test.des3,然后通过 openssl 解密,最后使用 tar 解压缩。

zip命令

用法示例

操作类型 命令 说明
压缩 zip test.zip *.txt 将所有 .txt 文件压缩成 test.zip。
解压缩 unzip test.zip 解压缩 test.zip 文件到当前目录。
解压缩到指定目录 unzip test.zip -d bbb 解压缩 test.zip 文件到指定目录 bbb,若目录不存在则创建。
添加密码 zip -rP 123456 test.zip *.txt 将所有 .txt 文件压缩成 test.zip 并添加密码 123456。
使用密码解压 unzip -P 123456 test.zip 使用密码 123456 解压缩 test.zip 文件。

上述命令操作的详细说明:

  • 1、压缩:
    • zip test.zip *.txt:将当前目录下所有 .txt 文件压缩成一个名为 test.zip 的压缩包。
  • 2、解压缩:
    • unzip test.zip:解压缩 test.zip 文件到当前目录。
  • 3、解压缩到指定目录:
    • unzip test.zip -d bbb:解压缩 test.zip 文件到指定的目录 bbb。如果目录 bbb 不存在,将会创建该目录。
  • 4、添加密码:
    • zip -rP 123456 test.zip *.txt:将所有 .txt 文件压缩成 test.zip,并设置密码为 123456。
  • 5、使用密码解压:
    • unzip -P 123456 test.zip:使用密码 123456 解压缩 test.zip 文件。

标签:文件,tar,zip,压缩,解压缩,test,打包
From: https://www.cnblogs.com/lmydytd/p/18411991

相关文章

  • Linux文件和目录管理
    常规命令的格式注意:调侃删库操作,请勿执行!命令规范命令:使用正确的命令名称。空格:命令与选项、参数之间需要空格分隔。大小写:大部分命令对大小写不敏感,但部分命令和参数敏感,需要注意。顺序:大部分情况下顺序无影响,但少数命令有顺序要求。详细命令选项参考资料:LinuxComma......
  • 深入理解日志轮转:管理日志文件的最佳实践
    日志轮转(LogRotation)是管理日志文件的一种技术。它的主要目的是防止日志文件占用过多磁盘空间,同时保持系统的稳定性和日志的可用性。工作原理日志文件生成:系统或应用程序会生成日志文件,这些文件记录系统运行或应用程序操作的信息。触发条件:日志文件的大小或时间间隔达到预设的......
  • HDFS批量清理过期文件
    #!/bin/bashsource~/.bashrc#HADOOP所在的bin目录HADOOP_BIN_PATH=/opt/cloudera/parcels/CDH/bin#待检测的HDFS目录d1=/tmp1d2=/tmp/sac-sac1d3=/tmp/cep-bu4d4=/tmp/test_data_standardd5=/tmp/test_data_standard_sac#将待检测的目录(可以为多个)加载至数组中......
  • [C语言] 14--编译器、宏定义和头文件
    1.编译器概念:编译器是一个用来帮助我们把原码.c翻译成计算机能够直接识别的二进制编码。使用不同的编译器可以翻译出来不同机器的二进制编码。gcc编译器:gcchello.c-ohellogcc-->C语言编译器hello.c-->需要编译的原码-o-->指定输出文件名hello-->可执行文件的......
  • 10 Windows批处理之调用例程和bat文件
    在前文中,我介绍了标签和非顺序执行,这两者在本文中也起着重要作用。我将很快介绍一个已经讨论过的命令的新变化,允许您创建和调用由标签定义的例程。不是简单地在标签之后将控制权交给代码,而是在例程执行后将控制权返回到调用它的位置。在编写更复杂、更有趣的bat文件时,您需要完全理......
  • 运行ts文件踩坑
    1.nodetest.ts是不可以运行ts文件的,建议全局安装ts-node,只在项目的终端内安装的话是无效不能使用ts-node的2."ts-node ./src/utils/moduleTest/modulec.ts"出错:ERR_UNKNOWN_FILE_EXTENSION这时候需要改为:ts-node--esm./src/utils/moduleTest/modulec.ts具体原因:当模......
  • 10 Windows批处理之调用例程和bat文件
    在前文中,我介绍了标签和非顺序执行,这两者在本文中也起着重要作用。我将很快介绍一个已经讨论过的命令的新变化,允许您创建和调用由标签定义的例程。不是简单地在标签之后将控制权交给代码,而是在例程执行后将控制权返回到调用它的位置。在编写更复杂、更有趣的bat文件时,您需要完全理......
  • 《斩妖行》无法启动:sdl3.dll文件缺失的详细排查与解决方案
    《斩妖行》无法启动?针对您在启动《斩妖行》游戏时遇到的sdl3.dll文件缺失问题,这里有一套循序渐进的解决策略。感兴趣的可以来看看。1.验证游戏完整性:•首先,通过游戏平台(如Steam)验证游戏文件的完整性,确保sdl3.dll没有被意外删除或损坏。2.重新安装SDL库:•SDL库是许多游戏运......
  • 电脑新建文件夹之后不显示,必须刷新后才出现问题
    电脑新建文件夹必须刷新后才出现的原因‌‌资源管理器缓存问题‌:‌Win10资源管理器有时会缓存文件列表,导致新建文件夹未能及时显示。‌1‌‌系统设置问题‌:系统的一些设置可能导致资源管理器不实时更新文件列表。‌‌第三方软件干扰‌:某些第三方软件可能会影响资源管理器的正......
  • 59.C文件操作题目整理
    fseek()函数一般用于二进制文件也可用于文本文件EOF只可用于文本文件用来作为文件结束的标志函数feof()用来判断文件的当前状态是否处于结束是返回值为非0否则返回值0fgets函数最多从文件中读入n-1个字符fread(buffer,....)buffer代表一个指针,指向要读入数据的存放地址#inc......