ln

リンク(ディレクトリ・ファイルに別の名を設定し、その名前でアクセスできる仕組み)を生成します。リンクには「ハードリンク」と「シンボリックリンク」がありますが、デフォルト(オプションを指定しない場合)は、ハードリンクを作成します。


ハードリンクとシンボリックリンクは、それぞれ、次のような特徴があります。


・ハードリンク
UNIX系OSでは、ファイルやディレクトリを「iノード番号」とよばれる値で管理しており、ハードリンクは、同じiノード番号で複数の識別名を作成します。特徴としては、それぞれのリンクは、実ファイルと同じ扱いとなりますから、リンク元のファイルを移動したり、削除してもリンク切れなになることはありません。
但し、ディレクトに対してリンクを作成することはできません。また、iノード番号の管理体系が異なる場合(ディスクやパーティションが異なるなど)も、リンクを作成できないという制限があります。
・シンボリックリンク
リンク元へのアクセス情報を作成することになります。したがって、リンク元が移動や削除されるとリンク切れとなりアクセスできなくなります。しかし、ディレクトリへのリンクが可能であり、ディスクやパーティションの制限(iノード番号の管理が共通していないとリンク作成できない。)もありません。

書式

ln [オプション ・・・] リンク先 [リンク名]
ln [オプション ・・・] リンク先1 [リンク先2 ・・・] ディレクトリ名

▲PageTop

オプション

オプション名 説明
-d, -F, --directory ディレクトリへのハードリンクを可能にします。
-f, --force 強制的にシンボリックリンクを作成します。
-i, --interactive 作成するシンボリックリンクに、指定した名前と同じ名前のファイルが存在する場合には問い合わせをします。
-n, --no-dereference 指定したリンク名が、既に存在し、それがディレクトリをさしているリンクだった場合、リンク先のディレクトリ上にリンクを作成するのではなくリンク名で指定されたリンクの上書きを行います。
-s, --symbolic シンボリックリンクを作成します。
--target-directory=ディレクトリ名 リンク先を指定します。
-v, --verbose 処理内容を表示します。
-b, --backup[=作成方法] コピー時に上書きを行う場合、コピー先に存在するファイルのバックアップを作成します。バックアップファイルのファイル名の作成方法を指定します。指定する値を以下に示します。
  • t, numbered
    元のファイル名の末尾に番号を振った拡張子を追加した名前をバックアップファイルのファイル名に使用します。
  • nil, existing
    元のファイル名の末尾に番号を振った拡張子を追加した名前のバックアップファイルが存在する場合、元のファイル名の末尾に番号を振った拡張子を追加した名前になります。
-S SUFFIX, --suffix=添え字 バックアップファイルを作成する際に、作成されたファイル名を元のファイル名に指定された添え字を末尾に付け加えた名前を指定します。
--help 使用方法を表示します。
--version バージョン情報を表示します。
-- オプションの記述の終了を宣言します。これ以降に-で始まる文字列があっても、オプションとして解釈されません。このオプションを使用することにより「-SampleDir01」等の「-」で始まるファイル名を指定することが出来ます。

▲PageTop

実行例

ファイル(「SampleText19.txt」が存在するものとします。)へのハードリンクおよび、シンボリックリンクを作成します。

  1. リンク元ファイルが存在していることを確認します。
  2. ファイル「SampleText01.txt」のハードリンクを作成します。
  3. ファイル「SampleText19.txt」のシンボリックリンクを作成します。
  4. 作成したハードリンクおよび、シンボリックリンクを確認します。

実行結果

$ ls -l [Enter]
合計 4
-rw-r--r-- 1 sampleusr01 samplegroup 21  9月 3日 02:44 SampleText01.txt
$ ln SampleText01.txt HardLink01 [Enter]
$ ln -s SampleText01.txt SymbolicLink01 [Enter]
$ ls -l
合計 8
-rw-r--r-- 2 sampleusr01 samplegroup 21  9月 3日 02:44 HardLink01 ← ハードリンク
-rw-r--r-- 2 sampleusr01 samplegroup 21  9月 3日 02:44 SampleText01.txt
lrwxrwxrwx 1 sampleusr01 samplegroup 16  9月 3日 02:46 SymbolicLink01 -> SampleText01.txt ← シンボリックリンク
        

▲PageTop