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

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.lryc.cn/news/2378249.html

相关文章:

  • 网络协议分析 实验七 FTP、HTTP、DHCP
  • HTML 表格与div深度解析区别及常见误区
  • Linux 系统中设置开机启动脚本
  • linux-进程信号的产生
  • 内容中台重构企业知识管理路径
  • ubuntu22.04卸载vscode
  • AGI大模型(19):下载模型到本地之ModelScope(魔搭社区)
  • 基于Spring Boot+Layui构建企业级电子招投标系统实战指南
  • Kali安装详细图文安装教程(文章内附有镜像文件连接提供下载)
  • 2.4GHz无线芯片核心技术解析与典型应用
  • ai agent(智能体)开发 python高级应用4:什么是代理,如何设置squid代理服务器,让crawl4ai 0.6.3 用上代理,获取到数据平权
  • 技术融资:概念与形式、步骤与案例、挑战与应对、发展趋势
  • Chrome代理IP配置教程常见方式附问题解答
  • 微信小程序 密码框改为text后不可见,需要点击一下
  • LLM笔记(六)线性代数
  • Linux——UDP/TCP协议理论
  • Go语言爬虫系列教程(一) 爬虫基础入门
  • PromptIDE提示词开发工具支持定向优化啦
  • 多返回值(Multiple Return Values)- 《Go语言实战指南》
  • 致远OA人事标准模块功能简介【附应用包百度网盘下载地址,官方售价4W】
  • Python-简单网络编程 I
  • 鸿蒙北向应用开发: deveco5.0 创建开源鸿蒙项目
  • 数据库故障排查指南:从入门到精通
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice自定义Word模版中的数据区域
  • 基于基金净值百分位的交易策略
  • 2025蓝桥杯JAVA编程题练习Day8
  • 通信安全堡垒:profinet转ethernet ip主网关提升冶炼安全与连接
  • DL00219-基于深度学习的水稻病害检测系统含源码
  • 在24GB显存大小的GPU上运行27GB的Pytorch模型
  • 【数据机构】2. 线性表之“链表”