使用 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 将根据更新文件的大小增长(它不会删除旧文件).
我正在编写一个循环,它将当前目录中的所有文件压缩到一个 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 将根据更新文件的大小增长(它不会删除旧文件).