📛

シンボリックリンクとは

2025/04/14に公開

シンボリックリンク(symbolic link/symlink)は、ファイルやディレクトリへの参照を提供する「仮想ショートカット」機能です。UNIX系OS(Linux/macOS)やWindowsで利用され、実体のパス情報を保持する特殊ファイルとして機能します。

基本仕様

  • 作成コマンド(UNIX系)
    ln -s [実体のパス] [リンク名]  # 例: ln -s /var/www/html /home/user/web
    
  • 特徴
    • 実体ファイルとは独立(削除しても実体に影響なし)
    • 異なるファイルシステム間の参照が可能
    • 実体が移動/削除されると「壊れたリンク」となる

主な用途

用途 具体例
パス短縮 深い階層のファイルへの簡易アクセス
バージョン管理 /usr/bin/pythonpython3.12 のリンク
ディスク節約 大容量ファイルの複数場所からの参照
環境設定 設定ファイルの共通化(例: .bashrcの一元管理)

類似機能との比較

項目 シンボリックリンク ハードリンク Windowsショートカット
実体依存性 パス依存(実体移動で無効化) inode依存(実体移動後も有効) パス依存
ファイルシステム越え 可能 不可 可能
ディスク使用量 最小(パス情報のみ) 実体と同等 メタデータ含む

注意点

  1. セキュリティリスク: リンク先のパスが改竄可能な場合、意図しないファイルアクセスが発生
  2. 循環参照: ディレクトリリンクで自己参照すると無限ループの危険
  3. パス管理: 相対パス使用時はリンク位置を基準に解決される

実例(Linux環境):

# 確認方法
ls -l  # 権限表示部に「l」が付与(例: lrwxrwxrwx)

# 壊れたリンクの検出
find . -type l -xtype l

主要OSでの名称

OS 名称
UNIX/Linux シンボリックリンク
Windows ショートカット
macOS エイリアス

シンボリックリンクはシステム管理の効率化に有用ですが、適切なパス管理とセキュリティ対策が必須です。特にサーバー環境では、リンク経由での重要なファイルアクセス制御に注意が必要です。

Discussion