如何tar文件树的分支?

时间:2016-05-02 06:24:53

标签: linux bash tar

我目前在这条路径上有一些文件和目录: 的/ var / TMP / MYDIR /

我想tar整个路径,排除'var'和'tmp'中的任何其他内容。 例如:

$ ls /var
tmp
dir1 *(exclude)*
file1 *(exclude)*

$ ls /var/tmp
mydir
dir2 *(exclude)*
file2 *(exclude)*

$ ls /var/tmp/mydir
tarme1
tarme2
tarme3

在这种情况下,我想tar目录树/ var / tmp / mydir和'mydir'的内容。

2 个答案:

答案 0 :(得分:0)

使用tar -cf <archive_name>.tar /var/tmp/mydir可以满足您的需求。

使用man tar获得更多帮助(应该很容易理解)。

如果您想以其他方式修改路径,请考虑使用-C开关。来自man

 -C, --directory DIR
       change to directory DIR

答案 1 :(得分:-1)

待办事项

tar -c --recursion --file backup.tar tmp/mydir

 tar -tvf backup.tar 

给了我:

drwxrwxr-x ssam/ssam         0 2016-05-02 12:02 tmp/mydir/
-rw-rw-r-- ssam/ssam         0 2016-05-02 12:02 tmp/mydir/tarme3
-rw-rw-r-- ssam/ssam         0 2016-05-02 12:02 tmp/mydir/tarme1
-rw-rw-r-- ssam/ssam         0 2016-05-02 12:02 tmp/mydir/tarme2

这就是你所需要的。您可以使用

提取/恢复它
tar -xf backup.tar -C /var

请记住,这将覆盖 mydir

中的文件