如何将一个目录中的每个文件符号链接到另一个目录?

Ste*_*ven 18 linux mac bash command-line

如果我有一个/foo包含几个文件的目录,我如何将每个条目符号链接/foo/bar/

例如,如果/foo有文件a,bc,我想创建三个符号链接:

  • /bar/a -> /foo/a
  • /bar/b -> /foo/b
  • /bar/c -> /foo/c

Den*_*son 22

试试这个:

ln -s /foo/* /bar
Run Code Online (Sandbox Code Playgroud)

问题中指定的源目录是/foo. 请注意,它必须完全指定(即从根目录开始),因此其他示例如下所示:

ln -s /some/dir/with/baz/* destdir
ln -s /dir/to/link/from/* /dir/to/link/to
ln -s $PWD/stuff/* more/stuff
Run Code Online (Sandbox Code Playgroud)


hlo*_*dal 21

您可以使用(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$
Run Code Online (Sandbox Code Playgroud)