linux基础服务器运维命令之tar命令

Linux运维中,对于压缩常用的命令主要有targzip/gunzipbzip2/bunzip2,而使用最多的就是tar指令,tar指令参数非常多,功能也很强大,但使用最频繁的参数只有几个,也就是只需要记住这几个参数就能轻松玩转tar命令了。

输入图片说明

文件归档并压缩解压命令tar

tarLinux下经常使用的归档工具,可以对文件或者目录进行打包归档,归成一个文件,但是并不进行压缩。其格式如下:

tar [主选项+辅助选共享] 文件或者目录

tar命令的选项很多,这里列出一些经常用到

主选项

主选项含义
-c创建新的文件
-r把要归档的文件追加到档案文件的末尾
-t列出档案文件中已经归档的文件列表
-x从打包的档案文件中还原出文件
-u更新档案文件,用新的文件替换档案中的原始文件

辅助选项

辅助选项含义
-z调用Gzip命令在文件打包的过程中压缩/解压文件
-w在还原文件时,把所有文件的修改时间设定为现在的时间
-j调用bzip2命令在文件打包的过程中压缩/解压文件
-f该选项后面紧跟着文件的存储设备,默认时磁盘,这里注意的时-f是最后的一个选项,后面不能跟其他的选项
-Z调用compress命令过滤档案
-v指定在创建归档文件过程中,显示各个归档文件的名称
-p在文件归档的过程中,保持文件的属性不发生变化
--exclude file在打包的过程中,不将指定的file文件打包

1)将/etc目录下的所有文件打包,并显示打包的详细文件,设置打包文件名为etc.tar,同时保存文件到/opt目录下。

tar -cvf /opt/ect.tar /etc

这里的档案名为etc.tar,档案名可以随意起,Linux上利用tar命令打包出来的档案文件一般用.tar作为标识。

2)将/etc目录下的所有文件打包并压缩,然后显示打包的详细文件,设置打包文件名为etc.tar.gz,同时保存文件到/opt目录下。

tar -zcvf /opt/etc.tar.gz /etc
tar -jcvf /opt/etc.tar.bz2 /etc

zcvf选项表示在打包完成后调用gzip命令对档案文件进行压缩,这里的档案名etc.tar.gz也可以随意起,.tar表示是用tar命令打包的,.gz表示调用了gzip命令进行了压缩。同理,jcvf选项表示在打包完成后调用bzip2命令对档案文件进行压缩,档案命名标识中.bz2表示调用了bzip2命令进行了压缩处理。

这里对档案文件的命名没有硬性的规定,上面采用的命名规则可以很方便地让人们知道文件的类型以及对应的解压方式,因为压缩方式不同,解压方式也是不同的。同时,这种规则也是大家都默许了的一种潜规则。如果读者不喜欢这种规则,完全可以按照自己喜欢的方式命名档案文件。

3)查阅上面/opt/etc.tar.gz压缩包的内容。

tar -ztvf /opt/etc.tar.gz
tar -jtvf /opt/ect.tar.bz2

注意:etc.tar.gz可能包含很多个文件,无法一个屏幕显示完毕,这时可以使用more命令,例如,tar-zxvf/opt/etc.tar.gz|more。

4)将/opt/etc.tar.gz解压到/usr/local/src下。

cd /usr/local/src
tar -zxvf /opt/etc.tar.gz

一般情况下,可以把/opt/etc.tar.gz在任何地方解压,这里首先切换到了/usr/local/src目录下,然后解压/opt/etc.tar.gz,因此/usr/local/src/etc目录就是解压的目录。

5)将/etc目录下的所有文件打包备份到/opt目录下,并保存每个文件的权限。

tar -zcvpf /opt/etc.tar.gz /etc

6)在/opt目录下,仅解压/opt/etc.tar.gz压缩文件中的/etc/inittab文件。

cd /opt
tar -zxvf /opt/etc.tar.gz etc/inittab

首先可以通过tar-ztvf查看etc.tar.gz文件中包含的文件,然后找到需要解压的文件,通过上面的方式解压。后面指定的需要解压出来的文件一定要是通过tar-ztvf显示出来的文件完整路径。这样就在/opt目录下解压出了一个etc目录,而etc目录下的inittab就是需要的文件。


更多的示例后续会更新上

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我