![](/img/trans.png)
[英]Regarding linux cp same directory Similar files to other directory and rename?
[英]link files within directory, with simple command similar to cp
我的问题的出处:
cp source/files.all destination/
, source
所有文件现在也将存在于destination
题:
如果我不想将数据从source
复制到destination
,而只是将它们链接( 使用绝对路径 )怎么办。 通常,我会运行类似:
for f in $(ls source/); do ln -s $(pwd)/${f} $(pwd)/destination; done
有没有我可以使用的简单命令/工具(例如ln -a source/files.all destination/
),它可以创建到目录中所有文件的软链接,同时自动添加绝对路径作为前缀。 ln -r
接近我所需要的,但是绝对路径而不是相对路径?
我会用find "$PWD/source" -exec ln -s {} destination \\;
。 用作find
的第一个参数的绝对路径将导致{}
被每个命令的源文件的绝对路径替换。
GNU ln
支持-t
选项来指定目标目录,从而允许您使用更有效的find
调用:
find "$PWD/source" -exec ln -s -t destination {} +
-exec ... +
格式要求{}
为命令中的最后一个参数; -t
使您可以向上移动目标参数以适应该要求。
因此,我最终找到了一种简单的方法来执行此操作:
只需运行ln -s $(pwd -P)/source/* destination/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.