欢迎来到代码驿站!

Linux

当前位置:首页 > 服务器 > Linux

linux中tar打包指定路径文件的实现方法

时间:2021-01-17 14:05:51|栏目:Linux|点击:

压缩:

tar czvf /data/backup/test.tar.gz /data/a/b/directory

解压:

cd /data/test
tar xzvf /data/backup/test.tar.gz

问题是,解压后的文件,在/data/test/data/a/b/directory里面

要想解压在当前目录路径。


这样写就可以解决了

tar czvf /data/backup/test.tar.gz /data/a/b/directory

改成

tar czvf /data/backup/test.tar.gz -C /data/a/b directory

-C是临时切换工作目录,-P是绝对路径,在这里只用到-C参数就行了


例如

要打包 /home/YingMu/ 文件夹且排除 /home/YingMu/jb51.net 文件夹

tar -czvf YingMu.tar /home/YingMu/ --exclude /home/YingMu/jb51.net

排除多个文件夹则在命令中添加多个目录 --exclude 目录名,例如:

tar -czvf YingMu.tar /home/YingMu/ --exclude /home/YingMu/jb51.net --exclude /home/YingMu/QQ

排除文件的话把上面的目录名改为类似 *.gif 的排除规则即可。


范例三:将 /tmp/etc.tar.gz 档案解压缩在 /usr/local/src 底下

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

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

# 在预设的情况下,我们可以(www.jb51.net)将压缩档在任何地方解开的!以这个范例来说,

# 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz ,

# 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc

# 则会发现,该目录下的档案属性与 /etc/ 可能会有所不同喔!

 

范例四:在 /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 内的根目录 / 是被拿掉了!

 
范例五:将 /etc/ 内的所有档案备份下来,并且保存其权限!

[root@linux ~]# tar -czvpf /tmp/etc.tar.gz /etc
# 这个 -p 的属性是很重要的,尤其是当您要保留原本档案的属性

tar 主要命令

-c 创建包
-x 解包
-t 列出包中的内容
-r 增加文件到指定包中
-u 更新包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

可选命令

-j 创建或解开包时 使用bzip2 进行压缩或解压
-z 创建或解开包时 使用gzip 进行压缩或解压
-Z 创建或解开包时 使用compress 进行压缩或解压
-f 后面跟指定的包文件名
-v 显示打包/解包过程
-C 指定解包后的路径

上一篇:阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器

栏    目:Linux

下一篇:Apache添加多端口及实现单ip多端口映射的方法

本文标题:linux中tar打包指定路径文件的实现方法

本文地址:http://www.codeinn.net/misctech/46363.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有