我使用此脚本对文件进行皮重处理
tar -cvf test.tar -C /home/user/Desktop/filestoTar File_one zap_file
tar -rvf test.tar -C /home/user/Downloads/test Auto_file rocket_file
我想解压它们,并希望解压它们时的目录包含
Auto_file
File_one
rocket_file
zap_file
按这个顺序。我怎样才能实现它?另外我的代码和有什么区别
tar -cvf test.tar -C /home/user/Desktop/filestoTar File_one zap_file &&\
tar -rvf test.tar -C /home/user/Downloads/test Auto_file rocket_file
似乎&&\
什么也没做
答案1
tar -r
用于将文件附加到存档的末尾,因此您必须更改 tar 命令的顺序才能实现您想要的效果。
至于第二部分 -&&
在 bash 中是逻辑 AND - 仅当第一个命令完成且没有错误时才执行下一个命令。
换句话说 - 即使第一个命令失败,第一个命令也会尝试追加文件,而第二种形式将确保除非第一个 tar 成功,否则不会尝试第二个 tar。
对于你的问题,一个天真的方法是这样的:
tar -cvf test.tar -C /home/user/Downloads/test Auto_file && tar -rvf test.tar -C /home/user/Desktop/filestoTar File_one && tar -rvf test.tar -C /home/user/Downloads/test rocket_file && tar -rvf test.tar -C /home/user/Desktop/filestoTar zap_file