当前位置: 首页 > 资讯 > >正文

linux tar命令详解_linux系统中tar命令的使用详解-全球球精选

来源:互联网    时间:2023-02-09 01:01:59

linux系统中tar命令的使用详解

一、tar命令的用法

#压缩


(资料图)

tar -czvf ***.tar.gz

tar -cjvf ***.tar.bz2

#解压

tar -xzvf ***.tar.gz

tar -xjvf ***.tar.bz2

二、tar命令参数描述

-c:创建压缩文件的参数指令(意为创建);

-x:解锁一个压缩文件的参数命令!

-t:检查tarfile中的文件!

注意参数发布中只能存在一个c/x/t!不能同时存在!

因为压缩和解压是不可能同时进行的。

-z:你同时有gzip的属性吗?也就是需要gzip压缩吗?

-j:你同时拥有bzip2的属性吗?也就是需要用bzip2压缩吗?

-v:在压缩过程中显示文件!这是常用的,但不建议后台执行!

-f:请注意使用文件名,您应该在f之后立即收到文件名!没有更多的参数!

比如用“tar-zcvfp tfile sfile”就是错误的写法。应该写成

“tar-zcvpf tfile sfile”没错!

-p:使用原始文件的原始属性(该属性不会根据用户而改变)

-P:可以用绝对路径压缩!

-N:晚于以下日期(yyyy/mm/dd)的数据将被打包到新创建的文件中!

-排除文件:在压缩的过程中,不要打包文件!

三。tar命令用法示例

例1:将整个/etc目录下的所有文件打包到/tmp/etc.tar中。

[root @ Linux ~]# tar-CVF/tmp/etc . tar/etc==只打包,不压缩!

[root @ Linux ~]# tar-czvf/tmp/etc . tar . gz/etc==打包后用gzip压缩。

[root @ Linux ~]# tar-cjvf/tmp/etc . tar . bz2/etc==打包后用bzip2压缩。

#特别注意参数f后面的文件名是我们自己选的,我们习惯用。焦油作为身份证明。

#如果添加了z参数,则gzip压缩的tar文件由tar.gz或。tgz ~

#如果加上J参数,用tar.bz2作为文件名~

#当执行上述命令时,将显示一条警告消息:

# "tar:从成员名中删除前导`/"这是关于绝对路径的特殊设置。

例2:上面的/tmp/etc.tar.gz文件中有哪些文件?

[root @ Linux ~]# tar-tzvf/tmp/etc . tar . gz

#因为我们使用gzip压缩,所以当我们想查阅这个tar文件中的文件时,

#你得加上参数Z!这一点很重要!

例3:解压/usr/local/src下的/tmp/etc.tar.gz文件。

[root@linux ~]# cd /usr/local/src

[root @ Linux src]# tar-xzvf/tmp/etc . tar . gz

#默认情况下,我们可以在任何地方解锁压缩文件!在这个例子中,

#我先改一下/usr/local/src下的工作目录,解锁/tmp/etc.tar.gz,

#那么解锁的目录会在/usr/local/src/etc!另外,如果你去/usr/local/src/etc

#你会发现这个目录下的文件属性可能和/etc/!

例4:在/tmp下,我只想解锁/tmp/etc.tar.gz中的etc/passwd。

[root@linux ~]# cd /tmp

[root @ Linux tmp]# tar-xzvf/tmp/etc . tar . gz etc/passwd

#我可以通过tar -tzvf检查tarfile中的文件名。如果只有一个文件,

#可以这样发!注意!etc.tar.gz的根目录/已经被删除了!

例5:备份/etc/中的所有文件,并保存它们的权限!

[root @ Linux ~]# tar-czvpf/tmp/etc . tar . gz/etc

#这个-p的属性很重要,尤其是你想保留原文件的属性的时候!

示例6:在/home中,仅备份比2005/06/01更新的文件

[root @ Linux ~]# tar-N " 2005/06/01 "-czvf home.tar.gz/home

示例7:我想备份/home、/etc,但不想备份/home/DMS tsai。

[root @ Linux ~]# tar-exclude/home/DM tsai-czvf myfile.tar.gz/home/*/etc

例8:打包/etc/并直接在/tmp下解包,不生成文件!

[root@linux ~]# cd /tmp

[root @ Linux tmp]# tar-CVF-/etc | tar-xvf-

#这个动作有点像cp -r /etc /tmp ~还是有它的用处的!

#注意输出文件变成了-而输入文件变成了-,还有一个|存在~

#这分别代表标准输出、标准输入和管道命令!

#这部分我们会再次提到这个指令,用Bash shell给你解释!

新增:tar如何将文件解压到指定目录?

tar czvf mysql.tar.gz

压缩文件,我想把它们解压到当前目录而不是绝对路径。我如何提取它们?

tarcxvf mysql.tar.gz将覆盖/var/lib/mysql下的所有文件,对吗?现在有一个表坏了,我想单独恢复一个表的数据,而不是所有的数据库,所以要解压到指定的目录,然后找不到那个表的数据才能恢复。

============================================

# tar zxvf mysql.tar.gz-C/home/AAA

============================================

tar zxvf mysql.tar.gz-C/home/AAA

在这种情况下,解压缩后的目录结构是怎样的?

/home/aaa/var/lib/mysql?

============================================

试试就知道了。

============================================

归档文件中的所有文件都是相对引用,归档文件在当前目录中解压缩(释放)。归档文件总是被释放到当前目录,以防止文件系统中重名的文件被损坏。

所以楼主解压不会覆盖/var/lib/mysql,只会在当前目录之前释放,也就是。/var/lib/mysql。如果要覆盖,请在存档和解压缩时使用-P参数:

tar zcff mysql.tar.gz-P/var/lib/MySQL

tar-Pzxvf mysql.tar.gz

本文到此结束,希望对大家有所帮助。

X 关闭

推荐内容

最近更新

Copyright ©  2015-2022 华中珠宝网版权所有  备案号:京ICP备12018864号-26   联系邮箱:2 913 236 @qq.com