Linux tar 命令 将归档内指定文件解压到指定目录

article/2025/9/30 0:07:47

首先介绍一下 tar 命令:

用途:打包文件(制作归档文件)、释放归档文件

格式:

       tar  [选项]...  归档文件名  源文件或目录

       tar  [选项]...   归档文件名  [-C  目标目录]

 

常用命令选项:

  -c 

创建 .tar 格式的包文件
  -x解开 .tar 格式的包文件
  -v输出详细信息
  -f  表示使用归档文件
  -t列表查看包内的文件
  -p保持源文件的原来属性
  -P保持源文件的绝对路径
  -C建包或解包时进入指定的目录
  -z调用gzip程序进行压缩或解压
  -j调用bzip2程序进行压缩或解压
  -J调用XZ程序进行压缩或解压
  -A将归档文件追加到另一个归档文件中

 

现在根据一个练习题来讲一下tar命令和选项的具体应用:

第一步:

[root@dbserver02 ~]# tar cf /tmp/sxkj.tar -C /etc group passwd shadow

第二步:

[root@dbserver02 ~]# tar -tvf /tmp/sxkj.tar
-rw-r--r-- root/root       707 2018-11-23 21:30 group
-rw-r--r-- root/root      1524 2018-11-23 21:41 passwd
---------- root/root      1125 2018-11-23 21:45 shadow

第三步:

[root@dbserver02 ~]# tar rf /tmp/sxkj.tar .bashrc

然后可以查看sxkj.tar里面的内容:

[root@dbserver02 ~]# tar -tvf /tmp/sxkj.tar
-rw-r--r-- root/root       707 2018-11-23 21:30 group
-rw-r--r-- root/root      1524 2018-11-23 21:41 passwd
---------- root/root      1125 2018-11-23 21:45 shadow
-rw-r--r-- root/root       176 2004-09-23 11:59 .bashrc

第四步:

已经知道sxkj.tar包里有四个文件,现在要求把其中的指定的一个文件解压到指定的 /tmp 目录;这是难点所在,代码如下:

[root@dbserver02 ~]# tar xvf /tmp/sxkj.tar -C /home group
group

注意:此处把包里的group文件放到了全部命令的最后。

第五步:

[root@dbserver02 ~]# tar cjvf /tmp/home.tar.bz2 /home
tar: Removing leading `/' from member names
/home/
/home/group

这里要求把路径中的 “ / ” 删除,因为在解压缩的过程中一定要注意绝对路径相对路径问题,推荐使用相对路径。如果使用了绝对路径,系统会自动修改成相对路径。

第六步:

[root@dbserver02 ~]# tar xjvf /tmp/home.tar.bz2 -C /tmp
home/
home/group
[root@dbserver02 ~]# ls /tmp
home  home.tar.bz2  sxkj.tar

可以看到目录/tmp下已经有了home目录。

 

熟练掌握这个练习就应该可以掌握tar命令了。

 

 


http://chatgpt.dhexx.cn/article/MrKn4Q4j.shtml

相关文章

20191004在LINUX下如何将tar压缩文件解压到指定的目录下

百度搜索:tar 解压缩到指定目录 https://zhidao.baidu.com/question/9844116.html 在LINUX下如何将tar压缩文件解压到指定的目录下 各位,请教一下在LINUX下如何将tar压缩文件解压到指定的目录下,直接用tar xvf 解压出来的是放在当前目录的&am…

关于linux打包以及解压到指定目录的简单操作demo

1.打包到指定目录 命令:tar zcvf /root/test99/a.tar.gz a.txt 1.1打包到当前目录 命令:tar -zcvf a.tar.gz a.txt 2.解压到指定目录 命令: tar -zxvf a.tar.gz -C /root/test99 2.2解压到当前目录 命令:tar -zxvf a.tar.gz 打zip包: 方法如下&#xf…

linux tar解压文件至指定目录,不包含原目录

1、tar解压文件至指定目录,不包含原目录 要解压的压缩包原目录结构如下 通过 --strip-components 1 参数 解压到指定目录或当前目录(不含打包前原目录) tar zxf log.tar.gz --strip-components 1 -C /opt/new_test注: --strip-co…

Linux拓展之产生随机数

在 Linux 中可以通过内置变量 RANDOM 来产生随机数,该变量会产生一个 [0, 32767] 范围内的随机整数。如下: echo $RANDOM如果要产生 [0-10] 之内的随机整数:echo $(( $RANDOM % 10 )) 如果要产生 [1-10] 之内的随机整数:echo $((…

Linux生成随机数

生成随机数的方法有7种 1.通过时间获取随机数 1)date %s (随机生成10位数字) 用于获得时间戳。 如果用它做随机数,相同一秒的数据是一样的。在做循环处理,多线程里面基本不能满足要求了。 2)date…

Linux时间子系统之定时事件层(Clock Events)

几乎所有的计算机系统中都会存在一个所谓的定时设备,经过设置后,在某个固定的时间或某个相对的时间间隔后,达到触发条件,发送中断给处理器。 系统中的每一种实际的定时事件设备都由一个叫做clock_event_device的结构体变量表示&a…

Linux随机数发生器

Linux随机数发生器 日期:2017-11-29 01:42:10 星期三 Linux随机数发生器 一、源代码的基本情况 Linux内核版本涉及文件功能概述 二、外部访问接口 内核层输出接口用户层输出接口环境噪音输入接口 三、核心源码分析 随机数发生器理论熵池结构熵的加入随机数的生成启动…

linux内核随机数函数测试

OS版本&#xff1a;openEuler 22.03 LTS 架构&#xff1a;x86_64 描述&#xff1a;调用内核随机数生成函数&#xff0c;并打印。 // random_num_test.c#include <linux/kernel.h> #include <linux/module.h> #include <linux/random.h>static int __init …

【Linux】随机数的生成

生成随机数目录 生成随机数&#xff1a;默认为(0-32767)生成指定区间随机数&#xff1a;随机生成1-50之间的数随机生成时间戳秒和纳秒加密运算生成一个随机字符指定10个在使用md5sum校验/dev/random是什么&#xff1f; 生成随机的UUID加密算法相关文章 生成随机数&#xff1a;默…

zkw线段树(详解)

定义 我们已经了解了线段树的许多操作与结构 但是有一些缺点: 1.它是递归操作的 所以空间可能会很大 2.叶子节点深度都不同 这样操作会很麻烦 3.代码量太大... 所以现在可以引进zkw线段树 和普通的线段树相比,zkw线段树主要有这样几个不同点: 1.所有的叶子结点都在…

数据结构-线段树

如上图&#xff1a; 线段树是一颗满二叉树&#xff0c;叶子节点如果没有值&#xff0c;用null表示。 非空叶子节点就是基础数据&#xff0c;树中每个父亲节点代表左右孩子的结果集&#xff08;比如求合&#xff0c;最大值&#xff0c;最小值等&#xff0c;自己定义算法&#x…

线段树模板

线段树是我接触到的第一个高级数据结构&#xff0c;也是我接触过的模板最长的一种代码&#xff0c;但他的实用性真的很强&#xff0c;绝大部分的区间问题都可以用线段树解决点&#xff0c;所以今天我打算简单介绍一下我对线段树的理解 先放一张百度来的线段树图片&#xff1a;…

C++ 线段树

目录&#xff1a; 线段树基本常识 线段树的的存储 线段树的基本操作 1. 建树 2. 单点查询 3. 单点修改 4. 区间查询 5. 区间修改 例题推荐&#xff1a; 线段树 1 线段树 2 线段树基本常识 线段树是一种二叉搜索树&#xff08;即每个节点最多有两颗子树&#xff09;&…

线段树(java)

线段树描述&#xff1a; 线段树是一种二叉搜索树&#xff0c;与区间树相似&#xff0c;它将一个区间划分成一些单元区间&#xff0c;每个单元区间对应线段树中的一个叶结点。 使用线段树可以快速的查找某一个节点在若干条线段中出现的次数&#xff0c;时间复杂度为O(logN)。而未…

什么是线段树

线段树的概念 线段树是一种二叉搜索树&#xff0c;与区间树相似&#xff0c;它将一个区间划分成一些单元区间&#xff0c;每个单元区间对应线段树中的一个叶结点。 对于线段树中的每一个非叶子节点[a,b]&#xff0c;它的左儿子表示的区间为[a,(ab)/2]&#xff0c;右儿…

李超线段树

什么是李超线段树 先以一个问题引入&#xff1a; 在平面上有两种操作&#xff08;强制在线&#xff09;&#xff1a; 插入一条表达式为 L : y k*xb 的直线&#xff0c;给出 k ,b 。 给出 t&#xff0c;求当前所有直线中与直线 x t 交点的纵坐标最大是多少 直线取 max 应该是…

线段树详解 (原理,实现与应用)

线段树详解 By 岩之痕 目录&#xff1a; 一&#xff1a;综述 二&#xff1a;原理 三&#xff1a;递归实现 四&#xff1a;非递归原理 五&#xff1a;非递归实现 六&#xff1a;线段树解题模型 七&#xff1a;扫描线 八&#xff1a;可持久化 (主席树) 九&#xff1a;练习题 一&a…

线段树详解(附图解,模板及经典例题分析)

1.基本概念 ​ 线段树是一种常用来维护 区间信息 \color{Maroon}区间信息 区间信息 的数据结构 ​ 可以在 O(logn) 的时间复杂度内实现单点修改、区间修改、区间查询&#xff08;区间求和&#xff0c;求区间的最大值&#xff0c;求区间的最小值&#xff09;等操作 ​ 如下图…

线段树详解

文章目录 1. 什么是线段树2. 线段树的用处3. 线段树的模板题4. 动态开点线段树5. 权值线段树5. 可持久化线段树 1. 什么是线段树 顾名思义 &#xff0c; 线段树是一棵二叉树 &#xff0c; 但不同的是这棵树的结点储存的值是一个数列中 [ l , r ] [l,r] [l,r] 的某个需要的值 …

超详解线段树(浅显易懂,几乎涵盖所有线段树类型讲解,匠心之作,图文并茂)

一&#xff0c;什么是线段树&#xff1f; 线段树是怎样的树形结构? 线段树是一种二叉搜索树&#xff0c;而二叉搜索树&#xff0c;首先满足二叉树&#xff0c;即每个结点最多有两颗子树&#xff0c;并且是一颗搜索树&#xff0c;我们要知道&#xff0c;线段树的每个结点都存储…