Macでシンボリックリンク(別名シンボリックリンク)を作成して使用する方法

シンボリックリンクは、シンボリックリンクとも呼ばれ、システム上の他の場所にあるファイルまたはディレクトリを指す特別なファイルです。それらは高度なエイリアスのように考えることができ、MacOSでそれらを使用する方法は次のとおりです。

シンボリックリンクはエイリアスに似ていますが、ターミナルを含むMac上のすべてのアプリケーションで機能する点が異なります。これらは、アプリが通常のエイリアスで正しく動作することを望まない場合に特に役立ちます。macOSでは、ln ユーティリティを使用してターミナルにシンボリックリンクを作成します。Finderで作成することはできません。macOSのシンボリックリンクはLinuxのシンボリックリンクと同様に機能します。どちらもUnixライクなオペレーティングシステムだからです。Windowsのシンボリックリンクの動作は少し異なります。

関連:Linuxでシンボリックリンク(別名シンボリックリンク)を作成して使用する方法

シンボリックリンクとは何ですか?

macOSでは、Finderで通常のエイリアスを作成できます。エイリアスはファイルまたはフォルダを指しますが、それらは単純なショートカットのようなものです。

シンボリックリンクは、ターミナルのコマンドラインユーティリティを含む、システム上のすべてのアプリケーションで機能する、より高度なタイプのエイリアスです。作成したシンボリックリンクは、単なるリンクであっても、アプリにはそれが指している元のファイルまたはフォルダーと同じように見えます。

たとえば、ファイルを/ Library / Programに保存する必要があるプログラムがあるとします。ただし、これらのファイルをシステム上の別の場所(たとえば、/ Volumes / Program)に保存する必要があります。Programディレクトリを/ Volumes / Programに移動し、/ Library / Programに/ Volumes / Programを指すシンボリックリンクを作成できます。プログラムは/ Library / Programにあるフォルダにアクセスしようとし、オペレーティングシステムはそれを/ Volumes / Programにリダイレクトします。

これは、macOSオペレーティングシステムと使用するアプリケーションに対して完全に透過的です。Finderまたはその他のアプリケーションで/ Library / Programディレクトリを参照すると、/ Volumes / Program内のファイルが含まれているように見えます。

「ソフトリンク」と呼ばれることもあるシンボリックリンクに加えて、代わりに「ハードリンク」を作成できます。シンボリックリンクまたはソフトリンクは、ファイルシステム内のパスを指します。たとえば、/ Users / exampleから/ opt / exampleを指すシンボリックリンクまたはソフトリンクがあるとします。 / opt / exampleにファイルを移動すると、/ Users / exampleのリンクが壊れます。ただし、ハードリンクを作成すると、実際にはファイルシステムの基になるiノードを指します。したがって、/ Users / exampleから/ opt / exampleを指すハードリンクを作成し、後で/ opt / exampleを移動した場合、/ Users / exampleのリンクは、どこに移動してもファイルを指します。ハードリンクは下位レベルで機能します。

どちらを使用するかわからない場合は、通常、標準のシンボリックリンク(ソフトリンク)を使用する必要があります。ハードリンクにはいくつかの制限があります。たとえば、あるパーティションまたはディスクに別のパーティションまたはディスク上の場所を指すハードリンクを作成することはできませんが、標準のシンボリックリンクを使用して作成することはできます。

lnコマンドでシンボリックリンクを作成する

Macでシンボリックリンクを作成するには、ターミナルアプリを使用する必要があります。

Command + Spaceを押し、「Terminal」と入力し、「Enter」を押して、Spotlight検索からターミナルを開きます。[Finder]> [アプリケーション]> [ユーティリティ]> [ターミナル]に移動して、ターミナルショートカットを起動します。

ln 次の形式でコマンドを実行します。ディレクトリまたはファイルへのパスを指定できます。

ln -s / path / to / original / path / to / link

-s ここにシンボリックリンクを作成するために、lnコマンドに指示します。ハードリンクを作成する場合は、を省略し-sます。ほとんどの場合、シンボリックリンクの方が適しているため、特別な理由がない限り、ハードリンクを作成しないでください。

これが例です。ダウンロードフォルダを指すシンボリックリンクをデスクトップフォルダに作成したいとします。次のコマンドを実行します。

ln -s / Users / name / Downloads / Users / name / Desktop

リンクを作成すると、ダウンロードフォルダがデスクトップに表示されます。これは実際には作成したシンボリックリンクですが、本物のように見えます。このフォルダには、ダウンロードフォルダと同じファイルがすべて含まれているように見えます。これは、ファイルシステム上の同じ基になるディレクトリを指す異なるビューであるためです。

ファイルパスにスペースやその他の特殊文字が含まれている場合は、引用符で囲む必要があります。したがって、デスクトップ上にユーザーディレクトリ内の「マイファイル」という名前のフォルダへのリンクを作成する場合は、次のコマンドのようなものが必要になります。

ln -s "/ Users / name / My Files" "/ Users / name / Desktop / My Link"

ターミナルへのファイルとディレクトリのパスの入力を簡単にするために、フォルダをFinderウィンドウからターミナルにドラッグアンドドロップすると、ターミナルはそのフォルダへのパスを自動的に入力します。必要に応じて、パスも引用符で囲みます。

ユーザーアカウントがアクセスできないシステムの場所にシンボリックリンクを作成する必要がある場合ln は、sudo 次のようにコマンドの前にコマンドを付ける必要があります。

sudo ln -s / path / to / original / path / to / link

関連:Macでシステム整合性保護を無効にする方法(およびすべきでない理由)

macOSの最新バージョンでは、システム整合性保護機能のため、低レベルのファームウェアオプションを変更せずに特定のシステムの場所に書き込むことは許可されないことに注意してください。この機能は無効にできますが、無効にすることをお勧めします。

シンボリックリンクを削除する方法

他のタイプのファイルと同じように、シンボリックリンクを削除できます。たとえば、Finderでシンボリックリンクを削除するには、Ctrlキーを押しながらクリックするか、右クリックして[ゴミ箱に移動]を選択します。

コマンドを使用してコマンドラインからリンクrm を削除できます。これは、他のファイルを削除するために使用するのと同じコマンドです。コマンドを実行し、削除するリンクへのパスを指定します。

rm / path / to / link

グラフィカルツールを使用してシンボリックリンクを作成する方法

Finderはエイリアスを作成できますが、シンボリックリンクのようには機能しません。エイリアスは、Windowsのデスクトップショートカットと同じです。それらは、真の透明なシンボリックリンクとしては扱われません。

Finderでシンボリックリンクを作成できるようにするには、サードパーティのユーティリティまたはスクリプトが必要です。Finderのコンテキストメニューに[サービス]> [シンボリックリンクを作成]オプションをすばやく追加するには、オープンソースアプリのSymbolicLinkerをお勧めします。

追加するオプションをクリックすると、現在のディレクトリで選択したファイルまたはフォルダへのシンボリックリンクが作成されます。名前を変更して、好きな場所に移動できます。

以前に使用したことがない場合は、シンボリックリンクが頭を包み込んで使用に慣れるまで少し時間がかかることがあります。しかし、一度実行すると、通常のエイリアスでは実行できないことが多いことを実行するための強力なツールであることがわかります。