Linux---tar解压/压缩

Linux中的tar命令是文件管理中最重要的命令之一。它是Tape Archive的缩写,用于创建和解压缩归档文件。存档文件是一种压缩文件,其中包含一个或多个捆绑在一起的文件,以便更易于访问存储和可移植性。

tar只负责打包,打包是指将一大堆文件或目录捆绑成一个文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件,需要用到zip、
gzip、bzip2、xz等。

常用选项

  • -c :创建打包文件,会递归目录中的每个文件,如果想改变此行为,可以指定 --no-recursion

  • -x :提取打包文件

  • -f :指定打包后的文件名

  • -v :在打包时打印详细debug信息

  • -t :列出在打包文件中的所有文件

  • -u :打包文件并添加到存在的打包文件中

  • -r :更新打包文件中的文件或目录

  • -z :打包文件时使用 gzip 进行压缩

  • -j :打包文件时使用 bzip2 进行压缩

  • -J :打包文件时使用 xz 进行压缩

  • W :验证打包文件是否被损坏

  • -A :追加打包文件到另一个打包文件

  • -d :比较打包文件与源文件,如果没有提供源文件参数,则默认使用当前目录

  • --delete :删除打包文件中的成员

  • --wildcards :搜索打包文件中的文件,通过通配符来匹配

  • -?, --help :打印帮助信息

  • --usage :打印可用的选项

  • --version :打印版本信息

命令示例

  • 只打包不压缩

tar -cvf abc.tar abc

  • 创建一个打包并压缩的文件

tar -czvf abc.tar.gz a.txt b.txt c.txt

解释:c:打包、z:使用gzip压缩、v:打印debug信息、f:指定打包的文件名

  • 把文件夹进行打包并压缩

tar -czvf dir.tar.gz dir

  • 列出压缩文件的内容

tar -tf abc.tar.gz

  • 提取打包的文件

tar -xvf abc.tar

  • 提取打包的文件到指定的目录

tar -xvf abc.tar -C /tmp/files

  • 提取打包文件中指定的文件

tar -xvf abc.tar file1.txt file2.txt

  • 添加/追加文件到打包文件

tar -rvf abc.tar file3.txt

  • 删除打包文件中指定的成员文件

tar --delete -f abc.tar file3.txt

  • 指定 gzip 算法进行压缩

tar -zcvf abc.tar.gz abc

  • 解压缩 gzip 算法的压缩包

tar -zxvf abc.tar.gz

  • 指定 bzip2 算法进行压缩

tar -jcvf abc.tar.bz2 abc

  • 解压缩 bzip2 算法的压缩包

tar -jxvf abc.tar.bz2

  • 指定 xz 算法进行压缩

tar -Jcvf abc.tar.xz abc

  • 解压缩 xz 算法的压缩包

tar -Jxvf abc.tar.xz

  • 通过通配符提取匹配到的文件

tar -xvf abc.tar --wildcards '*.txt'

  • 验证压缩包是否完整或被损坏

tar -W abc.tar

  • 创建压缩包时,指定排除的文件

tar -zcvf abc.tar.gz abc --exclude='file1.txt'

  • 创建压缩包,指定排除的目录

tar -zcvf abc.tar.gz abc --exclude='/etc/*'

  • 通过 grep 查找压缩包中匹配的文件

tar -tf abc.tar.gz | grep file1.txt

  • 通过wildcards查找压缩包中的多个文件

tar -tf abc.tar.gz --wildcards '*.png'

  • 合并打包文件

tar -Af abc.tar def.tar

  • 比较打包文件和源文件

tar -df abc.tar abc

  • 提取文件并保留源文件权限

tar xf abc.tar.gz --preserve-permissions

  • 提取文件并把标准输出写入到外部程序

tar xf abc.tar --to-command='mkdir $TAR_FILENAME'

提取abc.tar,--to-command内部通过通道把标准输出传给指定的命令

此处mkdir会创建名字为abc的文件夹,文件夹里面有提取的每个文件。

  • 检查打包或压缩包文件的大小

tar -czvf abc.tar.gz | wc -c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值