这篇文章并不是发布最早的但是阅读量却每天都见长,很想知道各位大大是怎么找到这篇文章的。如果不忙,还请各位大大评论一下我看看,没准我可以为大家改进一下本文,提升一下质量。

==================================================

1.tar命令的小坑:当使用通配符*的时候,tar命令报错:  Not found in archive

Root Cause: tar 命令的执行会先把 *.tar 翻译成 a.tar; b.tar; c.tar.... 然后再添加进整个命令,形成  tar -xvf a.tar b.tar c.tar ....  的结构再执行tar,然而该指令还有一个功能是解压缩某包中特定的文件,即  tar -xvf a.tar xxx.rmvb xxx.docx  。所以我们预期的输出应该是a; b; c; 三个tar文件都被解压缩成功,实际输出却变成在a当中寻找b和c并将二者单独解压缩出来,而在本案例中,a文件并没有b; c; 两个内容,所以出现了上述报错。

Solution  :在bash中使用管道和xargs: ls *.gz |xargs -n1 tar -xzf

        使用循环

(ref = https://stackoverflow.com/questions/16933221/shell-tar-not-found-in-archive-error-when-using-regular-expression

2.tar命令的小坑:当命令顺序出错的时候,报错  You must....

tar -fxz spa.service_dc.tgz

│tar: You must specify one of the '-Acdtrux', '--delete' or '--test-label' options

│Try 'tar --help' or 'tar --usage' for more information.

由于Linux下打包工具的压缩格式真的超级多(tar/tgz/tar.gz/tar.bz2/tar.xz),而tar 着一条命令能干的事情也不少,所以刚接触还真的会有些头秃。

他的命令中可带的选项,分为下面几种:

1.必选选项,有且只有一个,必须放在选项的第一个位置,否则报上面的错。

  -c 新建; -x 解压; -t 查看压缩文档内容; -r追加; -u 更新包中的文件

2.压缩选项,没有的话就是单纯的用tar打个包(不附带压缩功能),这类选项是可选的

  -z 使用gzip进行之前选项的操作,对应的文件后缀是*.tgz / *.tar.gz

  -j 使用bzp2的算法进行操作,对应的文件是*.tar.bz2

3.额外选项,建议放在最后一个选项的位置

  -v 显示操作步骤(都把什么东西解压出来了)

  -f 使用文件名,文件名必须紧跟在这个选项后面!

[2019.04.01]Linux 学习心得(2)-- tar 命令的理解的更多相关文章

  1. [2019.03.22] Linux 学习心得(1)

    本文关键词:shell 判断.grep正则表达式使用和贪婪匹配理解 1. if [ $a -le $b ], 一开始自学的时候我以为 [ ... ] 就是普通的,语法规定的结构,结果其实人家是&quo ...

  2. Linux学习心得之 双显卡、中文输入法及svn初步使用

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 双显卡.中文输入法及svn初步使用 1.前言 2.Linux双显卡解决 ...

  3. linux学习心得之目录树开端与/etc(图文)

    linux学习心得之目录树开端与/etc(图文) linux中“一切皆文件”,学习linux一年了,在学习过程中对目录树的一点心得,分享给大家,有不对的地方敬请斧正. 不多说了,先上图: 根目录: / ...

  4. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  5. Linux学习心得之 Linux下ant安装与使用

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下ant安装与使用 1. 前言2. ant安装3. 简单的a ...

  6. linux学习心得之vim/Cvim篇

    linux学习心得之vim/Cvim篇 在linux 下,vim 时一种最常见的编辑器,很多linux的发行版就自带了.我的是CentOS 6.3. 基本上Vim共分为3种模式,分别是一般模式,编辑模 ...

  7. Linux学习之用户管理命令与用户组管理命令(十五)

    Linux学习之用户管理命令与用户组管理命令 目录 用户管理命令 用户添加命令useradd 修改用户密码passwd 修改用户信息usermod 修改用户密码状态chage 删除用户userdel ...

  8. Linux学习心得之 LVM管理与Linux系统安装

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 LVM管理与Linux系统安装 1.前言 2.LVM 简介与术语 3.LVM 使用 4.Li ...

  9. 2019/4/17 Linux学习

    一.Linux的文件系统 其中/prov./srv./sys 文件为文件系统,技术不过硬不要去修改:二.关于Xshell.Xft1.服务器的端口可有65535个可设置,开的越多安全性越差:2.远程登录 ...

随机推荐

  1. 基于IdentityServer的系统对接微信公众号

    业务需求 公司有两个业务系统,A和B,AB用户之间属于多对一的关系,数据库里面也就是两张表,A表有个外键指向B.现在需要实现以下几个功能. A用户扫描B的二维码,填写相关的注册信息,注册完成之后自动属 ...

  2. EF Core 快速上手——EF Core 入门

    EF Core 快速上手--EF Core 介绍 本章导航 从本书你能学到什么 对EF6.x 程序员的一些话 EF Core 概述 1.3.1 ORM框架的缺点 第一个EF Core应用   本文是对 ...

  3. Web部分

    说出Servlet的生命周期,并说出Servlet和GCI的区别. Web容器加载Servlet并将其实例化后,Servlet生命周期开始,容器运行其init方法进行Servlet的初始化,请求到达时 ...

  4. headfirst设计模式(5)—工厂模式体系分析及抽象工厂模式

    先编一个这么久不写的理由 上周我终于鼓起勇气翻开了headfirst设计模式这本书,看看自己下一个设计模式要写个啥,然后,我终于知道我为啥这么久都没写设计模式了,headfirst的这个抽象工厂模式, ...

  5. 可编辑且宽度自适应input

    默认的input项是比较难看的,并且它的宽度还无法随着输入而变化,这样未免有些呆板,不过借助JavaScript可以达到宽度自适应的效果,下面为了方便使用了jQuery: <div class= ...

  6. 《JavaScript高级程序设计》笔记:DOM2和DOM3(十二)

    DOM1级主要定义的是HTML和XML文档的底层结构.DOM2级和DOM3级在这个结构基础上引入了更多的交互能力,也支持更高级的XML特性.为此DOM2级和DOM3级分为了很多的模块(模块直接具有某种 ...

  7. LeetCode的刷题利器(伪装到老板都无法diss你没有工作)

    在工程效率大行其道的今天,如果不会写点代码以后也不容易在测试圈混下去.今天给大家推荐一个LeetCode的刷题利器,可以伪装到连你老板在这里走过去都无法确认你是在干活呢,还是在干活呢. LeetCod ...

  8. nginx+uwsgi部署django项目

    1.django项目部署前需要生成admin的静态资源文件 (1)生成admin的静态资源文件 # 关闭debug模型 DEBUG = False # 允许所有域名访问 ALLOWED_HOSTS = ...

  9. Linux新手随手笔记

    RPM通过将安装规则与源代码打包到一起,来降低软件的安装难度 yum 通过将大量的常用RPM软件存放在一起,解决软件包之间的依赖关系,进一步降低软件的安装难度 rhel 5\6 init rhel 7 ...

  10. 【js】Number与数组

    定义和用法 Number() 函数把对象的值转换为数字. 语法 Number(object):参数必须是对象 如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫 ...