如果我有一个/foo
包含几个文件的目录,我该如何将其中的每个条目符号链接/foo
到/bar/
?
例如,如果/foo
有文件a
,b
和c
,我想要创建三个符号链接:
/bar/a -> /foo/a
/bar/b -> /foo/b
/bar/c -> /foo/c
答案1
您可以使用 (GNU)cp
和以下--symbolic-link
选项:
prompt$ mkdir foo
prompt$ cd foo
prompt$ touch a b c
prompt$ mkdir ../bar
prompt$ cd ../bar
prompt$ cp --symbolic-link ../foo/* .
prompt$ ls -l
total 0
lrwxrwxrwx. 1 hlovdal hlovdal 8 Jun 12 16:24 a -> ../foo/a
lrwxrwxrwx. 1 hlovdal hlovdal 8 Jun 12 16:24 b -> ../foo/b
lrwxrwxrwx. 1 hlovdal hlovdal 8 Jun 12 16:24 c -> ../foo/c
prompt$
答案2
尝试一下:
ln -s /foo/* /bar
问题中指定的源目录是/foo
。请注意,必须完全指定(即从根目录开始),因此其他示例如下所示:
ln -s /some/dir/with/baz/* destdir
ln -s /dir/to/link/from/* /dir/to/link/to
ln -s $PWD/stuff/* more/stuff
答案3
像这样吗?
cd /foo
for f in *; do ln -s $PWD/$f /bar; done