tar Linux命令排除子目录的层次结构(但包括他们的文件)

时间:2012-10-31 07:57:50

标签: linux file command directory tar

我的文件夹a包含两个文件(1,2),子文件夹b包含另外两个文件(3,4)。

我想在tar文件中使用'1,2,3,4'文件tar a,但不包括b

(默认情况下(tar cvf),b已添加,“3,4”位于b内。我该怎么做?)

由于

1 个答案:

答案 0 :(得分:1)

你可以使用这样的脚本:

# ! /bin/sh
files=`cat list.list`
tarname="test.tar"
tarpath=`pwd`
#create empty tar
tar -cvf $tarpath/$tarname --files-from /dev/null

for curr_file in $files
do
   #add each file separatly
   cd `dirname $curr_file`
   tar -uvf $tarpath/$tarname `basename $curr_file`
   cd -
done

并使用如下命令创建文件列表:

find -type f > list.list