いくつかのファイルが含まれるディレクトリ/foo
がある場合、/foo
の各エントリを/bar/
にシンボリックリンクする方法を教えてください。
たとえば、/foo
にファイルa
、b
、c
がある場合、3つのシンボリックリンクを作成します。
/bar/a -> /foo/a
/bar/b -> /foo/b
/bar/c -> /foo/c
(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$
これを試してみてください:
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
このようなもの?
cd /foo
for f in *; do ln -s $PWD/$f /bar; done