私は自分のシステムの特定のフォルダのパスをできるだけ簡単で効率的な方法で追跡したいと思います。私の最初の仮定はシンボリックリンクを使用してこれを達成することができるということでした、しかし私はシンボリックリンクがどのように機能するかについて矛盾する情報を見ます。
多くの質問がどのようにして尋ねました シンボリックリンクターゲットへのパスを取得する (「使用などの回答とは greadlink
")しかし、私はどうやって手に入れるかを尋ねる質問を見つけることができません。 現在 なぜなら、私が見つけたすべての答えは 元の ターゲットパス
しかし、現在のターゲットパスを見つける方法を探すとき、すべての答えは、ターゲットが移動した後にシンボリックリンクが「壊れた」ために不可能であると言っているようです。私は彼らがこのリンクが壊れていると考える理由を理解していません。シンボリックリンクBをターゲットAにしてからAを新しい場所に移動しても、シンボリックリンクBはまだ有効です。 Aが移動された後にAに変更が加えられても、Aの更新内容は表示されたままです。そしてPath Finderで、Bのコンテキストメニューから 'オリジナルを表示'を選択すると、 更新しました それでも、「greadlink B」は、現在の場所ではなく、Aの元の場所を指すだけです。
シンボリックリンクについては特に言及しましたが、私のより広くより重要な質問は、移動後にファイルの場所を取得する方法です。私がこれまで見つけた最良の解決策は使うことです find
いくつかの方法で、しかし私が数個以上のファイルを追跡しようとしているときこれは遅すぎる。しかし、Path Finderのシンボリックリンクはターゲットの場所を効果的に追跡しているように見えるので、私はそれが可能でなければならないことを知っています。
ls -l
リンク先を表示します。それがディレクトリリンクであり、あなたが末尾を追加する場合 /
ターゲットディレクトリの内容が表示されます。
../
リンクは階層内の同じレベルのディレクトリに移動されます。