スポンサーリンク

LN(1) FreeBSD 一般コマンドマニュアル LN(1)

名称

ln, link − リンクファイルの作成

書式

ln [−fhinsv] source_file [target_file]

ln [−fhinsv] source_file ... target_dir

link source_file target_file

解説

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

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

       −f

target_file が既に存在する場合、リンクが成功するように、これをアン リンクします。 ( −f オプションが指定されると、それ以前の −i オプ ションは無視されます。)

−h
target_file
または target_dir がシンボリックリンクの場合、これを辿 りません。これは、 −f オプションと共に使用して、ディレクトリを指す かもしれないシンボリックリンクを置き換える場合に最も有用です。

−i
すでに target_file が存在する場合、 ln に標準エラー出力を使用して確 認を求めさせます。標準入力から ‘y’ または ‘Y’ で始まる文字列が入力 されると、target_file が既に存在する場合、リンクが成功するように、 これをアンリンクします。 ( −i オプションが指定されると、それ以前の −f オプションは無視されます。)

−n
−h
と同様ですが、他の ln の実装との互換性のためにあります。

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

−v
ln
を冗長にし、処理するファイルを表示します。

デフォルトでは、 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 個の引数が必要であ り、どちらもディレクトリであってはなりません。この単純モードでは、オプ ションは指定不可であり、渡された 2 個の引数を使用して link(2) の動作を行 います。

関連項目

link(2), lstat(2), readlink(2), stat(2), symlink(2), symlink(7)

互換性

−h, −i, −n, −v は標準ではありませんし、スクリプト中での使用はお勧めしませ ん。他の ln 実装との互換性のためだけに提供されています。

規格

ln ユーティリティは IEEE Std 1003.2-1992 (‘‘POSIX.2’’) に適合します。単純 化された link コマンドは Version 2 of the Single UNIX Specification (‘‘SUSv2’’) に適合します。

歴史

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

FreeBSD 10.0 December 30, 1993 FreeBSD 10.0

スポンサーリンク