私が現在存在し、そのディレクトリにあるファイルへのシンボリックリンクを作成し/a/b/c/d/e/
たいとしましょう。f.txt
これにより、ln -s f.txt /etc/
ファイルは代わりにファイルを/etc/f.txt
指すため、ファイルを指すことはありません。私はそれを試しましたが、これは実際にへのリンクを生成します。f.txt
/a/b/c/d/e/f.txt
ln -s ./f.txt /etc/
./f.txt
もしそうなら、フルパス(たとえば)を直接入力するだけでなく、現在のディレクトリにあるファイルの絶対パスを使用するように/a/b/c/d/e/f.txt
指示するショートカットはありますか?ln
答え1
1つの可能な方法は、次のコマンドを使用することです。
ln -s "$(pwd)/f.txt" /etc/
このコマンドは、pwd
ファイル名に現在のパスを追加します。
答え2
ln
コマンドにはこのオプションがありますが、POSIXマニュアル()でこれについての内容が見つからなかった--relative
ため、これがGNUismであるかどうかはわかりません。--relative
man 1p ln
(オプションman ln
1)またはln --help
:
-r、--相対的
-s を使用してリンク位置に基づいてリンクを作成します。
したがって、Linux(gnuソフトウェアを含む)を使用している場合は、次のものを使用できます。
ln -s --relative f.txt /etc/
答え3
別の解決策:
ln -s ${PWD}/f.txt /etc/