我正在寻找一个行为类似于
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
请注意,这仅在您的文件名不包含空格或\'"
.