ln

<概要>

機能 ファイルへのリンクを作成する
書式
ln [オプション] source [dest]

ln [オプション] source… directory

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

シンボリックリンクとハードリンクの違いについては、別途記載。

非常にオプションが多いのだが、シンボリックリンク(Windows系で言うところのショートカット)を作成するのであれば、”-s”オプションを使うくらいか。
後は、リンク先とリンクファイルのどちらを先に記述するのか、慣れないと間違えやすい。
ln -s (リンク先) (リンクファイル)
の順になる。

<オプション>

オプション 説明
-f 指定したリンクファイルがすでにあった場合は削除する。
-d
-F
–directory
スーパーユーザーがディレクトリへのハードリンクを作成するのを許す。
-f
–force
指定したリンクファイルがすでにあった場合は削除する。
-i
–interactive
指定したリンクファイルがすでにあった場合は、削除するかどうか問い合わせを行う。
-n
–no-dereference
明示的にディレクトリにシンボリックリンクしているリンクファイルが指定された場合、それを普通のファイルと同じように扱う。
リンク先が実際のディレクトリ (どこかへのシンボリックリンクではない) の場合、そのディレクトリ内にリンクが作成される。
しかしディレクトリへのシンボリックリンクがリンクファイルとして指定された場合、2 つの可能性がある。
ln コマンドは指定されたリンクファイルを通常のディレクトリのように扱い、その中にリンクを作成することができる。
もう 1 つは、リンクファイルが非ディレクトリ – シンボリックリンクそのものであるとして扱うことができる。その場合には、 ln コマンドは新しいリンクを作成する前にシンボリックリンクを削除、またはバックアップする必要がある。デフォルトでは、ディレクトリへのシンボリックリンクが指定された場合には、ディレクトリと同じように扱う。
-s
–symbolic
ハードリンクの代わりにシンボリックリンクを作成する。シンボリックリンクをサポートしないシステムでは、このオプションを指定すると単にエラーメッセージを出力する。
–target-directory=DIR コマンドラインの最後の引き数として指定する代わりに、このオプションでリンク先ディレクトリを指定する。 xargs と一緒に使う場合に便利である。
-v
–verbose
リンクを作成する前にそれぞれの名前を出力する。
-b
–backup[=METHOD]
上書きもしくは削除の必要がある場合にはファイルのバックアップを作成する。 -b は引き数をとらない点に注意すること。
-S SUFFIX
–suffix=SUFFIX
SUFFIX をバックアップファイルそれぞれに付け加える。このオプションが指定されていない場合、環境変数 SIMPLE_BACKUP_SUFFIX に設定されている値が使われる。 SIMPLE_BACKUP_SUFFIX が設定されていない場合、デフォルトは ‘~’ である。
-V METHOD
–version-control=METHOD
このオプションは推奨されない。代わりに –backup=METHOD を使うこと。
バックアップファイルの命名方法を指定する。 METHOD 引き数として‘numbered’ (または ‘t’)、‘existing’ (または ‘nil’)、 ‘never’ (または ‘simple’) を指定できる。このオプションが指定されていない場合、環境変数 VERSION_CONTROL の値が使われる。 VERSION_CONTROL が設定されていない場合、デフォルトのバックアップタイプ は  ‘existing’ である。
このオプションは Emacs 変数の ‘version-control’ に対応している。
有効な METHOD は (他と重複しない短縮形が使える):
t
numbered
常に番号の添字を持つバックアップが作られる。
nil
existing
番号の添字を持つバックアップがすでにある場合には番号の添字を持つバックアップを、そうでない場合には単純なバックアップを作成する。
never
simple
常に単純なバックアップが作られる。
オプションリストを終了する。
–help ヘルプを表示して終了
–version バージョン情報を表示して終了

<使用例>

1.管理用ユーザーのホームディレクトリからデータ用パーティションにシンボリックリンクを貼る

$ cd /exData
$ sudo mkdir hoge
$ sudo chown hoge.hoge hoge
$ ln -s /exData/hoge exData
$ cd

[hoge@localhost hoge]$ ll
合計 0
lrwxrwxrwx 1 hoge hoge 15  1月  7 17:56 2016 exData -> /exData/hoge

ユーザー名は”hoge”で、あらかじめ”/exData”というパーティション(ディレクトリ)を作成済み。
“/exData”内に”hoge”用のディレクトリを作成し、そこへのリンクをユーザー”hoge”のホームディレクトリ内に作成するというもの。

コメント

タイトルとURLをコピーしました