停止“cp -al”尝试链接到隐藏文件?

停止“cp -al”尝试链接到隐藏文件?

在使用 unison 将我的主目录与另一台计算机同步之前,我想先创建我的主目录的“硬链接”副本,以防 unison 出现问题。

cp -al尝试链接到全部文件,包括隐藏的 . 文件,这会导致很多错误。我并没有尝试同步 . 隐藏文件或任何“系统”文件,只是同步我自己的数据。

有什么方法可以让 cp -al 忽略 .hidden 文件吗?或者有其他命令cp -al可以忽略 .hidden 文件?

答案1

通常,跳过主目录第一级的隐藏文件和隐藏目录就足够了,然后以下命令应该可以工作,

cp -avl "$HOME"/* outputdir

通配符*不会选择隐藏文件和隐藏目录进行复制。该选项v将显示复制了哪些文件(在测试时很有用)。


请记住,硬链接只能在同一分区内起作用,并且只能用于文件。您需要跨分区和目录的符号链接。

所以cp 副本将目录移至新的 inode 并硬链接将文件移动到与相应源文件相同的 inode。

相关内容