📛
シンボリックリンクとは
シンボリックリンク(symbolic link/symlink)は、ファイルやディレクトリへの参照を提供する「仮想ショートカット」機能です。UNIX系OS(Linux/macOS)やWindowsで利用され、実体のパス情報を保持する特殊ファイルとして機能します。
基本仕様
-
作成コマンド(UNIX系)
ln -s [実体のパス] [リンク名] # 例: ln -s /var/www/html /home/user/web
-
特徴
- 実体ファイルとは独立(削除しても実体に影響なし)
- 異なるファイルシステム間の参照が可能
- 実体が移動/削除されると「壊れたリンク」となる
主な用途
用途 | 具体例 |
---|---|
パス短縮 | 深い階層のファイルへの簡易アクセス |
バージョン管理 |
/usr/bin/python → python3.12 のリンク |
ディスク節約 | 大容量ファイルの複数場所からの参照 |
環境設定 | 設定ファイルの共通化(例: .bashrc の一元管理) |
類似機能との比較
項目 | シンボリックリンク | ハードリンク | Windowsショートカット |
---|---|---|---|
実体依存性 | パス依存(実体移動で無効化) | inode依存(実体移動後も有効) | パス依存 |
ファイルシステム越え | 可能 | 不可 | 可能 |
ディスク使用量 | 最小(パス情報のみ) | 実体と同等 | メタデータ含む |
注意点
- セキュリティリスク: リンク先のパスが改竄可能な場合、意図しないファイルアクセスが発生
- 循環参照: ディレクトリリンクで自己参照すると無限ループの危険
- パス管理: 相対パス使用時はリンク位置を基準に解決される
実例(Linux環境):
# 確認方法
ls -l # 権限表示部に「l」が付与(例: lrwxrwxrwx)
# 壊れたリンクの検出
find . -type l -xtype l
主要OSでの名称
OS | 名称 |
---|---|
UNIX/Linux | シンボリックリンク |
Windows | ショートカット |
macOS | エイリアス |
シンボリックリンクはシステム管理の効率化に有用ですが、適切なパス管理とセキュリティ対策が必須です。特にサーバー環境では、リンク経由での重要なファイルアクセス制御に注意が必要です。
Discussion