Written by
JackYamamoto概要: macOSにおけるハードリンクについて理解するためにこの記事を読んでください。macOSのハードリンクとは何か、Macでハードリンクを作成する方法、エイリアス、シンボリックリンク、ハードリンクの違いなどをご紹介します。
macOSでファイルシステムを操作する際に遭遇するかもしれない3種類のリンクがあります:エイリアス、ソフトリンク(時々シンボリックリンクとも呼ばれます)、そしてハードリンクです。それらはすべてファイルやフォルダにリンクするという同じ機能を持っていますが、それぞれが基本的に異なるものです。
ここでは、macOSのハードリンクについて詳しく探求していきます。定義やハードリンクの作成方法、さらにエイリアス、シンボリックリンク、ハードリンクの違いについても紹介します。
macOSハードリンクの概要
macOSのハードリンクは、複数のファイル名がディスク上の同じ物理的な場所を参照できるファイルシステムの機能です。ファイルに対する各ハードリンクは、機能や外観が同等であり、1つのリンクを介して行われた変更は他のリンクにも反映されます。
macOSのハードリンクを作成すると、ファイルの新しいコピーを作成しているわけではなく、元のファイルとハードリンクは同じinode(ファイルシステムのファイルに関する情報を格納するデータ構造)を指します。代わりに、ファイルシステムのテーブルにそのための新しいエントリを作成することによって、追加のディスクスペースを占有しません。
ハードリンクの特徴:
- 同じInode:ハードリンクは元のファイルと同じinodeを共有しており、そのファイル自体と区別できません。
- 永続性:1つのハードリンクを削除しても、そのデータが実際にディスク上から削除されるわけではありません。すべてのハードリンクが削除されるまで実データは消去されません。
- 単一のファイルシステム:ハードリンクは異なるファイルシステムやパーティションにまたがることはできません。
- ファイル専用:通常、macOSはファイルシステムループを防ぐため、ディレクトリへのハードリンクを許可しません。
Macでハードリンクを作成する方法
macOSでハードリンクを作成する方法は簡単なプロセスで、ターミナルを使用して行うことができます。以下はMacでハードリンクを作成する手順です。
- Finder > Applications から Terminal アプリを起動するか、Spotlight で検索します。
- オリジナルのファイルが保存されているディレクトリに移動するためにcdコマンドを入力します。cd /path/to/directory
- オリジナルのファイル名とハードリンクに付けたい名前を指定してlnコマンドを入力します。ln original_file_name hard_link_nameたとえば、Documents フォルダにある `example.txt` ファイルを Desktop にハードリンクを作成する場合、以下のように入力します。ln ~/Documents/example.txt ~/Desktop/example.txt
- 作成されたハードリンクがオリジナルのファイルと同じ inode (データブロック)を指していることを確認するために、ls コマンドを -i フラグとともに使用して inode 番号を表示します。両方のファイルが同じ inode 番号を持っているはずで、これはディスク上で同じデータを参照していることを示しています。ls -i example.txt example_hard_link.txt
ハードリンク、シンボリックリンク、エイリアスの違い
ハードリンク、シンボリックリンク、エイリアスはコンピュータ上の主要なリンクの種類であり、それぞれの違いを知っておくと効果的に使用できます。実際、macOS では異なる目的で異なる振る舞いをします。
ハードリンク:エイリアスやシンボリックリンクとは異なり、ハードリンクはシステムレベルではオリジナルのファイルと区別がつきません。パス情報を保存せず、直接ディスク上のデータを指します。ハードリンクは追加のディスク容量を使用せずに同じファイルへの複数の参照を持つのに便利です。ただし、ハードリンクは異なるボリュームにまたがることはできず、ディレクトリをリンクするのには適していません。
シンボリックリンク:エイリアスと同様に、シンボリックリンクはファイルまたはフォルダのパスへの参照です。ただし、シンボリックリンクはシステムレベルで使用され、Finder とは独立して機能します。オリジナルのファイルを移動すると、シンボリックリンクは変更を反映せず、指定されたパスでオリジナルのファイルを見つけられない場合は壊れます。
エイリアス:macOS におけるエイリアスは、別のファイルやフォルダへのショートカットとして機能するファイルです。ハードリンクとは異なり、エイリアスは Finder によって管理され、オリジナルのファイルが移動されたり名前が変更されたりしても追跡できます。エイリアスはより柔軟性がありますが、macOS Finder 環境に依存しています。
macOS のハードリンクに関するこの有益な記事を共有する!