Linux命令复制为硬链接,同时删除不需要的文件?

Linux命令复制为硬链接,同时删除不需要的文件?

我正在寻找一个行为类似于

cp -al

仅创建硬链接而不是复制文件内容,以及

rsync -a --delete

从目标中删除源中不存在的文件。我研究了rsync与硬链接相关的选项,但它们似乎无法仅有的创建硬链接。

Linux 上有这样的命令吗?

答案1

假设您正在使用名为“src”和“dest”的目录,分别作为副本的源和目标。您可以使用以下命令管道来消除源中不存在的目标文件:

find src/* dest/* |cut -d'/' -f2- |sort |uniq -u |xargs printf "dest/%s\n" |xargs rm -f

请注意,这仅在您的文件名不包含空格或\'".

相关内容