tar命令集合(详解)

article/2025/8/21 9:01:42

tar 命令可以将许多文件一起保存至一个单独的磁带或磁盘归档,并能从归档中单独还原所需文件。

示例

test文件为例

压缩命令

tar -cvf test.tar test test1

在这里插入图片描述
解压命令

tar -xvf test.tar

在这里插入图片描述

主操作模式:

-A, --catenate, --concatenate 追加 tar 文件至归档

  -c, --create               创建一个新归档-d, --diff, --compare      找出归档和文件系统的差异--delete               从归档(非磁带!)中删除-r, --append               追加文件至归档结尾-t, --list                 列出归档内容--test-label           测试归档卷标并退出-u, --update               仅追加比归档中副本更新的文件-x, --extract, --get       从归档中解出文件

操作修饰符:

–check-device 当创建增量归档时检查设备号(默认)

 -g,  --listed-incremental=FILE   处理新式的 GNU 格式的增量备份-G,  --incremental           处理老式的 GNU 格式的增量备份--ignore-failed-read当遇上不可读文件时不要以非零值退出--level=NUMBER         所创建的增量列表归档的输出级别
-n,   --seek                 归档可检索--no-check-device      当创建增量归档时不要检查设备号--no-seek              归档不可检索--occurrence[=NUMBER]  仅处理归档中每个文件的第 NUMBER个事件;仅当与以下子命令 --delete,--diff, --extract 或是 --list中的一个联合使用时,此选项才有效。而且不管文件列表是以命令行形式给出或是通过-T 选项指定的;NUMBER 值默认为 1--sparse-version=MAJOR[.MINOR]设置所用的离散格式版本(隐含--sparse)-S, --sparse               高效处理离散文件

重写控制:

-k,   --keep-old-files       don't replace existing files when extracting,treat them as errors--keep-directory-symlink   preserve existing symlinks to directories whenextracting--keep-newer-files不要替换比归档中副本更新的已存在的文件--no-overwrite-dir     保留已存在目录的元数据--overwrite            解压时重写存在的文件--overwrite-dir        解压时重写已存在目录的元数据(默认)-U, --unlink-first         在解压要重写的文件之前先删除它们
-W, --verify               在写入以后尝试校验归档

选择输出流:

     --ignore-command-error       忽略子进程的退出代码--no-ignore-command-error    将子进程的非零退出代码认为发生错误-O, --to-stdout                  解压文件至标准输出--to-command=COMMAND         将解压的文件通过管道传送至另一个程序

操作文件属性:

–atime-preserve[=METHOD]
在输出的文件上保留访问时间,要么通过在读取(默认 METHOD=‘replace’)后还原时间,要不就不要在第一次(METHOD=‘system’)设置时间

  --delay-directory-restore直到解压结束才设置修改时间和所解目录的权限--group=名称            强制将 NAME作为所添加的文件的组所有者--mode=CHANGES         强制将所添加的文件(符号)更改为权限CHANGES--mtime=DATE-OR-FILE   从 DATE-OR-FILE 中为添加的文件设置mtime   
-m, --touch              不要解压文件的修改时间--no-delay-directory-restore取消 --delay-directory-restore 选项的效果--no-same-owner将文件解压为您所有(普通用户默认此项)--no-same-permissions从归档中解压权限时使用用户的掩码位(默认为普通用户服务)--numeric-owner        总是以数字代表用户/组的名称--owner=名称            强制将 NAME作为所添加的文件的所有者
 -p,  --preserve-permissions, --same-permissions解压文件权限信息(默认只为超级用户服务)--preserve             与 -p 和 -s 一样--same-owner尝试解压时保持所有者关系一致(超级用户默认此项)
-s,   --preserve-order, --same-order member arguments are listed in the same order as the files in the archive

Handling of extended file attributes:

  --acls                 Enable the POSIX ACLs support--no-acls              Disable the POSIX ACLs support--no-selinux           Disable the SELinux context support--no-xattrs            Disable extended attributes support--selinux              Enable the SELinux context support--xattrs               Enable extended attributes support--xattrs-exclude=MASK  specify the exclude pattern for xattr keys--xattrs-include=MASK  specify the include pattern for xattr keys

设备选择和切换:

-f, --file=ARCHIVE         使用归档文件或 ARCHIVE 设备--force-local          即使归档文件存在副本还是把它认为是本地归档
-F, --info-script=名称--new-volume-script=名称在每卷磁带最后运行脚本(隐含 -M)
-L, --tape-length=NUMBER   写入 NUMBER × 1024 字节后更换磁带
-M, --multi-volume         创建/列出/解压多卷归档文件--rmt-command=COMMAND  使用指定的 rmt COMMAND 代替 rmt--rsh-command=COMMAND  使用远程 COMMAND 代替 rsh--volno-file=FILE      使用/更新 FILE 中的卷数

设备分块:

-b, --blocking-factor=BLOCKS   每个记录 BLOCKS x 512 字节
-B, --read-full-records    读取时重新分块(只对 4.2BSD 管道有效)
-i, --ignore-zeros         忽略归档中的零字节块(即文件结尾)--record-size=NUMBER   每个记录的字节数 NUMBER,乘以 512

选择归档格式:

 -H, --format=FORMAT        创建指定格式的归档

FORMAT 是以下格式中的一种:

gnu                      GNU tar 1.13.x 格式
oldgnu                   GNU 格式 as per tar <= 1.12
pax                      POSIX 1003.1-2001 (pax) 格式
posix                    等同于 pax
ustar                    POSIX 1003.1-1988 (ustar) 格式
v7                       old V7 tar 格式--old-archive, --portability等同于 --format=v7--pax-option=关键字[[:]=][,关键字 [[:]=]]...控制 pax 关键字--posix                等同于 --format=posix
 -V, --label=TEXT           创建带有卷名TEXT的归档;在列出/解压时,使用 TEXT作为卷名的模式串

压缩选项:

-a, --auto-compress        使用归档后缀名来决定压缩程序
-I, --use-compress-program=PROG通过 PROG 过滤(必须是能接受 -d选项的程序)
-j, --bzip2                通过 bzip2 过滤归档
-J, --xz                   通过 xz 过滤归档--lzip                 通过 lzip 过滤归档--lzma                 通过 lzma 过滤归档--lzop--no-auto-compress     不使用归档后缀名来决定压缩程序
-z, --gzip, --gunzip, --ungzip   通过 gzip 过滤归档
-Z, --compress, --uncompress   通过 compress 过滤归档

本地文件选择:

     --add-file=FILE        添加指定的 FILE 至归档(如果名字以 -开始会很有用的)--backup[=CONTROL]     在删除前备份,选择 CONTROL 版本
  -C, --directory=DIR        改变至目录 DIR--exclude=PATTERN      排除以 PATTERN 指定的文件--exclude-backups      排除备份和锁文件--exclude-caches       除标识文件本身外,排除包含CACHEDIR.TAG 的目录中的内容--exclude-caches-all   排除包含 CACHEDIR.TAG 的目录--exclude-caches-under 排除包含 CACHEDIR.TAG 的目录中所有内容

  --exclude-tag=FILE     除 FILE 自身外,排除包含 FILE的目录中的内容--exclude-tag-all=FILE 排除包含 FILE 的目录--exclude-tag-under=FILE   排除包含 FILE 的目录中的所有内容--exclude-vcs          排除版本控制系统目录
-h, --dereference       跟踪符号链接;将它们所指向的文件归档并输出--hard-dereference  跟踪硬链接;将它们所指向的文件归档并输出
-K, --starting-file=MEMBER-NAMEbegin at member MEMBER-NAME when reading thearchive--newer-mtime=DATE  当只有数据改变时比较数据和时间--no-null           禁用上一次的效果 --null 选项--no-recursion      避免目录中的自动降级--no-unquote        不以 -T 读取的文件名作为引用结束--null              -T 读取以空终止的名字,-C 禁用
-N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE  只保存比 DATE-OR-FILE 更新的文件--one-file-system   创建归档时保存在本地文件系统中
-P, --absolute-names    不要从文件名中清除引导符‘/--recursion         目录递归(默认)--suffix=STRING     在删除前备份,除非被环境变量SIMPLE_BACKUP_SUFFIX覆盖,否则覆盖常用后缀(‘’)
-T, --files-from=FILE   从 FILE中获取文件名来解压或创建文件--unquote           以 -T读取的文件名作为引用结束(默认)
-X, --exclude-from=FILE 排除 FILE 中列出的模式串

文件名变换:

     --strip-components=NUMBER   解压时从文件名中清除 NUMBER个引导部分--transform=EXPRESSION, --xform=EXPRESSION使用 sed 代替 EXPRESSION来进行文件名变换

文件名匹配选项(同时影响排除和包括模式串):

    --anchored             模式串匹配文件名头部--ignore-case          忽略大小写--no-anchored          模式串匹配任意‘/’后字符(默认对exclusion 有效)--no-ignore-case       匹配大小写(默认)--no-wildcards         逐字匹配字符串--no-wildcards-match-slash   通配符不匹配‘/--wildcards            use wildcards (default)--wildcards-match-slash通配符匹配‘/(默认对排除操作有效)

提示性输出:

     --checkpoint[=NUMBER]  每隔 NUMBER个记录显示进度信息(默认为 10)--checkpoint-action=ACTION   在每个检查点上执行 ACTION--full-time            print file time to its full resolution--index-file=FILE      将详细输出发送至 FILE
-l, --check-links只要不是所有链接都被输出就打印信息--no-quote-chars=STRING   禁用来自 STRING 的字符引用--quote-chars=STRING   来自 STRING 的额外的引用字符--quoting-style=STYLE  设置名称引用风格;有效的 STYLE值请参阅以下说明
-R, --block-number         每个信息都显示归档内的块数--show-defaults        显示 tar 默认选项--show-omitted-dirs    列表或解压时,列出每个不匹配查找标准的目录--show-transformed-names--show-stored-names    显示变换后的文件名或归档名--totals[=SIGNAL]      处理归档后打印出总字节数;当此SIGNAL 被触发时带参数-打印总字节数;允                            许的信号为:SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和SIGUSR2;同时也接                            受不带 SIG前缀的信号名称--utc                  以 UTC 格式打印文件修改时间
-v, --verbose              详细地列出处理的文件--warning=KEYWORD      警告控制:
-w, --interactive--confirmation         每次操作都要求确认兼容性选项:
-o                         创建归档时,相当于--old-archive          展开归档时,相当于--no-same-owner

其他选项

 -?, --help                 显示帮助列表--restrict             禁用某些潜在的有危险的选项--usage                显示简短的用法说明--version              打印程序版本

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

相关文章

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值相反的重复的数…

sql查询、删除重复相同数据的语句或只保留一条数据

1、查询&#xff08;字段1, 字段2, 字段3&#xff09;全部重复相同的数据 SELECT * FROM 表 WHERE (字段1, 字段2, 字段3) IN (SELECT 字段1, 字段2, 字段3 FROM 表 GROUP BY 字段1, 字段2, 字段3 HAVING COUNT(*) > 1) ORDER BY 排序字段2、过滤&#xff08;字段1, 字段…

分享SQL重复记录查询的几种方法

SQL重复记录查询的几种方法&#xff0c;需要的朋友可以参考一下 1、查找表中多余的重复记录&#xff0c;重复记录是根据单个字段&#xff08;peopleId&#xff09;来判断 代码如下: select * from people where peopleId in (select peopleId from people group by peo…

SQL查询重复记录

1、查找表中多余的重复记录&#xff0c;重复记录是根据单个字段&#xff08;peopleId&#xff09;来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 2、删除表中多余的重复记录&#xff0c;重…