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

linux中tar命令详解

tar 是 Linux 中用于 打包和解包文件 的常用命令。它可以将多个文件或目录打包成一个归档文件(通常称为 tarball),也可以从归档文件中提取文件。以下是 tar 命令的详细用法:

基本语法

tar [选项] [归档文件名] [文件或目录列表]

常用选项

1. 创建归档文件

-c:创建一个新的归档文件。

-f:指定归档文件的名称。

-v:显示操作过程的详细信息(可选)。

-z:使用 gzip 压缩归档文件(.tar.gz)。

-j:使用 bzip2 压缩归档文件(.tar.bz2)。

-J:使用 xz 压缩归档文件(.tar.xz)。

示例
1.打包文件(不压缩):

tar -cvf archive.tar file1 file2 dir1

生成一个名为 archive.tar 的归档文件。

2.打包并使用 gzip 压缩:

tar -czvf archive.tar.gz file1 file2 dir1

生成一个名为 archive.tar.gz 的压缩归档文件。

3.打包并使用 bzip2 压缩:

tar -cjvf archive.tar.bz2 file1 file2 dir1

生成一个名为 archive.tar.bz2 的压缩归档文件。

4.打包并使用 xz 压缩:

tar -cJvf archive.tar.xz file1 file2 dir1

生成一个名为 archive.tar.xz 的压缩归档文件。

2. 提取归档文件

-x:从归档文件中提取文件。

-f:指定要提取的归档文件。

-v:显示操作过程的详细信息(可选)。

-z:解压 gzip 压缩的归档文件(.tar.gz)。

-j:解压 bzip2 压缩的归档文件(.tar.bz2)。

-J:解压 xz 压缩的归档文件(.tar.xz)。

-C:指定提取文件的目标目录。

示例
1.提取 .tar 文件:

tar -xvf archive.tar

2.提取 .tar.gz 文件:

tar -xzvf archive.tar.gz

3.提取 .tar.bz2 文件:

tar -xjvf archive.tar.bz2

4.提取 .tar.xz 文件:

tar -xJvf archive.tar.xz

5.提取到指定目录:

tar -xzvf archive.tar.gz -C /target/directory

3. 查看归档文件内容

-t:列出归档文件中的内容。

示例
查看 .tar 文件内容:

tar -tvf archive.tar

查看 .tar.gz 文件内容:

tar -tzvf archive.tar.gz

4. 追加文件到归档

-r:将文件追加到已存在的归档文件中。

示例

tar -rvf archive.tar newfile

5. 排除文件

--exclude:打包时排除指定的文件或目录。

示例

tar -czvf archive.tar.gz --exclude='dir1/subdir' dir1

6. 保留文件权限

-p:保留文件的原始权限(常用于备份)。

示例

tar -czvpf backup.tar.gz /path/to/backup

7. 分卷压缩

--tape-length 或 -L:将归档文件分割成指定大小的卷。

示例

tar -czvf - dir1 | split -b 100M - archive.tar.gz.

生成 archive.tar.gz.aa、archive.tar.gz.ab 等分卷文件。

常见用法总结


操作                                  命令示例
打包文件                           tar -cvf archive.tar file1 file2
打包并 gzip 压缩               tar -czvf archive.tar.gz file1 file2
打包并 bzip2 压缩              tar -cjvf archive.tar.bz2 file1 file2
打包并 xz 压缩                  tar -cJvf archive.tar.xz file1 file2
提取 .tar 文件                     tar -xvf archive.tar
提取 .tar.gz 文件                tar -xzvf archive.tar.gz
提取 .tar.bz2 文件              tar -xjvf archive.tar.bz2
提取 .tar.xz 文件                tar -xJvf archive.tar.xz
查看归档内容                    tar -tvf archive.tar
追加文件到归档                tar -rvf archive.tar newfile
排除文件                           tar -czvf archive.tar.gz --exclude='dir'
保留文件权限                    tar -czvpf backup.tar.gz /path/to/backup


注意事项


压缩效率:xz 压缩率最高,但速度较慢;gzip 压缩率适中,速度较快;bzip2 介于两者之间。

权限问题:提取文件时,可能需要使用 sudo 来保留文件权限。

分卷压缩:分卷压缩后,解压时需要将所有分卷文件放在同一目录下,然后解压第一个分卷文件即可。


http://www.kler.cn/a/549369.html

相关文章:

  • 002 第一个python程序
  • 如何在 GitHub 上写博客
  • EasyRTC嵌入式WebRTC视频通话SDK支持Web浏览器、Linux、ARM、Android、iOS
  • 如何使用 DeepSeek R1 构建开源 ChatGPT Operator 替代方案
  • wordpress get_footer();与wp_footer();的区别的关系
  • Docker拉不下来镜像问题解决法案
  • 我们来学HTTP/TCP -- 另辟蹊径从响应入手
  • opencascade 获取edge起始点 会出现终点与实际不同的情况
  • LC-随机链表的复制、排序链表、合并K个升序链表、LRU缓存
  • 前端(JS进阶)学习笔记(CLASS 2):构造函数数据常用函数
  • C语言之easyX
  • 基于 Python 和 OpenCV 的酒店客房入侵检测系统设计与实现
  • 本地大模型编程实战(17)RAG(Retrieval Augmented Generation,检索增强生成)(1)
  • 使用maven-archetype制作项目脚手架
  • 栈与队列(C语言版)
  • Macos机器hosts文件便捷修改工具——SwitchHosts
  • C#: String s = new String(“Hello“)无法编译?编程语言字符集有两个?为什么这种变量名“\u0061\u0062”都能编译通过?
  • SpringCould+vue3项目的后台用户管理的CURD【Taurus教育平台】
  • 【Elasticsearch入门到落地】8、RestClient操作索引库-基础介绍及导入demo
  • 基于STM32的智能路灯节能控制系统