このガイドでは、lnコマンドを使ってシンボリックリンクを作成して使用する方法を説明します。
使用可能なリンクには2種類あります。
- ハードリンク
- ソフトリンク
私は以前に、 ハードリンクが何であるか、そしてなぜそれらを使用するのかを示すガイドを以前に書いているので、このガイドは主にソフトリンクやシンボリックリンクに焦点を当てています。
ハードリンクとは
ファイルシステム内の各ファイルは、inodeという番号で識別されます。 ほとんどの場合、これは本当に気にすることはありませんが、ハードリンクを作成する場合は、この重要性が明白になります。
ハードリンクを使用すると、別の場所にあるファイルに別の名前を割り当てることができますが、本質的にはまったく同じファイルです。 ファイルを一緒にリンクするキーはinode番号です。
ハードリンクの大きな点は、物理的なハードドライブスペースを占有しないということです。
ハードリンクを使用すると、ファイルを簡単に分類できます。 たとえば、写真がいっぱいのフォルダがあるとします。 あなたは休日の写真と呼ばれる1つのフォルダ、子供の写真と呼ばれる別のフォルダを作成し、ペット写真と呼ばれる3番目のフォルダを作成することができます。
あなたの子供や犬と一緒に休暇をとったので、3つのカテゴリーにふさわしい写真をいくつか持っている可能性があります。
あなたは休日の写真の写真のメインファイルを置くことができますし、子供の写真のカテゴリにその写真へのハードリンクを作成し、ペットの写真カテゴリの別のハードリンク。 余分なスペースは必要ありません。
ハードリンクを作成するには、次のコマンドを入力するだけです。
ln / path / to / file / path / to / hardlink
あなたがホリデーの写真フォルダにBrightonBeachという写真があり、子供の写真フォルダにリンクを作成したければ、次のコマンドを使用するとします。
ln /holidayphotos/BrightonBeach.jpg /kidsphotos/BrightonBeach.jpg
次のようにlsコマンドを使用すると、同じinodeにリンクしているファイルの数を知ることができます。
ls -lt
出力は、-rw-r-r-- 1 usernameのようなものになります。groupname date filename。
最初の部分はユーザーの権限を示しています。 重要なビットは、権限の後でユーザー名の前の番号です。
番号が1の場合は、特定のinodeを指す唯一のファイルです(リンクされていない)。 数字が1より大きい場合は、2つ以上のファイルでハードリンクされます。
シンボリックリンクとは
シンボリックリンクは、あるファイルから別のファイルへのショートカットのようなものです。 シンボリックリンクの内容は、リンク先の実際のファイルまたはフォルダのアドレスです。
シンボリックリンクを使用する利点は、他のパーティションや他のデバイスのファイルやフォルダにリンクできることです。
ハードリンクとシンボリックリンクの別の違いは、既に存在するファイルに対してハードリンクを作成しなければならない一方で、既存のファイルを参照する前にソフトリンクを作成できることです。
シンボリックリンクを作成するには、次の構文を使用します。
ln -s / path / to / file / path / to / link
すでに存在するリンクの上書きを心配する場合は、次のように-bスイッチを使用できます。
ln -s -b / path / to / file / path / to / link
同じファイル名を作成して末尾にチルダ (〜)を付けてリンクが存在する場合、リンクのバックアップが作成されます。
シンボリックリンクと同じ名前のファイルがすでに存在する場合は、エラーが発生します。
次のコマンドを使用すると、リンクを強制的にファイルを上書きすることができます。
ln -s -f / path / to /ファイル/パス/ to / link
元のファイルを失うので、-bスイッチを指定しないで-fスイッチを使用したくない場合があります。
もう1つの方法は、ファイルがすでに存在する場合にファイルを上書きするかどうかを尋ねるメッセージを受け取ることです。 次のコマンドでこれを行うことができます:
ln -s -i / path / to /ファイル/パス/ to / link
ファイルがシンボリックリンクであるかどうかをどのように判断しますか?
次のlsコマンドを実行します。
ls -lt
ファイルがシンボリックリンクの場合は、次のように表示されます:
myshortcut - > myfile
シンボリックリンクを使用すると、別のフォルダに移動できます。
たとえば、/ home / music / rock / alicecooper / heystoopidへのリンクがheystoopidと呼ばれているとします
次のコマンドを実行すると、次のcdコマンドを実行してそのフォルダに移動できます。
cd heystoopid
概要
そうです。 ショートカットのようなシンボリックリンクを使用します。 それらは、実際に長いパスを短くし、他のパーティションやドライブ上のファイルに簡単にアクセスできるようにするために使用できます。
このガイドでは、シンボリックリンクについて知っておく必要があるすべてを示していますが、他のスイッチのlnコマンドのマニュアルページをチェックすることができます。