使用tar压缩文件夹中的文件

时间:2015-03-24 12:42:39

标签: bash shell unix

我正在编写一个循环,它应该将当前目录中的所有文件压缩为tar文件。

有一个if语句来检查tar文件是否已经存在,如果是,则将文件附加到其上。

FILE_NAME_ARCHIVE=sjohal_Jan_archive.tar

cd  /archive/sjohal/Jan

for file in `/bin/ls -1`
do  
 if [ -f $FILE_NAME_ARCHIVE ]
  then
    tar -cuf $FILE_NAME_ARCHIVE $file
 else
    tar -ruf $FILE_NAME_ARCHIVE $file
 fi
done

但由于某种原因,我得到了错误     " tar:您可能不会指定多个`-Acdtrux'选项"

1 个答案:

答案 0 :(得分:1)

您正在使用-cuf-ruf但是,正如该错误消息所表明的那样,您不能使用多个-c-r和{ {1}}立刻。

据说你不需要做任何这些。使用-utar时,-r应该可以创建一个不存在的tar文件,这样您就可以完全避免检查。

另请注意,-u将复制tarball中的文件,因此tarball将按更新文件的大小增长(它不会删除旧文件)。