linux中tar打包指定路径文件的实现方法
压缩:
tarczvf/data/backup/test.tar.gz/data/a/b/directory
解压:
cd/data/test
tarxzvf/data/backup/test.tar.gz
问题是,解压后的文件,在/data/test/data/a/b/directory里面
要想解压在当前目录路径。
这样写就可以解决了
tarczvf/data/backup/test.tar.gz/data/a/b/directory
改成
tarczvf/data/backup/test.tar.gz-C/data/a/bdirectory
-C是临时切换工作目录,-P是绝对路径,在这里只用到-C参数就行了
例如
要打包/home/YingMu/文件夹且排除/home/YingMu/jb51.net文件夹
tar-czvfYingMu.tar/home/YingMu/--exclude/home/YingMu/jb51.net
排除多个文件夹则在命令中添加多个目录--exclude目录名,例如:
tar-czvfYingMu.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@linuxsrc]#tar-xzvf/tmp/etc.tar.gz
#在预设的情况下,我们可以(www.nhooo.com)将压缩档在任何地方解开的!以这个范例来说,
#我先将工作目录变换到/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@linuxtmp]#tar-xzvf/tmp/etc.tar.gzetc/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中tar打包指定路径文件的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。