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 ...
随机推荐
- Mysql存储日期类型用int、timestamp还是datetime?
通常存储时间用datetime类型,现在很多系统也用int存储时间,它们有什么区别?个人更喜欢使用int这样对于日期计算时比较好哦,下面我们一起来看到底那种会好些. int ().4个字节存储,INT ...
- springMvc源码学习之:利用springMVC随时随地获取HttpServletRequest等对象
一.准备工作: 在web.xml中添加 <listener> <listener-class> org.springframework.web.context.request. ...
- GitHub windows客户端拉代码和提交代码
1,拉别人的代码, 比如https://github.com/greenrobot/EventBus 这个库,先用浏览器访问,然后git账号登陆,点击fock到自己的库里 点击Fork 然后打开Git ...
- 在js自定义函数中使用$(event.target)代替$(this)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- PostgreSQL: Query for location of global tablespace?
Q: I have been trying to make our database clients pro-active about not filling up the partition on ...
- Goal driven performance optimization
When your goal is to optimize application performance it is very important to understand what goal d ...
- Mysql源码目录结构
Programs for handling SQL commands. The "core" of MySQL. These are the .c and .cc files in ...
- <button>会自动提交表单吗?
点击button以后,表单先由ajax提交,然后无论后台返回什么结果,页面都会跳转到表单action属性指定的路劲,也就是login.html使用的是html.jquery.javascript,后台 ...
- urllib2
import urllib2response = urllib2.urlopen("http://www.baidu.com")print response.read() urlo ...
- 联表更新 Update Left Join
Update a set a.Manage_FunctID=b.Manage_FunctID From Manage_PageUrl a Left join Manage_ButtonBar b on ...