![解压现有文件夹并删除磁盘上不存在的文件](https://linux22.com/image/11155/%E8%A7%A3%E5%8E%8B%E7%8E%B0%E6%9C%89%E6%96%87%E4%BB%B6%E5%A4%B9%E5%B9%B6%E5%88%A0%E9%99%A4%E7%A3%81%E7%9B%98%E4%B8%8A%E4%B8%8D%E5%AD%98%E5%9C%A8%E7%9A%84%E6%96%87%E4%BB%B6.png)
假设磁盘上有 3 个文件f1
、f2
1f3
个文件夹testfolder
。仅在我的档案中f4
存在f5
文件。
在解压操作之后f1
,我想要删除/删除 , , 文件,因为它们不存在于存档中f2
。f3
同时需要排除一些文件/文件夹,并且只有f4
带有f5
test 文件夹的文件应该存在于磁盘上。
那可能吗?我该怎么做呢?
答案1
假设“tarfile.tar”是您的 tar 存档,“originaldir”是 testfolder、f1、f2、f3 当前存在的目录
$ mkdir untardir
$ ls
originaldir tarfile.tar untardir
$ tar -C untardir -xvf tarfile.tar
$ rsync -av originaldir/testfolder/ untardir/testfolder/
$ rsync --delete -av untardir/ originaldir/
$ rm -rf untardir