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

Compressing files in a folder using tar

我正在编写一个循环,它将当前目录中的所有文件压缩到一个 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: You may not specify more than one `-Acdtrux' option"

您正在使用 -cuf-ruf 但是,正如该错误消息所表明的那样,您不能使用 -c-r-u一次。

话虽这么说,您不需要执行任何这些操作。 tar 应该可以创建一个 tar 文件,该文件在使用 -r-u 时不存在,因此您可以完全避免检查。

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