はじめに
こんにちは!今回はlnコマンドについて解説します。
lnはハードリンク・シンボリックリンク(シムリンク)を作成するコマンドです。ファイルへのショートカットを作ったり、複数の場所から同じファイルにアクセスしたりできます。
基本的だけど、理解する必要があるコマンド。リンク機構が分かるとLinuxがより深く理解できます。
lnコマンドとは
lnは、ファイルやディレクトリへのリンクを作成する外部コマンドです。Linuxのファイルシステムではリンクが重要な仕組みです。
ハードリンク(同じファイルへの複数の参照)とシンボリックリンク(ショートカット)の2種類があります。それぞれ異なる特性を持っています。
基本構文
|
|
デフォルトはハードリンク。シンボリックリンクには-sオプションを指定。
主なオプション
| オプション | 説明 |
|---|---|
-s |
シンボリックリンクを作成 |
-i |
上書き前に確認 |
-f |
既存ファイルを上書き |
-v |
詳細表示 |
-d |
ハードリンク(特殊) |
-b |
バックアップを作成 |
使用例
例1: ハードリンクを作成
|
|
実行結果:
|
|
ハードリンクで別の名前から同じファイルにアクセス。
例2: シンボリックリンクを作成
|
|
実行結果:
|
|
ショートカットのような存在。元ファイルが削除されるとリンク切れに。
例3: ディレクトリへのシンボリックリンク
|
|
実行結果:
|
|
ディレクトリへのシンボリックリンク作成。
例4: 詳細表示で作成
|
|
実行結果:
|
|
作成されたリンクの情報を表示。
例5: 既存ファイルを上書き
|
|
実行結果:
|
|
既存ファイルを強制的に上書き。
例6: lsでリンクを確認
|
|
実行結果:
|
|
lで始まる行がシンボリックリンク。
例7: リンク元を確認
|
|
実行結果:
|
|
シンボリックリンクの元ファイルを表示。
例8: ハードリンクの確認
|
|
実行結果:
|
|
同じiノード番号 = ハードリンク。
例9: ディレクトリ内に複数のシンボリックリンク
|
|
実行結果:
|
|
PATHに含まれるディレクトリにシンボリックリンク。
例10: リンクチェーン(シンボリックリンクのシンボリックリンク)
|
|
実行結果:
|
|
複数段階のリンク作成も可能。
Tips・注意点
ハードリンク vs シンボリックリンク
ハードリンク:
- 同じiノード
- 元ファイル削除後も有効
- ディレクトリに不可(特殊オプンで可)
シンボリックリンク:
- 別のiノード
- パスの参照
- 元ファイル削除でリンク切れ
相対パス vs 絶対パス
|
|
相対パスは移動に強い。
リンク切れの確認
|
|
シンボリックリンクの削除
|
|
実践的な使い方
アプリケーションのセットアップ
|
|
バージョン更新時にリンクを張り替えるだけで完了。
ホームディレクトリからのアクセス
|
|
大容量マウントへの短いパスを作成。
設定ファイルのバージョン管理
|
|
環境に応じてリンク先を変更。
ログファイルへのアクセス
|
|
頻繁にアクセスするログへのショートカット。
まとめ
lnコマンドのポイント:
- ハードリンク: 同じファイルへの複数参照(デフォルト)
- シンボリックリンク: ショートカット(
-sオプション) - -s: シンボリックリンク作成
- -i: 上書き前に確認
- -v: 詳細表示
- -f: 既存ファイルを上書き
- よく使う組み合わせ:
ln -s,ln -sv
リンク機構はLinuxの重要な概念。ハードリンクとシンボリックリンクの違いをしっかり理解すると、より効率的なシステム管理ができますよ!