[2019.04.01]Linux 学习心得(2)-- tar 命令的理解
这篇文章并不是发布最早的但是阅读量却每天都见长,很想知道各位大大是怎么找到这篇文章的。如果不忙,还请各位大大评论一下我看看,没准我可以为大家改进一下本文,提升一下质量。
==================================================
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
使用循环
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 命令的理解的更多相关文章
- [2019.03.22] Linux 学习心得(1)
本文关键词:shell 判断.grep正则表达式使用和贪婪匹配理解 1. if [ $a -le $b ], 一开始自学的时候我以为 [ ... ] 就是普通的,语法规定的结构,结果其实人家是&quo ...
- Linux学习心得之 双显卡、中文输入法及svn初步使用
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 双显卡.中文输入法及svn初步使用 1.前言 2.Linux双显卡解决 ...
- linux学习心得之目录树开端与/etc(图文)
linux学习心得之目录树开端与/etc(图文) linux中“一切皆文件”,学习linux一年了,在学习过程中对目录树的一点心得,分享给大家,有不对的地方敬请斧正. 不多说了,先上图: 根目录: / ...
- Linux学习心得之 Linux下命令行Android开发环境的搭建
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...
- Linux学习心得之 Linux下ant安装与使用
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下ant安装与使用 1. 前言2. ant安装3. 简单的a ...
- linux学习心得之vim/Cvim篇
linux学习心得之vim/Cvim篇 在linux 下,vim 时一种最常见的编辑器,很多linux的发行版就自带了.我的是CentOS 6.3. 基本上Vim共分为3种模式,分别是一般模式,编辑模 ...
- Linux学习之用户管理命令与用户组管理命令(十五)
Linux学习之用户管理命令与用户组管理命令 目录 用户管理命令 用户添加命令useradd 修改用户密码passwd 修改用户信息usermod 修改用户密码状态chage 删除用户userdel ...
- Linux学习心得之 LVM管理与Linux系统安装
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 LVM管理与Linux系统安装 1.前言 2.LVM 简介与术语 3.LVM 使用 4.Li ...
- 2019/4/17 Linux学习
一.Linux的文件系统 其中/prov./srv./sys 文件为文件系统,技术不过硬不要去修改:二.关于Xshell.Xft1.服务器的端口可有65535个可设置,开的越多安全性越差:2.远程登录 ...
随机推荐
- 1.Memcached 中文文档 - 概论(译官方文档)
原文地址:memcached手册 https://github.com/memcached/memcached/wiki/Overview 简介 Free & open source, ...
- zxing 如何识别反转二维码
说起二维码扫描,估计很多人用的是 zxing 吧. 然而 zxing 虽然好用,但是却有一些坑. 这边分析一下自己实际项目遇到的一个坑. 什么坑呢? 下面举个栗子你就懂了. 这边生成二维码使用的是网络 ...
- T-SQL 簡易小數處理
今天因應同事提的一則需求,寫了一段 CASE WHEN 的整數與小數處理 過程中居然踩了個雷,特此記錄下來 首先,需求如下: 當內容為整數或零時則去掉尾端的小數否則就顯示原本的小數內容 若內容為 NU ...
- XSS攻击之窃取Cookie
10 年前的博客似乎有点老了,但是XSS 攻击的威胁依然还在,我们不得不防. 窃取Cookie是非常简单的,因此不要轻易相信客户端所声明的身份.即便这个Cookie是在数秒之前验证过,那也未必是真的, ...
- react中PureComponent浅对比策略
PureComponent实现了Component中没有实现的shouComponentUpdata()方法,会对state和props进行一次浅对比,本文介绍一下浅对比策略 源码中,实现浅对比的函数 ...
- JavaScript学习之自动轮播图片
定时器 在实现轮播图之前需要首先了解一下JavaScript的定时器 setInterval()和clearInterval() 1.setInterval() 方法可按照指定的周期(以毫秒计)来调用 ...
- Unity 协同程序
定义协同程序: IEnumerator test() { Debug.log("test 1"); yeild return WaitForSecond(3.0f); Debug. ...
- matlab中的实时音频
音频系统工具箱™针对实时音频处理进行了优化.audioDeviceReader, audioDeviceWriter, audioPlayerRecorder, dsp.AudioFileReader ...
- d3.csv()后获取的数据不是数组,而是对象
我的csv文件: year,population 1953,5.94 1964,6.95 1982,10.08 1990,11.34 2000,12.66 2010,13.40 使用d3.csv()输 ...
- emacs 文本替换
文本替换方法: M-% (query-replace) 输入 响应 SPC 或者 y 替换当前匹配并前进到下一个匹配处 DEL 或者 n 忽略此次匹配并前进到下一个匹配处 . 替换当前匹配并退出 , ...