我想用 tar 提取文件,这样整个目录都将被覆盖。我添加了--overwrite-dir
但目录中仍有旧文件test
。为了进行测试,我/home/ubuntu/f1/test/first.log
有/home/ubuntu/f2/test/second.log
然后我跑进去/home/ubuntu/f1
tar cvf - ./test | sudo tar -C /home/ubuntu/f2 --overwrite-dir -xvf -
本来ls /home/ubuntu/f2/test
期望只看到第二个.log 文件。但我同时看到了两个。只用 tar 可以吗?
答案1
您正在寻找的参数是--recursive-unlink
--recursive-unlink 在提取目录之前清空层次结构
tar cf - ./test | sudo tar -C /home/ubuntu/f2 --overwrite-dir --recursive-unlink -xf -