戻る

GNUのsh-fileutils付属のlnコマンドのマニュアル。

================================
LN(1)                                                       LN(1)

ln - make links between files

名前
       ln - ファイルへのリンクを作成する

書式
       ln [オプション] source [dest]
       ln [オプション] source... directory

       POSIX オプション: [-f]

       GNU  オプション (簡略形式): [-bdfinsvF] [-S backup-suffix]
       [-V {numbered,existing,simple}] [--help] [--version] [--]

説明
       ln コマンドはファイルへのリンクを作成する。特に指定がな い
       と ハードリンクを作成する; -s オプションを指定するとシンボ
       リック(もしくはソフト) リンクを作成する。

       Unix には通常ハードリンクとソフトリンクと呼ばれる、2つ の`
       リンク' の概念がある。 (ファイルは複数の名前を持つことが出
       来る。その最後の名前が削除された場合にのみディスク上から実
       体 が消去される。ファイルが持つ名前の数は ls(1) コマンドで
       知ることができる。もともとの名前というものは無い: すべての
       名 前 は同じステータスを持っている。通常、必須では無いが、
       ファイルの名前はすべてそのファイルシステム内にあり、それ自
       身のデータもそこに持っている。

       ソ フ トリンク(もしくはシンボリックリンク、または symlink)
       というのはまったく違った種類のものである: 実体はパス名を含
       んだ小さくて特殊なファイルである。従って、ソフトリンクは異
       なるファイルシステム上(たぶん他のマシンからマウントされ た
       NFS) の ファ イルを指す事が出来る。また実際には存在しない
       ファイルを指していても構わない。 ( open(2) または  stat(2)
       と いっ たシステムコールにより) アクセスされた場合、シンボ
       リックリンクへの参照は、オペレーティングシステムのカーネル
       によりそのパス名で指示されるファイルへの参照として置き換え
       られる。 (しかし、 rm(1) コマンドや unlink(2) 関数ではリン
       ク 自 身が削除され、リンクが指しているファイルは削除されな
       い。 lstat(2) や readlink(2) 関数といったシンボリックリ ン
       クや、リンクが指しているファイル名のステータスを得る特殊な
       システムコールがある。その他の色々なシステムコールでは、そ
       の操作の対象がシンボリックリンクそのものなのか、それが指し
       ているファイルなのかといったことについて、オペレーティング
       システム間で不明瞭さや違いがある。)

       o 一つのファイルのみ与えられた場合、そのファイルをカレント
       ディレクトリにリンクする。つまり、(一番最後に お か れ た)
       ファイル名と同じ名前でファイルへのリンクをカレントディレク
       トリに作る。 (これは GNU での拡張機能である)

       o もし最後の引数がすでに存在するディレクトリであった 場 合
       ln  コマンドはそのディレクトリ内に source ファイルで指示さ
       れたそれぞれに対するリンクを作る。その名前は(一番最後に お
       か れ た)  source  ファイルの名前と同じ名前を持つ。(以下の
       --no-dereference オプションの説明を参照)

       o 引数にファイルが2つ指定された場合、 source を指 す  dest
       という名前のリンクが作成される。最後の引数がディレクトリで
       は無いのに、2つ以上のファイルが指定された場合はエラーと な
       る。

       特に指定がないと、 ln コマンドは存在しているファイルや、シ
       ンボリックリンクの削除は出来ない。 (そのため、ロックの目的
       で使うことができる: dest が存在しない場合のみ正常終了する)
       -f オプションを指定することで強制的に削除すること が で き
       る。

       今ある実装では、ディレクトリへのハードリンクの作成ができる
       場合でも、スーパーユーザーにのみ許される操作として い る。
       link(2)   システムコールや ln コマンドでのディレクトリへの
       ハードリンクの作成を POSIX では禁止している。 (しかし異 種
       の ファ イルシステムをまたがったハードリンクは禁止していな
       い。)

POSIX オプション
       -f     指定したリンクファイルがすでにあった場合は 削 除 す
              る。

GNU オプション
       -d, -F, --directory
              スー パーユーザーがディレクトリへのハードリンクを作
              成するのを許す。

       -f, --force
              指定したリンクファイルがすでにあった場合は 削 除 す
              る。

       -i, --interactive
              指 定したリンクファイルがすでにあった場合は、削除す
              るかどうか問い合わせを行う。

       -n, --no-dereference
              明示的にディレクトリにシンボリックリンクしている リ
              ン クファイルが指定された場合、それを普通のファイル
              と同じように扱う。
              実際のディレクトリ(どこかへのシンボリックリンクでは
              な い) がリンクファイルとして指定された場合の扱いは
              はっきりしている。そのディレクトリ内にリンクが作 成
              さ れる。しかしディレクトリへのシンボリックリンクが
              リンクファイルとして指定された場合、ユーザーの要 求
              に対して2通りの動きがある。 ln コマンドは指定された
              リンクファイルを通常のディレクトリのように扱い、 そ
              の 中にリンクを作成することができる。もう一つは、リ
              ンクファイルが非ディレクトリ - シンボリックリンクそ
              の ものであるとして扱うことができる。その場合には、
              ln コマンドは新しいリンクを作成する前にシンボリック
              リ ンクを削除、またはバックアップする必要がある。標
              準では、ディレクトリへのシンボリックリンクが指定 さ
              れた場合には、ディレクトリと同じように扱う。

       -s, --symbolic
              ハー ド リ ンクの代わりにシンボリックリンクを作成す
              る。シンボリックリンクをサポートしないシス テ ム で
              は、 このオプションを指定すると単にエラーメッセージ
              を出力する。

       -v, --verbose
              リンクを作成する前にそれぞれの名前を出力する。

GNU バックアップオプション
       GNU 版のプログラム cp, mv, ln, install そして patch は指示
       すれば上書き、修正、削除といった場合にファイルのバックアッ
       プを作成する。バックアップファイルを必要とする場合は -b オ
       プションで指示する。どういう名前にするかは -V オプションで
       指定する。バックアップファイルの名前を、ファイル名の添字の
       拡張によって与えるようにしたい場合、この添字を -S オプショ
       ンで指示する。

       -b, --backup
              上書きもしくは削除の必要がある場合にはファ イ ル の
              バックアップを作成する。

       -S SUFFIX, --suffix=SUFFIX
              SUFFIX をバックアップファイルそれぞれに付け加える。
              このオプションが指定されていない場合、環境変数 SIM-
              PLE_BACKUP_SUFFIX   に 設定されている値が使われる。
              SIMPLE_BACKUP_SUFFIX が設定されていない場合の標準値
              は `~' である。

       -V メソッド, --version-control=メソッド
              バックアップファイルの命名方法を指定する。 メソッド
              引数として `numbered' (または `t')、`existing' ( ま
              た は `nil')、もしくは `never' (または `simple') を
              指定できる。このオプションが指定されていない場 合、
              環 境 変 数  VERSION_CONTROL  の値が使われる。 VER-
              SION_CONTROL が設定されていない場 合 の 標 準 値 は
              `existing' である。

              こ のオプションは Emacs 変数の `version-control' に
              対応している。有効な メソッドは (他と重複しない短縮
              形が使える):

              t, numbered
                     常に番号の添字を持つバックアップが作られる。

              nil, existing
                     番号の添字を持つバックアップがすでにある場合
                     には番号の添字を持つバックアップを、そうでな
                     い場合には単純なバックアップを作成する。

              never, simple
                     常に単純なバックアップが作られる。

GNU 標準オプション
       --help 標準出力に使用方法のメッセージを出力して正常終了 す
              る。

       --version
              標準出力にバージョン情報を出力して正常終了する。

       --     オプションリストを終了する。

環境変数
       変 数 LANG, LC_ALL, LC_CTYPE, LC_MESSAGES が通常の意味を持
       つ。

準拠
       POSIX 1003.2. しかし、POSIX 1003.2 (1996) ではソフトリンク
       に つ い て触れていない。ソフトリンクは BSD により持ち込ま
       れ、System V release 3 (そしてそれ以前) のシステムで は 無
       い。

参照
       ls(1),  rm(1),  link(2),  lstat(2),  open(2), readlink(2),
       stat(2), unlink(2)

注意
       このページでは fileutils-4.0 パッケージでの ln コマンド に
       ついて説明している; その他のバージョンでは少し違いがあるか
       も し れ な い。 修 正  や  追  加  は   aeb@cwi.nl     と
       aw@mail1.bet1.puv.fi そして ragnar@macula.net 宛てメイルし
       てください。プログラム の バ グ に つ い て は  bug-fileu-
       tils@gnu.org へ報告してください。

GNU fileutils 4.0        17 November 1998                   LN(1)