シェルスクリプトのサブディレクトリにあるファイルを別のサブディレクトリにリンクする方法

シェルスクリプトのサブディレクトリにあるファイルを別のサブディレクトリにリンクする方法

私の現在のディレクトリには2つのディレクトリがありtest1ますtest2
file1に存在しますtest1

フォルダにシンボリックリンクを作成するにはtest2/linfile1

リンク操作後、リンクされたファイルはtest2/lin以下を指す必要があります。test1/file1

答え1

システムのシンボリックリンクチェックはターゲットに基づいています(もちろん、リンクが絶対的な場合を除く)。

したがって、最終ディレクトリに入ったと見なさなければならない。この場合、これは次のようになります(明示的にターゲットと名付けられます)。

cd test2/lin
ln -s ../../test1/file1 file1

ソースは変更されません。これはシンボリックリンクの有用な「コンテンツ」です。したがって、ディレクトリを変更しない場合は、次の手順を実行します。

ln -s ../../test1/file1 test2/lin/file1

答え2

現在のディレクトリではln -s test1/file1 test2/lin

絶対パスを使用することもできます。
ディレクトリにtest1次のコマンドがtest2ある場合、/absolute/path/to/my2subdirsコマンドはdirになり、ln -s /absolute/path/to/my2subdirs/test1/file1 /absolute/path/to/my2subdirs/test2/linそのディレクトリの外で実行できます。

関連情報