我们先假设我们有如下结构的目录(都是在这个目录下:gogoal_platform/)
|—ggindex
—|—-app
—|—-conf
—|—-dataservice
—–|—app
——–|—ggindex
———–|—common
———–|—constant
———–|—model
———–|—v1
—–|—conf
—–|—lib
—|—-utils
对整个目录进行压缩
语法格式:tar (参数) (压缩的文件名叫什么)( 压缩哪些文件)
tar -czf ggindex.tar.gz *
打包指定文件
tar -czf ggindex.tar.gz ./app/views ./conf/routes ./precompiled ./public
意思:打包当前目录下的app/views、当前目录的conf/routes、当前目录的precomiled、当前目录的public。
创建并打包到压缩文件ggindex.tar.gz中。
解压缩
tar -xf ggindex.tar.gz -C yutao/
意思是解压缩ggindex.tar.gz文件到yutao目录中。
①这里要了解到,要是在window中解压缩ggindex.zip文件,它会已ggindex名字为文件夹。
在Linux中,它不会创建文件夹,而是直接把里面的文件解压出来;
②yutao文件夹要先创建,否则它会报错,文件夹不存在。
其他写法
要是解压gzip文件。
tar –zxf ggindex.tar.gz
要是解压bzip压缩包。
tar –jxf ggindex.bz2
其实这里可以统一写成:
tar -xf ggindex.tar.gz
只解压某个文件
tar -xf ilanni.tar.gz ilanni/tftp.txt
解压多个文件,但不是全部
tar -xf ilanni.tar.gz ilanni/{tftp.txt,iso.txt}
参数说明:
tar有几个比较重要的参数如下:
-c 创建一个新归档
-r:向压缩归档文件末尾追加文件
-x 解压tar压缩包,
-u:更新原压缩包中的文件
-t 显示tar文件中的文件列表
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。
-f 当与-c选项一起使用时,创建的tar文件使用该选项的指定的文件名;当与-x选项一起使用时,则解包该选项指定的归档。该参数一定放在所有参数的最后面。
-v 显示归档或解档的进度
-z 使用gzip来压缩tar文件
-j 使用bzip2来压缩tar文件
-C 解压到新的目录,该命令是大写。
-p 保留备份数据的原本权限和属性
以上命令需要特别注意-c、-t、-x不能在一个命令中同时出现。
参考地址:
http://www.ilanni.com/?p=7191
http://www.cnblogs.com/chjw8016/p/5953168.html
http://www.jb51.net/os/RedHat/1219.html