欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > Linux常用命令42——tar压缩和解压缩文件

Linux常用命令42——tar压缩和解压缩文件

2025/5/17 21:26:40 来源:https://blog.csdn.net/chenyijun/article/details/109265154  浏览:    关键词:Linux常用命令42——tar压缩和解压缩文件

在使用Linux或macOS日常开发中,熟悉一些基本的命令有助于提高工作效率,tar 是 Linux 和 Unix 系统中用于归档文件和目录的强大命令行工具。tar 名字来自 "tape archive"(磁带归档),最初用于将文件打包到磁带设备中,但现在广泛用于在文件系统中打包和压缩文件。tar 通常用于将多个文件和目录打包成一个归档文件,称为 "tarball"(通常带有 .tar 扩展名)。tar 本身不压缩文件,但可以与压缩工具(如 gzip 或 bzip2)结合使用,创建压缩的归档文件(如 .tar.gz 或 .tar.bz2)。本篇学习记录tarr命令的基本使用。


首先查看帮助文档:

语法格式:tar 参数 压缩包名 文件或目录名 

常用参数:

参数参数解释
-A添加文件到已存在的压缩包
-c创建新的压缩
-C解压缩到指定目录
-d记录文件的差别
-f指定压缩包文件
-j使用bzip2压缩格式
-l设置文件系统边界
-m保护文件不被覆盖
-N只将较新日期的文件保存到压缩包中
--exclude排除指定的文件不压缩
--remove-files操作完成后删除源文件
 -p保留原来的文件权限与属性
 -P使用绝对路径
-t显示压缩包的内容
 -u更新压缩包内的文件
-w  确认压缩包的完整性
-x从压缩包内提取文件
-z使用gzip压缩格式
--help显示帮助信息并退出
--version显示版本信息并退出

例用示例

1.打包一个目录,命名为test.tar,并不压缩。

tar -cf test.tar tardir

2.解压tar包。如果只是使用-cf参数解压,则解压把原来的文件覆盖掉,例如tar -xf test.tar,则解压后会在tardir目录下,如果不想覆盖原有内容,则可以使用-C参数指定解压目录。例如:

tar -C ./test -xf test.tar

3.使用-t参数查看tar的内容

tar -tf test.tar

4.使用-v参数显示执行过程,例如查看tar的内容tar -tvf test.tar

也可以显示打包的过程tar -cvf cptest.tar

5.使用-A参数把文件追加到一个压缩包中。同时也要使用-u更新文件的内容。例如:

tar -Afu test.tar cptest.tar

6.-d记录文件的差别

7.-m     保护文件不被覆盖

8.-w    确认压缩包的完整性

9.-j使用bzip2压缩格式,例如:tar -cjvf cptest.tar.bz2 cptest

解压.tar.bz2文件,并显示执行过程 tar -xvjf cptest.tar.bz2

10.-z使用gzip压缩格式,例如:tar -czvf cptest.tar.gz cptest

解压.tar.gz文件,并显示执行过程 tar -xvzf cptest.tar.gz

11.-p  保留原来的文件权限与属性

12.-P    使用绝对路径

tar -czpvf /home/scott/trunk/command2/test.tar.gz -P /home/scott/trunk/command2/tardir

13.--exclude排除指定的文件不压缩

tar -cvf cptest.tar --exclude='cp_a.txt' ./cptest

排除cp_v.txt cp_a.txt两个文件示例

tar -cvf cptest2.tar --exclude='cp_a.txt' --exclude='cp_v.txt' ./cptest

14.--remove-files操作完成后删除源文件

tar -cvf tardir.tar --remove-files ./tardir/

参考:

https://www.runoob.com/linux/linux-comm-tar.html
https://www.linuxcool.com/tar
https://ipcmen.com/tar
https://man.linuxde.net/tar

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词