Linux压缩命令tar之排除不需要的文件或者目录(--exclude)

tar 中–exclude的简单用法

# 首先创建一个如下的目录结构和测试文件
mydir/
├── myfile
├── zidir1
│   ├── file1
│   └── file2
├── zidira
│   └── filea
└── zidirA├── fileA└── fileB3 directories, 6 files# 上面在 mydir 目录下有三个子目录 zidir1 和 zidira 、zidirA
# 子目录 zidir1 下有两个文件 file1 和 file2
# 子目录 zidira 下面有一个 filea
# 子目录 zidirA 下有两个文件 fileA 和 fileB

比如我本次压缩不需要 mydir 目录下的 zidir1zidirA两个子目录

# 使用 v 选项显示压缩详细信息,并没有将 zidir1 和 zidirA 压缩进压缩包
[root@aleng ~]# tar zcvf mydir1.tgz mydir/ --exclude=zidir1 --exclude=zidirA
mydir/
mydir/zidira/
mydir/zidira/filea
mydir/myfile
# 使用 t 选项查看压缩包中有什么内容,显示只有 mydir/zidira/filea 和 mydir/myfile
# zidir1 和 zidirA 目录以及目录下面的文件都没打包进来
[root@aleng ~]# tar tf mydir1.tgz 
mydir/
mydir/zidira/
mydir/zidira/filea
mydir/myfile

下面演示一个错误的示例

# 如果我们在 zidirA 目录后面加一个 / 那么 zidirA 也会压缩进压缩包。
# 注意:需要排除的目录后面不能有 / 。
[root@aleng ~]# tar zcvf mydir2.tgz mydir/ --exclude=zidir1 --exclude=zidirA/
mydir/
mydir/zidira/
mydir/zidira/filea
mydir/myfile
mydir/zidirA/
mydir/zidirA/fileB
mydir/zidirA/fileA# 查看一下压缩包里面的内容, zidirA 目录和下面的文件都在压缩包里面。
[root@aleng ~]# tar tf mydir2.tgz 
mydir/
mydir/zidira/
mydir/zidira/filea
mydir/myfile
mydir/zidirA/
mydir/zidirA/fileB
mydir/zidirA/fileA

如果需要排除指定的文件可以这样处理

# 这里我不需要压缩 mydir/zidirA/fileA 这个文件文件,但是需要保留 mydir/zidirA/fileB
# 查看压缩详情,mydir/zidirA/fileA 不在压缩的内容里面
[root@aleng ~]# tar zcvf mydir3.tgz mydir/ --exclude=mydir/zidirA/fileA
mydir/
mydir/zidir1/
mydir/zidir1/file1
mydir/zidir1/file2
mydir/zidira/
mydir/zidira/filea
mydir/myfile
mydir/zidirA/
mydir/zidirA/fileB
# 查看一下压缩包里面的内容,压缩包里面没有 mydir/zidirA/fileA 文件
[root@aleng ~]# tar tf mydir3.tgz 
mydir/
mydir/zidir1/
mydir/zidir1/file1
mydir/zidir1/file2
mydir/zidira/
mydir/zidira/filea
mydir/myfile
mydir/zidirA/
mydir/zidirA/fileB

如果出现以下报错,说明 tar 的软件版本是tar (GNU tar) 1.30,需要将--exclude=提到-zcvf前面

tar: The following options were used after any non-optional arguments in archive create or update mode.  These options are positional and affect only arguments that follow them.  Please, rearrange them properly.
tar: --exclude ‘zidir1’ has no effect
tar: Exiting with failure status due to previous errors
# 下面是tar 1.30版本上的用法(在Centos 8 的系统版本中是tar默认版本是1.30,在Centos 7 的系统版本中是tar默认版本是1.26)
[root@aleng ~]# tar --exclude=zidir1 -zcvf mydir4.tgz mydir/
mydir/
mydir/zidira/
mydir/zidira/filea
mydir/myfile
mydir/zidirA/
mydir/zidirA/fileB
mydir/zidirA/fileA

查看tar的版本

[root@aleng ~]# tar --version
tar (GNU tar) 1.26
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.Written by John Gilmore and Jay Fenlason.[root@aleng ~]# tar --version
tar (GNU tar) 1.30
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.Written by John Gilmore and Jay Fenlason.

以上就是 --exclude 的一些简单用法和可能会踩的坑。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/210593.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++知识点总结(8):尺取法

尺取法 一、复习枚举算法1. 算法三要素2. 最小公倍数公式3. 时间复杂度 二、算法优化初级1. 概念2. 例题(1) 最长小写子串Ⅰ 初步算法Ⅱ 认识尺取法Ⅲ 尺取法程序 (2) 最长递增子串(3) 最小子串和Ⅰ 伪代码Ⅱ 完整代码 (4) 最短字符串包含Ⅰ 伪代码 Ⅱ 代码 一、复习枚举算法 …

打破常规思维:Scrapy处理豆瓣视频下载的方式

概述 Scrapy是一个强大的Python爬虫框架&#xff0c;它可以帮助我们快速地开发和部署各种类型的爬虫项目。Scrapy提供了许多方便的功能&#xff0c;例如请求调度、数据提取、数据存储、中间件、管道、信号等&#xff0c;让我们可以专注于业务逻辑&#xff0c;而不用担心底层的…

MongoDB简介与安装

目录 1. MongoDB简介 2. 安装MongoDB 3. 基本命令行操作 4. Java代码实践 MongoDB是一种NoSQL数据库&#xff0c;以其灵活的文档存储模型和高度可扩展性而闻名。这篇文章将简单介绍一下MongoDB的基本概念&#xff0c;包括其特点和优势&#xff0c;并提供安装MongoDB的步骤。…

MapReduce的执行过程(以及其中排序)

Map阶段(MapTask)&#xff1a; 切片(Split)-----读取数据(Read)-------交给Mapper处理(Map)------分区和排序(sort) Reduce阶段(ReduceTask): 拷贝数据(copy)------排序(sort)-----合并(reduce)-----写出(write) 1、Map task读取&#xff1a; 框架调用InputFormat类的子类读取…

Vue2与Vue3的语法对比

Vue2与Vue3的语法对比 Vue.js是一款流行的JavaScript框架&#xff0c;通过它可以更加轻松地构建Web用户界面。随着Vue.js的不断发展&#xff0c;Vue2的语法已经在很多应用中得到了广泛应用。而Vue3于2020年正式发布&#xff0c;带来了许多新的特性和改进&#xff0c;同时也带来…

rpc原理与应用

IPC和RPC&#xff1f; RPC 而RPC&#xff08;Remote Procedure Call&#xff09;&#xff0c;又叫做远程过程调用。它本身并不是一个具体的协议&#xff0c;而是一种调用方式。 gRPC 是 Google 最近公布的开源软件&#xff0c;基于最新的 HTTP2.0 协议&#xff0c;并支持常见…

【SQLite】SQLite3约束总结

前面学习了SQLite数据库的常见使用方法&#xff0c;其中包含许多约束&#xff0c;常见的如NOT NULL、DEFAULT、UNIQUE、PRIMARY KEY&#xff08;主键&#xff09;、CHECK等 本篇文章主要介绍这些约束在SQLite中的使用 目录 什么是约束NOT NULL 约束DEFAULT约束UNIQUE约束PRIMA…

【设计模式-3.2】结构型——适配器模式

说明&#xff1a;本文介绍设计模式中结构型设计模式中的&#xff0c;适配器模式&#xff1b; 插头转换器 适配器模式属于结构型设计模式&#xff0c;设计思想体现在结构上的。以插头转换器为例&#xff0c;当你需要给手机充电&#xff0c;但是眼前只有一个三孔插座&#xff0…

Java基本类型的高级使用方法详解

引言 Java中的基本数据类型&#xff08;primitive types&#xff09;是构建程序的基础&#xff0c;包括整型、浮点型、字符型、布尔型等。除了直接使用这些基本类型外&#xff0c;Java还提供了一些高级的使用方法&#xff0c;使得我们能够更灵活地处理基本类型数据。本文将深入…

二叉树结点个数、叶子结点个数、树的高度、第k层结点个数的计算(C语言)

目录 前言 分治算法 模拟二叉树代码 结点个数计算 错误方法 不便利方法 基于分治思想的方法 叶子结点个数 树的高度 第k层结点的个数 前言 在链式二叉树的前序、中序、后续遍历中我们模拟了一棵二叉树&#xff0c;并实现了它的前、中、后序遍历&#xff0c;现在我们来…

UE4 .ini文件使用

在需要给配置文件的类中加上config标签&#xff0c;当然变量也要加 在项目的Config下&#xff0c;新建一个Default类的UCLASS中config等于的名字&#xff0c;这里结合上面截图就是DefaultTest 在下面写入 [/Script/项目名/类名] 然后写变量以及对应的值即可

【Angular 开发】Angular 信号的应用状态管理

自我介绍 做一个简单介绍&#xff0c;年近48 &#xff0c;有20多年IT工作经历&#xff0c;目前在一家500强做企业架构&#xff0e;因为工作需要&#xff0c;另外也因为兴趣涉猎比较广&#xff0c;为了自己学习建立了三个博客&#xff0c;分别是【全球IT瞭望】&#xff0c;【架构…

智能机器人在新材料方面遇到的挑战

智能机器人在新材料方面面临的挑战包括但不限于以下几点&#xff1a; 新材料的研发&#xff1a;机器人需要使用新材料来提高其性能和功能。然而&#xff0c;新材料的研发需要大量的时间和资金&#xff0c;同时还需要具备高超的技术和专业知识. 材料的可靠性&#xff1a;机器人…

GO面试题系列

1.GO有哪些关键字 2.GO有哪些数据类型 3.Go方法与函数的区别 在Go语言中&#xff0c;方法和函数是两个不同的概念&#xff0c;尽管它们在某些方面有相似之处。下面是它们的主要区别&#xff1a; 定义位置&#xff1a; 函数&#xff1a; 函数是独立声明的&#xff0c;它们不…

python数据分析总结(pandas)

目录 前言 df导入数据 df基本增删改查 数据清洗 ​编辑 索引操作 数据统计 行列操作 ​编辑 df->types 数据格式化 ​编辑 日期数据处理 前言 此篇文章为个人python数据分析学习总结&#xff0c;总结内容大都为表格和结构图方式&#xff0c;仅供参考。 df导入数…

Vue3使用vue-baidu-map-3x百度地图

安装vue-baidu-map-3x&#xff1a; // vue3 $ npm install vue-baidu-map-3x --save// vue2 $ npm install vue2-baidu-map --save 全局注册/局部注册&#xff1a; import { createApp } from vue import App from ./App.vue import BaiduMap from vue-baidu-map-3xconst app …

综述 2017-Genome Biology:Alignment-free sequence comparison

Zielezinski, Andrzej, et al. "Alignment-free sequence comparison: benefits, applications, and tools." Genome biology 18 (2017): 1-17. https://genomebiology.biomedcentral.com/articles/10.1186/s13059-017-1319-7 被引次数&#xff1a;476应用问题&…

curl 18 HTTP/2 stream

cd /Users/haijunyan/Desktop/CustomKit/KeepThreadAlive/KeepThreadAlive //Podfile所在文件夹 git config --global https.postBuffer 10485760000 git config --global http.postBuffer 10485760000 pod install https://blog.csdn.net/weixin_41872403/article/details/86…

linux命令积累

1.查找指定目录下第二层目录&#xff0c;一年前的文件 find $dir -maxdepth 1 -type d -mtime 365 2./data/att/dir1软连接到/data1/att/dir1 硬连接和软连接的区别 硬连接 ln file1 file2 1.硬连接不能对目录进行链接。 2.硬连接修改一个文件&#xff08;不论修改哪方文件&…

top K问题(借你五分钟)

目录 前言 top K问题 模拟数据 建堆 验证&#xff08;简单了解即可&#xff09; 最终代码 调试部分 前言 在大小堆的实现&#xff08;C语言&#xff09;中我们讨论了堆的实际意义&#xff0c;在看了就会的堆排序&#xff08;C语言&#xff09;中我们完成了堆排序&#…