tar 和 zip 打包压缩命令

本文详细介绍了Linux中tar文件归档与不同压缩方式(tar,gzip,bzip2,xz)的用法,以及zip管理压缩文件的方法,包括参数解释、示例和它们之间的区别。
摘要由CSDN通过智能技术生成

目录

1. tar 文件的归档

2. tar 归档+压缩

3. zip 管理压缩文件

4. unzip解压

5. 多种压缩方式的区别:


1. tar 文件的归档

tar [选项]  归档压缩后生成的文件   打包文件

常用参数:
	-c	# 创建文件
	-x  # 提取解压还原文件
	-v  # 显示详细执行过程
	-f  # 指定备份文件
	-t  # 列出压缩包中包括哪些文件,不解包,查看包中的内容
	-C  # 指定解压位置
#对/opt/grub/目录进行打包
tar -cvf /root/grnb.tar /opt/grub/

#将grnb1.tar解压到当前目录
tar xvf /root/grnb1.tar

#对/root/grnb1.tar进行解压缩(指定解压目录到/tmp)
tar -xvf /root/grnb1.tar -C /tmp

#在打包过程中跳过md5sum目录中sre.tar.gz的文件
tar -cvf md5sum.tar md5sum/ --exclude sre.tar.gz

#不解包查看tar中的内容
tar -tvf /opt/usb.tar 

2. tar 归档+压缩

tar [选项]  归档压缩后生成的文件   打包文件

常用参数:
	-z	# 以gzip方式压缩    扩展名 .tar.gz(.tgz)
	-j  # 以bz2方式压缩     扩展名 .tar.bz2
	-J  # 以xz方式压缩      扩展名 .tar.xz

后缀名:Linux系统中不以后缀名区分文件,后缀名为了方便管理员识别文件类型
#压缩 .tar.gz 格式
tar -zcvf /root/grnb.tar /opt/grub/
#解压 .tar.gz 格式
tar -zxvf /root/grnb.tar /opt/grub/

#压缩 .tar.bz2 格式
tar -jcvf /root/grnb.tar /opt/grub/
#解压 .tar.bz2 格式
tar -jxvf /root/grnb.tar /opt/grub/

#压缩 .tar.xz 格式
tar -Jcvf /root/grnb.tar /opt/grub/
#解压 .tar.xz 格式
tar -jxvf /root/grnb.tar /opt/grub/

3. zip 管理压缩文件

zip [选项] [压缩文件名.zip] [要压缩的文件或目录]

常用参数:
	-r	# 递归压缩,包括子目录及其内容。
	-q	# 安静模式,不在终端上显示任何信息。
	-e	# 加密压缩文件,在创建压缩文件时会提示输入密码。
	-o	# 使用原始文件的修改时间来设置压缩文件的修改时间。
	-f	# 刷新,只更新已改变的文件或者加入已改变或新增的文件。
	-u	# 更新,更改归档文件内的文件或者将新增的文件添加到归档。
	-d	# 删除,从压缩文件中删除指定的文件。
	-l	# 列表,显示压缩文件的内容而不解压。
	-x	# 排除,压缩时排除某个文件或目录
#压缩当前目录下的所有文件和文件夹到名为 archive.zip 的压缩文件中
zip -r archive.zip *

#压缩 documents 目录,并使用加密
#将提示输入一个密码,该密码将用于加密压缩文件
zip -re archive.zip documents/

#只更新或添加 newfile.txt 到已有的 archive.zip 文件
zip -u archive.zip newfile.txt

#查看 archive.zip 压缩文件内的内容
unzip -l archive.zip

#从 archive.zip 中删除一个叫做 oldfile.txt 的文件
zip -d archive.zip oldfile.txt

#压缩 images 目录,并使用最大压缩级别(使用 -9 选项)
zip -r -9 archive.zip images/

#压缩一个文件夹,同时排除某个子文件夹或文件(比如排除 cache 文件夹)
zip -r archive.zip folder/ -x folder/cache/*

4. unzip解压

unzip

常用参数:
	-l: 列出归档文件内容的列表,而不实际提取文件。
    -v: 在 -l 参数的基础上输出更详细的信息。
    -n: 解压文件时跳过解压那些已经存在的文件,不会覆盖已有的文件。
    -o: 在解压文件时自动覆盖已存在的文件,而不提示用户确认。
    -d: 指定解压文件的目标目录。
    -x: 排除那些特定的文件,不解压这些文件。
    -p: 将文件内容打印到标准输出(stdout),不解压到磁盘上。
    -t: 测试压缩文件的完整性,检查是否有损坏。
    -u: 仅当压缩文档中的文件比磁盘上的文件更新时才提取该文件。
示例:
# 列出 archive.zip 中的文件,不解压
unzip -l archive.zip

#解压 archive.zip 中的所有文件到当前目录,自动覆盖任何已存在的文件
unzip -o archive.zip

#解压 archive.zip 到指定目录 /path/to/destination,不覆盖已有的文件
unzip -n archive.zip -d /path/to/destination

#解压 archive.zip 中所有文件,除了 file-to-exclude.txt
unzip archive.zip -x file-to-exclude.txt

#将 archive.zip 中名为 file-to-print.txt 的文件内容发送到标准输出
unzip -p archive.zip file-to-print.txt

#测试 archive.zip 是否有任何文件损坏
unzip -t archive.zip

#仅当 archive.zip 中的文件比目标位置的文件更新时,才解压到当前目录:
unzip -u archive.zip

5. 多种压缩方式的区别:

  • zip的压缩包要比gz、bz xz压缩包大很多
  • 在遇到软连接时,gz、bz xz直接对软链接路径进行压缩打包,而zip会将软链接路径的源文件进行复制压缩
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值