0

コマンドでサーバー上にシンボリックリンクを作成しようとしていますln -s

オプション1:

ln -s /home/thejobco/public_html/JCCore/ajax_search /home/thejobco/public_html/demo/typo3conf/ext/

結果 1:

ajax_search -> /home/thejobco/public_html/JCCore/ajax_search

オプション 2:

ln -s /home/thejobco/public_html/JCCore/ajax_search/ /home/thejobco/public_html/demo/typo3conf/ext/

結果 2:

ajax_search -> /home/thejobco/public_html/JCCore/ajax_search/

質問:

上記の 2 つのオプションが同じかどうかを知りたいですか、それとも違いがありますか? オプション 1 には がなく/、オプション 2 にはがあります/が、どちらもうまく機能するので、どちらが標準的な方法なのだろうか?

4

1 に答える 1

4

シンボリック リンクは、ターゲットの名前を含むファイルとして実装されます。

ご覧のとおり、小さな違いがあります。シンボリック リンクの 1 つは末尾/に があり、もう 1 つはありません。ls -l;の出力の違いを見ることができます。下位レベルでは、これはreadlink()システム コールによって返されるパスの違いとして現れます。

ただし、ターゲットがディレクトリである限り、それらの間に機能上の違いはないはずです。どちらを使用しても、リンクされたディレクトリにアクセスできます。

ディレクトリではないターゲットの場合、次のようになります。

ln -s /etc/motd good_link
ln -s /etc/motd/ bad_link

は、good_linkにアクセスするための有効な方法になり、エラーになります。/etc/motdbad_linknot a directory

于 2013-08-10T01:51:08.183 に答える