ln コマンドは、ファイルへのリンクを作成するために使用されます。リンクを使用すると、あるディレクトリ (リンク) 内のファイル名が別のディレクトリ (ターゲット) 内のファイルを指すことができます。リンクには、それ自体のデータは含まれず、ターゲット ファイルへの参照のみが含まれます。リンクを変更すると、ターゲット ファイルに反映されます。リンク名を指定しない場合、ln コマンドは現在の作業ディレクトリにリンクを作成します。
構文
ln コマンドの構文は次のとおりです。
# ln [options] {target name} [link name] ln コマンド オプション
ln コマンドにはさまざまなオプションがあります。よく使用されるオプションの一部を次の表に示します。
| オプション | 慣れている | 
|---|---|
| –バックアップ | 既存の宛先ファイルをバックアップします。 | 
| -f | 既存の宛先ファイルを削除します。 | 
| -s | ハード リンクの代わりにシンボリック リンクを作成します。 -i 宛先ファイルの削除を求めるプロンプト。 | 
| -v | リンクする前にファイル名を出力します。 | 
リンクの例
以下は、ln コマンドを使用してハード リンクを作成する例です。ここで、/backup/backup-report はリンクのターゲットであり、~/backup-report はリンク自体です:
$ ln /backup/backup-report ~/backup-report
以下は同じ例ですが、ハード リンクの代わりにシンボリック リンクを作成しています:
$ ln -s /backup/backup-report ~/backup-report
ln コマンドの実行中に以下のエラーが発生した場合:
ln: command not found
選択したディストリビューションに従って、以下のパッケージをインストールしてみてください:
| 分布 | コマンド | 
|---|---|
| OS X | brew install coreutils | 
| Debian | apt-get install coreutils | 
| Ubuntu | apt-get install coreutils | 
| アルパイン | apk add coreutils | 
| Arch Linux | pacman -S coreutils | 
| カリ Linux | apt-get install coreutils | 
| CentOS | yum install coreutils | 
| Fedora | dnf install coreutils | 
| Raspbian | apt-get install coreutils | 
ln コマンドの例
1. 既存のファイルのリンクを作成するには:
# ln file.txt file.ln
2. 既存のファイルのソフト リンクを作成するには:
# ln -s file.txt file.ln
3. 各宛先ファイルのバックアップを作成するには:
# ln --backup file.txt file.bk
4. スーパー ユーザーがハード リンク ディレクトリを作成できるようにするには:
# ln -d
5. 既存の宛先ファイルを削除してリンクを作成するには:
# ln -f # ln --force
6. 宛先ファイルを削除するかどうかを確認するには:
# ln -i # ln --interactive
7. シンボリック リンク参照へのハード リンクを作成するには:
# ln -L # ln --logical
8. 宛先のシンボリック リンク ディレクトリをファイルとして扱うには:
# ln -n # ln --no-dereference
9. シンボリック リンクに直接ハード リンクを作成するには:
# ln -P # ln --physical
10. ハード リンクの代わりにシンボリック リンクを作成するには:
# ln -s
11. 通常のバックアップ サフィックスをオーバーライドするには:
# ln -S # ln --suffix=SUFFIX
12. ディレクトリを作成するディレクトリを指定するには:
# ln -t # ln --target-directory=DIRECTORY
13. リンク名を通常のファイルとして扱うには:
# ln -T # ln --no-target-directory
14. リンクされた各ファイルの名前を印刷するには:
# ln -v # ln --verbose
15. ln のヘルプを表示するには:
# ln --help
16. バージョン情報を取得するには:
# ln --version