ファイルとディレクトリがあるとしましょう。
$ ls -l
total 4
drwxrwxr-x. 2 user user 4096 Oct 8 09:53 dir
-rw-rw-r--. 1 user user 0 Oct 8 09:53 file
私はというfile
シンボリックリンクsymlink1
とdir
次のシンボリックリンクを作成しましたdirslink1
。
$ ls -l
drwxrwxr-x. 2 user user 4096 Oct 8 09:53 dir
lrwxrwxrwx. 1 user user 3 Oct 8 10:03 dirslink1 -> dir
-rw-rw-r--. 5 user user 0 Oct 8 09:53 file
lrwxrwxrwx. 1 user user 4 Oct 8 09:53 symlink1 -> file
次に、次のようにsymlink1
シンボリックリンクを作成しますln -s
。ln -sL
$ ln -s symlink1 symlink2
$ ln -sL symlink1 symlink3
$ ln -s dirslink1 dirslink2
$ ln -sL dirslink1 dirslink3
今私が理解したところによると、symlink3
を指してfile
指しdirslink3
ている必要がありますdir
。ただし、確認しても、symlink[23]
どちらもdirslink[23]
元のファイルやディレクトリを指していません。
$ ls -l
drwxrwxr-x. 2 user user 4096 Oct 8 09:53 dir
lrwxrwxrwx. 1 user user 3 Oct 8 10:03 dirslink1 -> dir
lrwxrwxrwx. 1 user user 9 Oct 8 10:03 dirslink2 -> dirslink1
lrwxrwxrwx. 1 user user 9 Oct 8 10:03 dirslink3 -> dirslink1
-rw-rw-r--. 5 user user 0 Oct 8 09:53 file
lrwxrwxrwx. 1 user user 4 Oct 8 09:53 symlink1 -> file
lrwxrwxrwx. 1 user user 8 Oct 8 09:54 symlink2 -> symlink1
lrwxrwxrwx. 1 user user 8 Oct 8 09:54 symlink3 -> symlink1
問題は、他のシンボリックリンクを使用して元のファイルへのシンボリックリンクを作成することが可能かどうかです。
ベストアンサー1
-L
ハードリンクにのみ適用されます。POSIXで指定:
もし-Sオプションを指定した後、-エルそして-血オプションは自動的に無視されます。
お持ちの場合は、readlink
次のように使用できます。
ln -s -- "$(readlink symlink1)" symlink4
readlink
このオプションをサポートしている場合は、-f
それを使用してターゲット(つまりターゲットパスのすべてのシンボリックリンクを確認します(ターゲットシンボリックリンクに他のシンボリックリンクが含まれている場合)。