linux中tar命令的用法

article/2025/8/21 9:07:53

linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩。

1.命令格式:

tar[必要参数][选择参数][文件] 

2.命令功能:

用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的 

3.命令参数:

必要参数有如下:

-A 新增压缩文件到已存在的压缩

-B 设置区块大小

-c 建立新的压缩文件

-d 记录文件的差别

-r 添加文件到已经压缩的文件

-u 添加改变了和现有的文件到已经存在的压缩文件

-x 从压缩的文件中提取文件

-t 显示压缩文件的内容

-z 支持gzip解压文件

-j 支持bzip2解压文件

-Z 支持compress解压文件

-v 显示操作过程

-l 文件系统边界设置

-k 保留原有文件不覆盖

-m 保留文件不被覆盖

-W 确认压缩文件的正确性

可选参数如下:

-b 设置区块数目

-C 切换到指定目录

-f 指定压缩文件

--help 显示帮助信息

--version 显示版本信息

4.常见解压/压缩命令

tar 
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName

(注:tar是打包,不是压缩!)

.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName

.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName

.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知

.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
.Z
解压:uncompress FileName.Z
压缩:compress FileName

.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName

.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName 

 

5.使用实例

实例1:将文件全部打包成tar包

命令:


输出:



说明:

tar -cvf log.tar log2012.log    仅打包,不压缩! 

tar -zcvf log.tar.gz log2012.log   打包后,以 gzip 压缩 
tar -zcvf log.tar.bz2 log2012.log  打包后,以 bzip2 压缩 

在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar包; 如果加 j 参数,则以 .tar.bz2 来作为tar包名。


实例2:查阅上述 tar包内有哪些文件

命令:

tar -ztvf log.tar.gz

输出:


说明:

由于我们使用 gzip 压缩的log.tar.gz,所以要查阅log.tar.gz包内的文件时,就得要加上 z 这个参数了。

实例3:将tar 包解压缩

命令:

tar -zxvf /opt/soft/test/log.tar.gz

输出:


说明:

在预设的情况下,我们可以将压缩档在任何地方解开的

实例4:只将 /tar 内的 部分文件解压出来

命令:


输出:


说明:

我可以透过 tar -ztvf 来查阅 tar 包内的文件名称,如果单只要一个文件,就可以透过这个方式来解压部分文件!

实例5:文件备份下来,并且保存其权限

命令:

复制代码
代码如下:

tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log 

输出:

复制代码
代码如下:

[root@localhost test]# ll
总计 0
-rw-r--r-- 1 root root 0 11-13 06:03 log2014.log
-rw-r--r-- 1 root root 0 11-13 06:06 log2015.log
-rw-r--r-- 1 root root 0 11-16 14:41 log2016.log
[root@localhost test]# tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log 
log2014.log
log2015.log
log2016.log
[root@localhost test]# cd test6
[root@localhost test6]# ll
[root@localhost test6]# tar -zxvpf /opt/soft/test/log31.tar.gz 
log2014.log
log2015.log
log2016.log
[root@localhost test6]# ll
总计 0
-rw-r--r-- 1 root root 0 11-13 06:03 log2014.log
-rw-r--r-- 1 root root 0 11-13 06:06 log2015.log
-rw-r--r-- 1 root root 0 11-16 14:41 log2016.log
[root@localhost test6]#

说明:

这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时

实例6:在 文件夹当中,比某个日期新的文件才备份

命令:


复制代码
代码如下:

tar -N "2012/11/13" -zcvf log17.tar.gz test

输出:


复制代码
代码如下:

[root@localhost soft]# tar -N "2012/11/13" -zcvf log17.tar.gz test
tar: Treating date `2012/11/13' as 2012-11-13 00:00:00 + 0 nanoseconds
test/test/log31.tar.gz
test/log2014.log
test/linklog.log
test/log2015.log
test/log2013.log
test/log2012.log
test/log2017.log
test/log2016.log
test/log30.tar.gz
test/log.tar
test/log.tar.bz2
test/log.tar.gz

说明:

实例7:备份文件夹内容是排除部分文件

命令:

复制代码
代码如下:

tar --exclude scf/service -zcvf scf.tar.gz scf/*

输出:

复制代码
代码如下:

[root@localhost test]# tree scf
scf
|-- bin
|-- doc
|-- lib
`-- service
`-- deploy
|-- info
`-- product
7 directories, 0 files
[root@localhost test]# tar --exclude scf/service -zcvf scf.tar.gz scf/* 
scf/bin/
scf/doc/
scf/lib/
[root@localhost test]#</p> <p>


【实例】

1.将文件解压到指定目录下

命令:tar zxvf test.tgz -C 指定目录

如:tar zxvf /usr/local/jdk-8u161-linux-x64.tar.gz -C /usr/local/jdk1.8  

     将压缩文件jdk-8u161-linux-x64.tar.gz解压到/usr/local/jdk1.8目录下







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

相关文章

Linux中tar命令

tar命令是类Linux中比价常用的解压与压缩命令。 可以使用命令 (man tar) 命令来进行查看man的基本命令。下面举例说明一下tar 的基本命令。 #tar -cvf sysconfig.tar /etc/sysconfig 命令解释&#xff1a;将目录/etc/sysconfig/目录下的文件打包成文件sysconfig.tar文…

linux-tar命令

tar命令 1. 压缩格式的介绍2. tar命令格式3. tar命令及选项的使用4. zip和unzip命令及选项的使用5.常见解压/压缩命令巨人肩膀 1. 压缩格式的介绍 Linux默认支持的压缩格式: .gz.bz2.zip 说明: .gz和.bz2的压缩包需要使用tar命令来压缩和解压缩.zip的压缩包需要使用zip命令…

tar命令集合(详解)

tar 命令可以将许多文件一起保存至一个单独的磁带或磁盘归档&#xff0c;并能从归档中单独还原所需文件。 示例 以test文件为例 压缩命令 tar -cvf test.tar test test1解压命令 tar -xvf test.tar主操作模式: -A, --catenate, --concatenate 追加 tar 文件至归档 -c, --…

GBDT原理

梯度提升树的使用 GBDT算法流程 GBDT流程 输入&#xff1a;训练数据集 D { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x N , y N ) } D\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \ldots,\left(x_{N}, y_{N}\right)\right\} D{(x1​,y1​),(x2​,y2​),……

GBDT总结

一&#xff1a;声明 本文基本转自刘建平先生的该篇文章&#xff0c;原文写的很好&#xff0c;读者可以去看看。本文中&#xff0c;作者将根据自己实际项目和所学结合该文章&#xff0c;阐述自己的观点和看法。 二&#xff1a;GBDT概述 GBDT也是集成学习Boosting家族的成员&a…

GBDT模型

GBDT&#xff08;Gradient Boosting Decision Tree&#xff0c;梯度提升树&#xff09;属于一种有监督的集成学习算法&#xff0c;与前面几章介绍的监督算法类似&#xff0c;同样可用于分类问题的识别和预测问题的解决。该集成算法体现了三方面的优势&#xff0c;分别是提升Boo…

GBDT模型详解

GBDT算法 GBDT&#xff08;Gradient Boosting Decision Tree&#xff09;&#xff0c;全名叫梯度提升决策树&#xff0c;是一种迭代的决策树算法&#xff0c;又叫MART&#xff08;Multiple Additive Regression Tree&#xff09;&#xff0c;它通过构造一组弱的学习器&#xf…

机器学习之集成学习:GBDT

目录 一、什么是GBDT 二、GBDT的理解 2.1、GBDT通俗解释 2.2、GBDT详解 三、GBDT的应用 3.1、二分类问题 3.2、多分类问题 3.3、回归问题 四、GBDT如何选择特征 五、GBDT优缺点 一、什么是GBDT GBDT&#xff0c;Gardient Boosting Decision Tree&#xff0c;梯度…

传统机器学习笔记7——GBDT模型详解

目录 前言一.GBDT算法1.1.Boosting1.2.GDBT1.2.1.GBDT与负梯度近似残差1.2.2.GDBT训练过程 二.梯度提升与梯度下降三.GDBT模型优缺点四.GDBT vs 随机森林 前言 上篇博文我们介绍了关于回归树模型的基本知识点&#xff0c;有不懂的小伙伴可以回到前面再看下&#xff0c;传统机器…

机器学习集成学习——GBDT(Gradient Boosting Decision Tree 梯度提升决策树)算法

系列文章目录 机器学习神经网络——Adaboost分离器算法 机器学习之SVM分类器介绍——核函数、SVM分类器的使用 机器学习的一些常见算法介绍【线性回归&#xff0c;岭回归&#xff0c;套索回归&#xff0c;弹性网络】 文章目录 系列文章目录 前言 一、GBDT(Gradient Boos…

移动端UI框架大比拼

1、vonic vonic是一个基于 vue.js 和 ionic 样式的 UI 框架&#xff0c;用于快速构建移动端单页应用 onic 依赖以下几个库&#xff0c;在创建 vonic 项目之前&#xff0c;请确保引入它们。 vue.js vue-router.js axios.js (vue.js 官方推荐的 ajax 方案) 中文文档 在线预览 …

手机/移动端的UI框架-Vant和NutUI

下面推荐2款手机/移动端的UI框架。 其实还有很多的框架&#xff0c;各个大厂都有UI框架。目前&#xff0c;找来找去&#xff0c;只有腾讯的移动端是setup语法写的TDesign&#xff0c;其他大厂&#xff0c;虽然都是VUE3写的&#xff0c;但是都还未改成setup的语法&#xff0c;而…

一:移动端UI框架mint-ui

官网按需引入的.babelrc写法是老的写法,配置的plugins一直报错是因为"component"后面不要[]直接跟{} 一&#xff1a;Mint-UI中按钮组件的使用 简介:Mint UI是基于 Vue.js 的移动端组件库.mint-ui官网链接 1.安装 // 安装 # Vue 1.x npm install mint-ui1 -S # Vue…

vue3使用的移动端UI框架,vue3.0 ui组件库

vue 3.0 项目中 element-ui form 表单元素中 仅 el-button 显示&#xff0c;其他不显示&#xff0c;如何解决&#xff1f; 谷歌人工智能写作项目&#xff1a;小发猫 在页面中引用了laydate插件&#xff0c;在显示的时候&#xff0c;字体图标一直显示不出来 typescript&#x…

值得推荐的Vue 移动端UI框架

1. Vant&#xff08;支持Vue3&#xff09; 是有赞前端团队基于有赞统一的规范实现的 Vue 组件库&#xff0c;提供了一整套 UI 基础组件和业务组件&#xff0c;这是我目前用过最好用的框架。 中文文档 | github地址 | 在线预览 2. Mint UI Mint UI 由饿了么前端团队推出的 M…

移动端UI框架总结

1. React Native 网站地址:React Native 中文网 使用React来编写原生应用的框架 GitHub:https://github.com/facebook/react-native 网站描述:Facebookt推出基于 React 的创建跨平台移动应用开发框架 React Native使你能够在Javascript和React的基础上获得完全一致的开发体验…

与运算()、或运算(|)、异或运算(^)的本质 及 用途,文末附加 位运算面试题

目录 一&#xff1a;与运算符&#xff08;&&#xff09;and 1、运算规则&#xff1a; 2、例如&#xff1a;3&5 3、用途&#xff1a; 1&#xff09;判断 奇偶性 2&#xff09;清零。 3&#xff09;取一个数中指定位 二&#xff1a;或运算&#xff08;|&#xff…

Python与或运算

今天碰到一道有意思的题目&#xff0c;看了之后发现自己对Python与或的理解还是欠缺&#xff0c;如下。 题目&#xff1a;求12…n 来源&#xff1a;Leetcode 如果不加限制&#xff0c;我们有很多方法计算该值&#xff0c;例如高斯公式&#xff0c;递归等。 我们思考下递归的解…

sql查询数据表某列的重复值并计数

查询sql为&#xff1a; SELECTdevice_id,count( device_id ) AS number FROMcms_sticker_member GROUP BYdevice_id HAVINGcount( device_id ) > 1 ORDER BYnumber DESC; 结果&#xff1a;

查询多个字段同时重复2次以上的记录的sql的次数

表数据如上图&#xff0c; 1.筛选 type、pid 重复的数据的次数大于等于2的 次数和对应的数据值 SELECT COUNT(*),TYPE,pid FROM AREA GROUP BY TYPE,pid HAVING COUNT(*)>2; 2.筛选 type、pid 重复的数据的次数大于等于2&#xff0c;并且对应的 pid和type值相反的重复的数…