LN(1)

名称
ln - リンクファイルの作成

書式
ln [-fs] source_file [target_file] ln [-fs] source_file ... [target_dir]

解説
ln は新しいディレクトリエントリ(リンクファイル)を作成するユーティリティです。 リンクファイルのモードはオリジナルファイルと同じになります。 リンクファイルは “ファイルの内容のコピー” ではなく、 “ファイルを指し示すポインタ” であり、1 つのオリジナル ファイルを多くのディレクトリで取り扱えるようにするのに有効です。 リンクファイルには、ハードリンクとシンボリックリンクの 2 つの形式があり ます。違いは、リンクの方法です。

オプションとしては以下のものがあります。

-f  リンクが成功するように、target_file を削除してから source_file を target_file にリンクします。

-s  シンボリックリンクを作成します。

デフォルトでは、 ln は ハードリンク を作成します。 ファイルへのハードリンクはオリジナルのディレクトリエントリと区別できません。 ファイルの参照に使われる名前にかかわらず、 そのファイルへのいかなる修正も同じように有効です。 通常、ハードリンクはディレクトリを指すことはできませんし、 ファイルシステムを拡張することもできません。

シンボリックリンクはリンク先ファイルの名前を保持します。 リンクに対して open(2) 操作を行うと、その参照先ファイルが用いられます。 シンボリックリンクに対して stat(2) 操作を行うと、参照先ファイルの情報を返します。 リンクそのものの情報を得るには lstat(2) を用いなければなりません。 readlink(2) 呼び出しによってシンボリックリンクの内容を読むこともできます。 シンボリックリンクによってファイルシステムを拡張したり、 ディレクトリを参照したりすることが可能です。

1つあるいは 2つの引数が与えられた場合、 ln は既存のファイル source_file に対するリンクを作成します。 target_file が指定された場合、リンクの名前はそれと同一になります。 target_file はリンクファイルを置くディレクトリであっても構いません。 それ以外の場合はリンクはカレントディレクトリに置かれます。 ディレクトリ名だけが指定された場合は、 source_file のパス名の最後のファイル名が指定されたものとみなします。

2つ以上の引数が与えられた場合、 ln はディレクトリ target_file 内に指定された全てのファイルのリンクを作成します。作られるリンクの 名前は、リンクされるファイルの名前と同じになります。

関連項目
link(2), lstat(2), readlink(2), stat(2), symlink(2), symlink(7)

歴史
ln コマンドは AT&T UNIX から登場しました。