以下のようなシンボリックリンクを作成しようとしています
ln -s /home/scripts/logs /home/log
/home/log ディレクトリが既に存在するため削除できません。これにより、/home/log/logsへのシンボリックリンクが生成されます。ターゲットがディレクトリであり、すでに存在する場合は、ln -s
ソースのサブフォルダがターゲットディレクトリ内に作成されることがわかります。しかし、ソースディレクトリ(/home/scripts/logs/"test_contents")の内容だけがターゲット(/home/log/"test_contents")にあることを望みます。これに対する解決策はありますか?注:他のアプリケーションログを含む/home/logsは削除できません。
答え1
あなたのln -s
命令は反対です。最初のオペランドはリンクが指す位置であり、2番目のオペランドは呼び出すシンボリックリンク自体です。
コマンドでオペランドの順序を覚えてln -s this here
「Take」で読むことができます。これそしてそれへのシンボリックリンクを作成しますここ"( mv this here
"のように取るこれそしてそれを動かすここ「、等。)
注文する
ln -s /home/logs /home/scripts/logs
/home/scripts/logs
指すシンボリックリンクが生成されます/home/logs
(/home/scripts/logs
まだ存在していないと仮定)。
実際の生活では、おそらくディレクトリを使用しません。まっすぐしかし、以下では/home
実際に次のことをしたいかもしれません。
ln -s "$HOME/logs" "$HOME/scripts/logs"
...またはそのようなもの。
答え2
シンボリックリンクが欲しいようです文書ディレクトリ自体ではなくディレクトリにあります。もしそうなら、おそらくこれが欲しいでしょう:
ln -s /home/scripts/logs/* /home/log/