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

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

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

相关文章:

  • Python 之类型注解
  • Java项目使用Tomcat启动后JS文件中的中文乱码问题
  • 彻底删除Docker容器中的环境变量
  • 【Win32 API】 lstrcmpA()
  • 第J1周:ResNet-50算法实战与解析
  • entity线段材质设置
  • let、var、const的区别
  • 基于javaweb的SSM驾校管理系统设计与实现(源码+文档+部署讲解)
  • 软考第六章知识点总结
  • 如何安装cuda版本的pytorch
  • PTN中的L2VPN与L3VPN技术详解
  • 时频分析的应用—外部信号的显影和定点清除
  • LLM笔记(七)注意力机制
  • WL-G4048 Multi-Port PCIe 4.0 Switch
  • 学习状态不佳时的有效利用策略
  • 团队模式总结
  • 【信息系统项目管理师】第6章:项目管理概论 - 31个经典题目及详解
  • 前端开发笔记与实践
  • 小黑独自享受思考心流:80. 删除有序数组中的重复项 II
  • 项目管理进阶:全文解读企业IT系统全生命周期管理与运营平台建设方案【附全文阅读】
  • 广州附医华南医院MDT团队新技术赋能「睡眠障碍治疗」:告别单一、反复、不对症,实现精准快速起效!
  • [原创](计算机数学)(The Probability Lifesaver)(P10): 生日概率问题.
  • 力扣-78.子集
  • [CSS3]属性增强1
  • STM32CubeMX使用SG90舵机角度0-180°
  • TIP-2021《SRGAT: Single Image Super-Resolution With Graph Attention Network》
  • 逻辑复制环境删除订阅报错 replication slot does not exist
  • 记录一次vue项目页面内嵌iframe页面实现跨域上传和下载附件的功能
  • 如何为直播平台集成美颜SDK?美颜与美型功能的开发指南
  • 二叉树子树判断:从递归到迭代的全方位解析