シンボリック/ソフトリンクはデスクトップ上のショートカット/エイリアスに似ていますか?


19

ショートカット(PC上)やエイリアス(Mac上)と比較したソフト/シンボリックリンクの基本的な考え方は同じものであるように思えます。帰りますか?それらは似ていますか?

回答:


14

基本的な考え方はほぼ同じです。シンボリックリンクは、別のファイルシステムオブジェクトへのパス(相対または絶対)を含む特別なファイルです。UNIX / Linuxでは、OS自体がシンボリックリンクを処理し、実際のオブジェクトに透過的に解決します。

Macでは、エイリアスはローカルオブジェクトと同様にリモートオブジェクトを参照できる特別なFinderコンストラクトのように見えますが、FinderはOSではなく参照を解決します。MacOS Xにもシンボリックリンクがありますが、エイリアスとは別のものです。

大きな違いは、Windowsショートカットとシンボリックリンクの違いです。Windowsは常にこれらの厄介なファイル拡張子を持つ必要があり、「lnk」ファイルはWindowsに関しては実行可能ファイルではないため、Windowsショートカットはプログラムを簡単に置き換えることができません。GUI内では機能しますが、サーバーの観点からはbarfsです。ディレクトリについても同じです。これらは便利ですが、シンボリックリンクのパワーと柔軟性に近い場所はありません。


「ディレクトリと同じ」:ディレクトリを指すシンボリックリンクでcdできないということですか?
dash17291

2
DOSではなくWindowsコンストラクトであるため、Windowsシステムのショートカットにcdできないことを意味します。UNIX / Linuxでは、これはファイルシステム構造であるため、cdコマンドを含むどこでも機能します。OSではなく、エンドポイントを解釈するのはコマンド次第です。たとえばcd、ディレクトリへのシンボリックリンクを使用できますが、通常のファイルへのシンボリックリンクでは適切に失敗します。
アルセージュ

7

あんまり。類似点はありますが、ある程度までです。「ああ、シンボリックリンクはショートカットのようなものですが、「ああ、実際にはシンボリックリンクはショートカットのようなものではなく、今では理解できます」と言うまでは理解していません。したがって、ショートカットはシンボリックリンクを理解する良い方法ではないと思うので、ショートカットとの比較について心を澄ますことをお勧めします。

シンボリックリンクは、別のファイルの名前を示します。これはフルパスの「名前」です。つまり、ディレクトリ内の名前だけでなくディレクトリ部分も含まれる可能性があります。パスは、絶対(/foo/bar)または相対(foo/barまたは、../barまたは単にbar)にすることができます。ターゲットが相対パスで指定されている場合、シンボリックリンクを含むディレクトリを基準にして解釈されます。ターゲットファイルは存在する場合と存在しない場合があり、ターゲットファイルを削除、移動、または作成してもシンボリックリンクには影響しません。

ファイルのコンテンツに作用する操作は、ターゲットファイルに作用します。したがって、シンボリックリンクを介してファイルを読み書きしたり、シンボリックリンクを介してプログラムを実行したりすると、あたかもターゲットファイルにアクセスしているかのようになります。名前の変更や削除など、外部からファイルに作用する操作は、シンボリックリンク自体に作用します。書き込みの場合、既存のファイルを上書きするか(ターゲットに作用する)、既存のファイルを削除して新しいファイルを作成するか(ターゲットをそのまま残し、シンボリックリンクを置き換える新しいファイルを作成するかどうかに違いがあることに注意してください)アプリケーションはリンクをたどります(多くの場合)。


1
シンボリックリンクは常に完全なパスを構成するとは限りません。Slackware13.1システムでは、/ usr / lib / libXv.soはlibXv.so.1.0.0へのシンボリックリンクです。完全なパスはありません。
ブルースエディガー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.