Linux tar指令
linux 下的命令真是太多了。最近在看《Linux Shell编程从初学到精通》一书。该书有468页,很可惜我并不是那种很有耐性一个例子一个例子地跟着做的人,最多在看到些不太清楚的地方会动手敲一敲代码。看来想要真正掌握linux shell 编程的话还真得看一本这样子循序渐进的书,至少多多少少你可以懂一些其中的思想,而从网上那些速成片断里你是不可能领悟得到的(嘻嘻)。
今晚快回实验室前看到了tar命令的介绍,关于tar命令,我只会写tar -xvf xxx.tar,甚至连打包怎么写也不清楚,因为之前一真都是从网上搬别人的过来的。man tar的时候出现的又总是长篇大论,一大堆不重要的信息夹杂其中,根本没法看。好吧,觉悟吧。
通过tar --help 可以看到下面的信息。

-c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
-r 把要存档的文件追加到档案文件的末尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
-t 列出档案文件的内容,查看已经备份了哪些文件。
-u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
-x 从档案文件中释放文件。
-f 使用档案文件或设备,这个选项通常是必选的。
-v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
-z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
-c 用来指定解压目的路径。
上面是从百科中copy出来的。
不过上面有几点不太清楚的,比如-f表示使用文件,后面要跟上文件名。如果是要创建一个包,则创建出来的包包使用它作为文件名。
我要一个一个地练习。。。。
首先查看一个目录下的内容(用tree命令),现在我要创建一个包含这个目录下所有文件的包包。
tar -cf achieve.rar ./*
-c 表示创建一个新的包包 -f表示文件,后面跟上要新建的包的包名achieve.rar,最后写上我们要打包的文件列表。Enter and Look:

现在来检查一下创建出来的包是否都正确地包含了我们所需要的文件。tar -tf achieve.tar

可以看到文件被正确地打包了。连目录下的文件也被递归地打包了。
现在我们来往生的包achieve.tar中添加一个新的文件file4,命令如下。

我实在是想不出添加命令的参数为什么是-r,这跟append 这个单词有什么关系。我想这也是很多学linux 常用命令的人经常遇到的不解问题。毕竟linux不是一个人做的,熟能生巧嘛。当你打上这条命令100遍,谁管它是-append 还是-r呢。
好了,最后一招,解压。这也是我们平时用到的最频繁的命令之一。
注意-z选项,这个选项指将要解压缩的压缩包的格式是gzip来压缩的。书的作者说得很好,有时候我们并不需了解那么多乱七八糟的格式,我们目的很简单,解压缩而已。

但是如果我们用tar -zxvf achieve.tar就会报错,看:

gzip是对tar格式压缩文件的进一步压缩。文件扩展名是gz的一般都是gzip格式的压缩包。

对了,经常的情况是,我们下载了一个包,然后需要把它解压到另外一个文件夹中。这时我们可以使用-c选项,例子如下:
tar -xvzf /test/tmp/abc.tar.gz -C /test/tcp/abc
暂时就学这么多吧,其它的小功能可以查手册,毕竟很多时候我们的目的很简单。不知道这样的做法可不可称做是“取其精华,去其糟粕”。臭美吧。
Linux tar指令的更多相关文章
- linux tar使用
Linux tar指令简单使用 -c:创建包,-x:解压或解包(-c和-x可理解为互逆运算),-t:查看包 -f:后加处理文件,必须放在参数组合的最后一位(tar -cf a.tar 1.tx ...
- ROS零门槛学渣教程系列(二)——Linux常用指令:mkdir、tar、 unzip、cp、scp、mv、rm、find、apt、ssh
Linux常用指令通过上一教程,我们获得了ubuntu系统.Linux是一个很大的领域.但不要紧张,我们一步步来就是了,跟着教程,需要能用到新知识,会提前介绍给大家.下面学习几个常用的Linux指令. ...
- linux常用指令
整理下来的linux常用指令 mount [-t 文件系统] 设备文件名 挂载点挂载命令,一般用于在挂载ISO,或者其他比如U盘等设备时使用,[-t iso9660]为固定格式,可写可不写,非必写项. ...
- Linux tar (打包.压缩.解压缩)命令说明 | tar如何解压文件到指定的目录?
打包举例:将 /usr/local/src/zlib-1.2.5目录下的文件打包成 zlib-1.2.5.tar.gz cd /usr/local/src tar -czvf ./zlib-1.2.5 ...
- Linux压缩指令
1.windows系统和Linux系统的压缩文件只有zip格式的是通用的 2.windows系统可以解压几乎所有的Linux压缩格式 3.Linux压缩指令 gzip 指令 格式: gzip 压缩的文 ...
- Linux tar打包命令
Linux tar打包命令: 范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar [root@linux ~]# tar -cvf /tmp/etc.tar /etc < ...
- linux tar 备份命令
转载:http://www.douban.com/note/57861194/ tar [-cxtzjvfpPN] 文件与目录 ….参数:-c :建立一个压缩文件的参数指令(create 的意思):- ...
- linux tar命令
tar命令打包还是压缩需要看所调用的命令参数....tar在使用时可以调用命令参数, 比如tar -xvf +文件名就是解包,但是不是解压...只有在使用了参数z等调用gzip等 压缩命令时才是压缩或 ...
- linux tar打包
范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩![root ...
随机推荐
- hihoCoder#1080 (线段树)
题目大意:线段树的区间更改与查询,但是涉及到两种区间修改方式,一是给区间中的数全部加上一个数,二是将一个区间全部置为同一个数,然后询问整个区间和. 题目分析:处理好set操作和add操作的先后顺序就O ...
- poj1611 带权并查集
题意:病毒蔓延,现在有 n 个人,其中 0 号被认为可能感染,然后给出多个社交圈,如果某个社交圈里有人被认为可能被感染,那么所有这个社交圈里的人都被认为可能被感染,现在问有多少人可能被感染. 带权并查 ...
- exceptions-in-java
http://www.javaworld.com/article/2076721/core-java/designing-with-exceptions.html http://www.javawor ...
- C#代码:用事件模式实现通知
事件提供了一种标准的机制来通知监听者..NET的事件模式使用了事件语法来实现观察者模式.任意数量的客户对象都可以将自己的处理函数注册到事件上,然后处理这些事件.这些客户对象不需要再编译期就给出.时间也 ...
- InnoDB Double write
记得刚开始看InnoDB文档的时候,Double Write一节(其实只有一小段)就让我很困惑.无奈当时内力太浅,纠缠了很久也没弄明白.时隔几个月,重新来整理一下. 涉及到的概念:Buffer Poo ...
- OCR文字识别软件 怎么识别包含非常规符号的文本
ABBYY FineReader 12 是一款OCR图文识别软件,可快速方便地将扫描纸质文档.PDF文件和数码相机的图像转换成可编辑.可搜索的文本,有时文本中可能会包含一些非常规的符号,此时ABBYY ...
- System.Threading.ThreadAbortException: 正在中止线程。
在 System.Threading.ThreadAbortException 中第一次偶然出现的"mscorlib.dll"类型的异常 "System.Threadin ...
- unity, 在OnDisable里一定要将Cloth禁掉
如果在OnDisable中不将Cloth组件禁掉,则当物体再次激活时布料将变形.
- maven设置---Dmaven.multiModuleProjectDirectory system propery is not set.
设置maven 环境变量: MAVEN_HOME:D:\Java\apache-maven-3.3.3 M2_HOME:D:\Java\apache-maven-3.3.3 path:%MAVEN_H ...
- 功能更强大的格式化工具类 FormatUtils.java
package com.util; import java.text.DecimalFormat; import java.text.ParseException; import java.text. ...