我正在编写一个循环,它应该将当前目录中的所有文件压缩为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'选项"
答案 0 :(得分:1)
您正在使用-cuf
和-ruf
但是,正如该错误消息所表明的那样,您不能使用多个-c
,-r
和{ {1}}立刻。
据说你不需要做任何这些。使用-u
或tar
时,-r
应该可以创建一个不存在的tar文件,这样您就可以完全避免检查。
另请注意,-u
将复制tarball中的文件,因此tarball将按更新文件的大小增长(它不会删除旧文件)。