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

tar 将多个文件或目录打包成一个单独的归档文件

一、基本概念

  • 核心功能:将多个文件 / 目录合并为一个归档文件(.tar),或从归档文件中提取内容。
  • 压缩结合:通过添加特定选项,可在打包时自动调用压缩工具(如 gzip),生成压缩包(如 .tar.gz)。
  • 常见扩展名:.tar:未压缩的纯归档文件。
    • .tar.gz 或 .tgz:经 gzip 压缩的 tar 包(最常用)。
    • .tar.bz2 或 .tbz2:经 bzip2 压缩的 tar 包。
    • .tar.xz:经 xz 压缩的 tar 包(压缩率更高,速度较慢)。

二、基本语法

        tar [选项] 归档文件名.tar [要打包的文件/目录...] # 打包/压缩

        tar [选项] 归档文件名.tar [目标目录] # 解压/提取

三、常用示例

1. 打包(不压缩,生成 .tar 文件)

        # 将 file1.txt、dir1 目录打包为 archive.tar

   tar -cvf archive.tar file1.txt dir1/
  • -c:创建归档;-v:显示过程;-f:指定文件名(archive.tar)。

2. 打包并压缩(常用格式)

(1)gzip 压缩(.tar.gz 或 .tgz,最常用)

# 打包并以 gzip 压缩(.tar.gz)

tar -zcvf archive.tar.gz file1.txt dir1/

# 简写为 .tgz(效果相同)

tar -zcvf archive.tgz file1.txt dir1/
  • -z:启用 gzip 压缩,压缩率中等,速度较快。

(2)bzip2 压缩(.tar.bz2)

tar -jcvf archive.tar.bz2 file1.txt dir1/
  • j:启用 bzip2 压缩,压缩率略高于 gzip,速度稍慢。

(3)xz 压缩(.tar.xz,高压缩率)

tar -Jcvf archive.tar.xz file1.txt dir1/
  • -J:启用 xz 压缩,压缩率最高,速度最慢(适合大文件归档)。

3. 解压(提取内容)

(1)解压到当前目录

# 解压 .tar 文件tar -xvf archive.tar# 解压 .tar.gz 或 .tgztar -zxvf archive.tar.gz# 或简化(tar 可自动识别压缩格式,部分版本支持):tar -xvf archive.tar.gz# 解压 .tar.bz2tar -jxvf archive.tar.bz2# 或简化:tar -xvf archive.tar.bz2# 解压 .tar.xztar -Jxvf archive.tar.xz# 或简化:tar -xvf archive.tar.xz注意:现代 tar 版本(如 GNU tar 1.23+)支持自动识别压缩格式,解压时可省略 -z/-j/-J,直接用 -xvf。

    (2)解压到指定目录

    使用 -C 选项指定目标目录(目录需提前存在):

    # 将 archive.tar.gz 解压到 /tmp 目录tar -zxvf archive.tar.gz -C /tmp/

    4. 查看归档文件内容(不解压)

    # 查看 .tar 文件内容tar -tvf archive.tar# 查看 .tar.gz 文件内容tar -ztvf archive.tar.gz# 或简化(自动识别格式):tar -tvf archive.tar.gz

    5. 打包时排除指定文件 / 目录

    使用 --exclude 选项:

    # 打包 dir1,但排除 dir1/logs 目录和所有 .tmp 文件tar -zcvf archive.tar.gz dir1/ --exclude "dir1/logs" --exclude "*.tmp"

    6. 向已有 tar 包添加文件(仅支持未压缩的 .tar 文件)

    # 向 archive.tar 中添加 new_file.txttar -rvf archive.tar new_file.txt
    • 注意:压缩格式(.tar.gz 等)不支持添加文件,需解压后重新打包。

    四、注意事项

    1. 选项顺序:-f 必须紧跟文件名,且通常放在选项最后(如 tar -zcvf 文件名 正确,tar -zcfv 文件名 错误)。
    2. 目录打包:打包目录时,目录名后是否带 / 不影响结果(dir1 和 dir1/ 效果相同)。
    3. 权限保留:默认情况下,tar 会保留文件的权限、所有者等信息(解压时需对应权限才能恢复)。
    4. 大文件处理:对于超大文件(如几十 GB),推荐用 xz 压缩(-J)以节省空间,但耗时较长。

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

    相关文章:

  • 2025新版 WSL2 + Docker Desktop 下载安装详细全流程指南 实现容器化管理,让开发效率起飞
  • 【LangChain4j】大模型实战-SpringBoot(阿里云百炼控制台)
  • Spring Security / Authorization Server 核心类中英文对照表
  • SqlHelper自定义的Sql工具类
  • 每周读书与学习->初识JMeter 元件(二)
  • 西门子 S7-200 SMART PLC 实操案例:中断程序的灵活应用定时中断实现模拟量滤波(上)
  • 测试分类(1)
  • 广州创科——湖北房县汪家河水库除险加固信息化工程(续集)
  • QT(5)
  • 仓颉语言宏(Cangjie Macros)全面解析:从基础到实战
  • linux RAID存储技术
  • 【每日一问】交流电和直流电有什么区别?
  • Postman使用指南
  • 软件架构面试题及答案
  • 【STM32】基于串口的bootloader
  • 【STM32】中断
  • how many penguins in ur linux你有几只企鹅呢?
  • windows1122h2怎么升级24h2
  • ansible-playbook的使用
  • Zabbix7 监控USG6300E 并发IPv4会话数
  • Qt中使用多线程的范式
  • c语言10:指针加减指针的那些事儿
  • 数据库成为突破口:勒索软件攻击始于暴露的Oracle服务器
  • PT100铂电阻高精度原理图设计,已量产(温度传感器)
  • 推荐 6 个本周 yyds 的 GitHub 项目。
  • 内存释放机制以及栈和堆(c++)
  • PCL基础:点云体积计算,若需更精确的体积估算,可采用 Alpha Shape 或 Marching Cubes 等方法重建表面后再进行积分计算。
  • OSPF实验-20250922
  • Python控制流概述
  • 【LLM学习】【Ollama】四、MCP