本文主要是介绍linux tar xzmf,每天学点linux命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
Linux下的归档使用工具,用来打包和备份。
补充说明
tar命令 可以为linux的文档和目录创建档案。利用tar,可以为某一特定文档创建档案(备份文档),也可以在档案中改变文档,或者向档案中加入新的文档。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文档和目录全部打包成一个文档,这对于备份文档或将几个文档组合成为一个文档以便于网络传输是非常有用的。
首先要弄清两个概念:打包和压缩。打包是指将一大堆文档或目录变成一个总的文档;压缩则是将一个大的文档通过一些压缩算法变成一个小文档。
为什么要区分这两个概念呢?这源于Linux中很多压缩进程只能针对一个文档进行压缩,这样当你想要压缩一大堆文档时,你得先将这一大堆文档先打成一个包(tar命令),然后再用压缩进程进行压缩(gzip bzip2命令)。
语法1
2
tar(选项)(参数)
选项1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23-A或--catenate:新增文档到以存在的备份文档;
-B:设置区块大小;
-c或--create:建立新的备份文档;
-C :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-d:记录文档的差别;
-x或--extract或--get:从备份文档中还原文档;
-t或--list:列出备份文档的内容;
-z或--gzip或--ungzip:通过gzip命令处理备份文档;
-Z或--compress或--uncompress:通过compress命令处理备份文档;
-f或--file=:指定备份文档;
-v或--verbose:显示命令执行过程;
-r:添加文档到已经压缩的文档;
-u:添加改变了和现有的文档到已经存在的压缩文档;
-j:支持bzip2解压文档;
-v:显示操作过程;
-l:文档系统边界设置;
-k:保留原有文档不覆盖;
-m:保留文档不被覆盖;
-w:确认压缩文档的正确性;
-p或--same-permissions:用原来的文档权限还原文档;
-P或--absolute-names:文档名使用绝对名称,不移除文档名称前的“/”号;
-N 或 --newer=:只将较指定日期更新的文档保存到备份文档里;
--exclude=:排除符合范本样式的文档。
参数
文档或目录:指定要打包的文档或目录列表。
实例1
2
3
4
5- z:有gzip属性的
- j:有bz2属性的
- Z:有compress属性的
- v:显示所有过程
- O:将文档解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。1
2
3
4
5
6
7
8
9
10
11tar -cf all.tar *.jpg
tar -rf all.tar *.gif
tar -uf all.tar logo.gif
# 这条命令是更新原来tar包all.tar中logo.gif文档,-u是表示更新文档的意思。
tar -tf all.tar
# 这条命令是列出all.tar包中所有文档,-t是列出文档的意思1
2
3tar -cfv archive.tar foo bar # 从文档foo和bar创建archive.tar。
tar -tvf archive.tar # 详细列出archive.tar中的所有文档。
tar -xf archive.tar # 从archive.tar提取所有文档。
zip格式
压缩: zip -r [目标文档名].zip [原文档/目录名]
解压: unzip [原文档名].zip
注:-r参数代表递归
tar格式(该格式仅仅打包,不压缩)
打包:tar -cvf [目标文档名].tar [原文档名/目录名]
解包:tar -xvf [原文档名].tar
注:c参数代表create(创建),x参数代表extract(解包),v参数代表verbose(详细信息),f参数代表filename(文档名),所以f后必须接文档名。
tar.gz格式
方式一:利用前面已经打包好的tar文档,直接用压缩命令。
压缩:gzip [原文档名].tar
解压:gunzip [原文档名].tar.gz
方式二:一次性打包并压缩、解压并解包
打包并压缩: tar -zcvf [目标文档名].tar.gz [原文档名/目录名]
解压并解包: tar -zxvf [原文档名].tar.gz
注:z代表用gzip算法来压缩/解压。
tar.bz2格式
方式一:利用已经打包好的tar文档,直接执行压缩命令:
压缩:bzip2 [原文档名].tar
解压:bunzip2 [原文档名].tar.bz2
方式二:一次性打包并压缩、解压并解包
打包并压缩: tar -jcvf [目标文档名].tar.bz2 [原文档名/目录名]
解压并解包: tar -jxvf [原文档名].tar.bz2
注:小写j代表用bzip2算法来压缩/解压。
tar.xz格式
方式一:利用已经打包好的tar文档,直接用压缩命令:
压缩:xz [原文档名].tar
解压:unxz [原文档名].tar.xz
方式二:一次性打包并压缩、解压并解包
打包并压缩: tar -Jcvf [目标文档名].tar.xz [原文档名/目录名]
解压并解包: tar -Jxvf [原文档名].tar.xz
注:大写J代表用xz算法来压缩/解压。
tar.Z格式(已过时)
方式一:利用已经打包好的tar文档,直接用压缩命令:
压缩:compress [原文档名].tar
解压:uncompress [原文档名].tar.Z
方式二:一次性打包并压缩、解压并解包
打包并压缩: tar -Zcvf [目标文档名].tar.Z [原文档名/目录名]
解压并解包: tar -Zxvf [原文档名].tar.Z
注:大写Z代表用ncompress算法来压缩/解压。另,ncompress是早期Unix系统的压缩格式,但由于ncompress的压缩率太低,现已过时。
jar格式
压缩:jar -cvf [目标文档名].jar [原文档名/目录名]
解压:jar -xvf [原文档名].jar
注:如果是打包的是Java类库,并且该类库中存在主类,那么需要写一个META-INF/MANIFEST.MF配置文档,内容如下:1
2
3Manifest-Version: 1.0
Created-By: 1.6.0_27 (Sun Microsystems Inc.)
Main-class: the_name_of_the_main_class_should_be_put_here
然后用如下命令打包:
jar -cvfm [目标文档名].jar META-INF/MANIFEST.MF [原文档名/目录名]
这样以后就能用“java -jar [文档名].jar”命令直接运行主类中的public static void main方法了。
7z格式
压缩:7z a [目标文档名].7z [原文档名/目录名]
解压:7z x [原文档名].7z
注:这个7z解压命令支持rar格式,即:
7z x [原文档名].rar
其它例子
将文档全部打包成tar包 :1
2
3tar -cvf log.tar log2012.log 仅打包,不压缩!
tar -zcvf log.tar.gz log2012.log 打包后,以 gzip 压缩
tar -jcvf log.tar.bz2 log2012.log 打包后,以 bzip2 压缩
在选项f之后的文档档名是自己取的,我们习惯上都用 .tar 来作为辨识。 如果加z选项,则以.tar.gz或.tgz来代表gzip压缩过的tar包;如果加j选项,则以.tar.bz2来作为tar包名。
解压目录
去掉第一层目录结构,要出除第二层,–strip-components 21tar -xvf portal-web-v2.0.0.tar --strip-components 1 -C 指定目录
查阅上述tar包内有哪些文档 :1tar -ztvf log.tar.gz
由于我们使用 gzip 压缩的log.tar.gz,所以要查阅log.tar.gz包内的文档时,就得要加上z这个选项了。
将tar包解压缩 :1tar -zxvf /opt/soft/test/log.tar.gz
在预设的情况下,我们可以将压缩档在任何地方解开的
只将tar内的部分文档解压出来 :1tar -zxvf /opt/soft/test/log30.tar.gz log2013.log
我可以透过tar -ztvf来查阅 tar 包内的文档名称,如果单只要一个文档,就可以透过这个方式来解压部分文档!
文档备份下来,并且保存其权限 :1tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log
这个-p的属性是很重要的,尤其是当您要保留原本文档的属性时。
在文档夹当中,比某个日期新的文档才备份 :1tar -N "2012/11/13" -zcvf log17.tar.gz test
备份文档夹内容是排除部分文档:1tar --exclude scf/service -zcvf scf.tar.gz scf/*
其实最简单的使用 tar 就只要记忆底下的方式即可:1
2
3压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文档或目录名称
查 询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
这篇关于linux tar xzmf,每天学点linux命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!