Top>Linux>コマンド>ln

コマンド
ln

説明
リンクを作成する。
lnのバージョンは8.22とする。

書式
ln [OPTION]... [-T] TARGET LINK_NAME リンク先とリンク名を指定。
ln [OPTION]... TARGET  リンク先のみを指定する。リンク先と同一名称のリンクが作成さる。
ln [OPTION]... TARGET... DIRECTORY 複数のリンク先のリンクを指定したディレクトリ下に作成する。
ln [OPTION]... -t DIRECTORY TARGET... 前述の書式と同意。
※TARGET はリンク先のファイル、またはディレクトリ(要 -s オプション)
※デフォルトではハードリンクが作成される。

オプション
オプション 説明
--backup[=CONTROL] 対象ファイルが存在する場合バックアップを作成する。CONTROL には下記のものを設定可能となっている。
none, off:--backup オプションを設定した時でもバックアップを作成しない。
numbered, t: 番号付きバックアップを作成する。
existing, nil: 番号付きバックアップがあれば番号付き、なければ simple でバックアップを作成する。
simple, never: 常に簡易バックアップを作成する。接尾辞が'~'のファイル。
-b --backup と同様の処理を行うが引数をとらない。
-d, -F, --directory スーパーユーザがディレクトリに対するハードリンクを作成することを許可する。
※スーパーユーザーであってもシステムの制限により失敗する場合がある。
-f, --force 同じ名称のリンクが存在する場合、削除して作成する。
-i, --interactive リンクを削除する場合、削除するかどうか確認メッセージを表示する。
-L, --logical リンク先がシンボリックリンクの場合、そのリンクを辿ってリンクを作成する。
※リンク先がシンボリックシンクの場合、辿った先をリンクとして作成するようではないようである。(-s オプションを使用した場合)
※リンク先がファイルのシンボリックシンクの場合、-s オプションを使用しない場合は辿った先のファイルのハードリンクが作成される。 ※要仕様確認。
-n, --no-dereference リンク先がディレクトリに対するシンボリックリンクの場合、通常ファイルに対するリンクとして扱う。
※要仕様確認。
-P, --physical リンク先がシンボリックリンクの場合、リンクを辿った先のパスをリンク先としてシンボリックリンクを作成する。
-r, --relative リンクの場所からの相対パスのシンボリックリンクを作成する。
-s, --symbolic シンボリックリンクを作成する。
-S, --suffix=SUFFIX バックアップの接尾辞を設定する。--suffix で指定されていいない場合、また環境変数の SIMPLE_BACKUP_SUFFIX も設定されていない場合は デフォルトの接尾辞('~')が設定される。
バージョンの管理方法は --backup オプションや VERSION_CONTROL 環境変数で設定できる。
-t, --target-directory=DIRECTORY 指定したディレクトリ下にリンクを作成する。
-T, --no-target-directory 常にリンク名を通常ファイルとして扱う。
-v, --verbose リンクを作成した時にファイル名を表示する。
--help ヘルプメッセージを表示する。
--version バージョンを表示する。
--suffix バンクアップの接尾辞を設定する。--suffix で指定されていいない場合、また環境変数の SIMPLE_BACKUP_SUFFIX も設定されていない場合は デフォルトの接尾辞('~')が設定される。
バージョンの管理方法は --backup オプションや VERSION_CONTROL 環境変数で設定できる。

使用例
使用例① - ディレクトリ "tmpdir3" のシンボリックリンクを作成する。
[tmpuser@sv052 ~]$ ls
tmpdir1
[tmpuser@sv052 ~]$ ln -s tmpdir1/tmpdir2/tmpdir3
[tmpuser@sv052 ~]$ ls
tmpdir1 tmpdir3
[tmpuser@sv052 ~]$

使用例② - ディレクトリ "tmpdir3" のシンボリックリンク "tmpdir3link" を作成する。
[tmpuser@sv052 ~]$ ls
tmpdir1
[tmpuser@sv052 ~]$ ln -s tmpdir1/tmpdir2/tmpdir3 tmpdir3link
[tmpuser@sv052 ~]$ ls
tmpdir1 tmpdir3link

使用例③ - ファイル "file1" のハードリンクを作成する。
[tmpuser@sv052 ~]$ ls
tmpdir1
[tmpuser@sv052 ~]$ ln tmpdir1/tmpdir2/file1
[tmpuser@sv052 ~]$ ls
file1 tmpdir1

使用例④ - シンボリックリンクのリンクを作成する。リンクを辿らない場合。
[tmpuser@sv052 ~]$ ls tmpdir1/
tmpdir2 tmpdir3
[tmpuser@sv052 ~]$ ln -s tmpdir1/tmpdir3>
[tmpuser@sv052 ~]$ ls -l
合計 4
drwxrwxr-x 3 tmpuser tmpuser 4096 6月 29 19:59 tmpdir1
lrwxrwxrwx 1 tmpuser tmpuser 15 6月 29 19:59 tmpdir3 -> tmpdir1/tmpdir3

使用例⑤ - シンボリックリンクのリンクを作成する。リンクを辿る。
[tmpuser@sv052 ~]$ ls tmpdir1/
tmpdir2 tmpdir3
[tmpuser@sv052 ~]$ ln -rs tmpdir1/tmpdir3
[tmpuser@sv052 ~]$ ls -l
合計 4
drwxrwxr-x 3 tmpuser tmpuser 4096 6月 29 19:59 tmpdir1
lrwxrwxrwx 1 tmpuser tmpuser 23 6月 29 20:04 tmpdir3 -> tmpdir1/tmpdir2/tmpdir3

最終更新日:2021/06/29

- Published By MINDKERNEL.COM -