当我想在相对path中创build一个tar档案时,我可以这样做:
tar cf archiveName.tar -C relative/path someDirectory
但是当我想更新档案时,这个
tar uf archiveName.tar -C relative/path someDirectory
给我以下错误:
tar: someDirectory/someFile: Cannot stat: No such file or directory ... (same error for all files and dirs in someDirectory) tar: Exiting with faliure...
我错过了什么吗?
尽pipeGNU tar的man页面没有提到,但是我想知道-C选项只能用于c (create)或r (replace)操作。
Unix man page写道:
-C目录文件
对目录执行chdir(请参阅cd(1))操作,并对文件执行c(创build)或r(replace)操作。 使用短的相对path名称的文件。 如果文件是“。”,则将所有文件归档到目录中。 此选项可以使多个目录中的文件归档,这些文件与亲密的共同父项无关。
所以,你可以使用r (replace)选项:
tar rf archiveName.tar -C relative/path someDirectory