15

Если у меня есть каталог /foo с несколькими файлами в нем, как мне вставить ссылку на каждую запись в /foo в /bar/?

Например, если /foo имеет файлы a , b и c , я хочу создать три символические ссылки:

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

3 ответа3

15

Попробуйте это:

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
15

Вы можете использовать (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

Что-то вроде этого?

cd /foo
for f in *; do ln -s $PWD/$f /bar; done

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .