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 ...
随机推荐
- AI编辑SVG格式的相关问题
制作SVG:1.需要给每个图层命名,生成的SVG文件的(表示一个路径,另外还有标签等)标签就会有个id属性是这个图层的名字2.保存的时候内嵌文字可以保存为SVG或转为path格式,如果没有文字,则无所 ...
- “访问 IIS 元数据库失败”错误的解决方法
1.依次点击“开始”-“运行”. 2.在“运行”栏内输入 “C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i ...
- Java Debugging
1, https://visualvm.java.net/oqlhelp.html#top http://docs.oracle.com/javase/7/docs/technotes/samples ...
- 【Hadoop】搭建完全分布式的hadoop
博客已转移,请借一步说话! http://www.weixuehao.com/archives/577 下面博文已更新,请移步 ↑ 用于测试,我用4台虚拟机搭建成了hadoop结构 我用了两个台式机. ...
- 005. C#发送邮件
/// <summary> /// 发送邮件 /// </summary> /// <param name="toEmailS">邮件接收者列表 ...
- 3.发布Maven项目到nexus中
1.在pom.xml文件中配置需要发布的工厂 如果想把项目发布到nexus中,需要在pom.xml中配置releases和snapshots版本发布的具体repository <distribu ...
- Oracle字符集与客户端
http://www.linuxidc.com/Linux/2011-11/47383p2.htm 什么是Oracle字符集Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关 ...
- Q3: Linked List Cycle II
问题描述 Given a linked list, return the node where the cycle begins. If there is no cycle, return null. ...
- asp.net中HTML代码编码、解码与页面的重定向
http://www.cnblogs.com/yjss/articles/2005894.html 1.编码(输出的字符串中包含HTML代码) Response.Write(Server.HtmlEn ...
- es6语法重构react代码
1.使用React.Component创建组件,需要通过在constructor中调用super()将props传递给React.Component.另外react 0.13之后props必须是不可变 ...