新Linux入門|ショートカットのように使える!Linuxのシンボリックリンクとは?

Windowsで「ショートカット」を使ったことはありますか?
実は、Linuxにも同じように“別の場所のファイルやフォルダを参照する仕組み”があります。
それが 「シンボリックリンク(Symbolic Link)」 です。

 シンボリックリンクを使うと、よく使うファイルやディレクトリを別の場所から簡単にアクセスできるようになります。
 たとえば、「/var/log」の中のファイルを自分のホームディレクトリからすぐに開きたいときなど、とても便利です。

 ここでは、AlmaLinux 9.6 を例に、シンボリックリンクの仕組みと作り方をやさしく解説していきます。

🧭シンボリックリンクとは?

 シンボリックリンク(symbolic link)とは、実体のファイルやディレクトリへの“参照”を持つ特別なファイルです。
実際のデータは持たず、リンク先のパス情報だけを保存している点が特徴です。

Windowsの「ショートカット」やmacOSの「エイリアス」と同じような感覚で使えます。

項目内容
ファイルの種類通常ファイルやディレクトリを指し示す「リンクファイル」
実体データ含まれない(パス情報のみ保持)
参照方法リンク先パスを辿って実際のファイルを参照
削除の影響元ファイルが削除されるとリンクは切れる(無効化される)
使用例設定ファイルの共通化、よく使うディレクトリへのショートカットなど

💡 ポイント
ハードリンクとは異なり、シンボリックリンクは別のiノードを持ちます。
そのため、異なるファイルシステム間でも作成できるのが大きな利点です。

⚙️ シンボリックリンクを作成するコマンド

シンボリックリンクを作成するには、ln コマンドに -s オプションを付けます。

コマンド書式

ln -s [オリジナルファイルまたはディレクトリ] [シンボリックリンク名]
オプション説明
-sシンボリックリンクを作成する。
-v作成したリンクの詳細を表示する。
-f既に存在するファイルを上書きしてリンクを作成する。
--helpヘルプを表示する。

💬 補足
オプションを指定しない ln コマンドはハードリンクを作成します。
シンボリックリンクを作成するときは 必ず -s を付けましょう。

🖥️ シンボリックリンクの作成例

① 元ファイルの作成

[suzuki@AlmaLinux ~]$ echo "This is the original file." > file1
[suzuki@AlmaLinux ~]$ cat file1
This is the original file.

② シンボリックリンクを作成

[suzuki@AlmaLinux ~]$ ln -s file1 link_to_file1
[suzuki@AlmaLinux ~]$ ls -l
合計 8
-rw-r--r-- 1 suzuki suzuki 27 10月 28 22:10 file1
lrwxrwxrwx 1 suzuki suzuki  5 10月 28 22:11 link_to_file1 -> file1

📘 説明

  • 「l(小文字のL)」から始まる行が、シンボリックリンクを意味します。
  • -> file1 は、このリンクが file1 を参照していることを示しています。
  • 実体データは file1 にあり、link_to_file1 は単なる「パスの案内板」です。

③ 内容を確認してみる

[suzuki@AlmaLinux ~]$ cat link_to_file1
This is the original file.

📘 結果:
link_to_file1 を開いても、file1 の内容が表示されます。
つまり、リンクを通して元のファイルを読んでいるわけです。

④ 元ファイルを削除してみる

[suzuki@AlmaLinux ~]$ rm file1
[suzuki@AlmaLinux ~]$ cat link_to_file1
cat: link_to_file1: そのようなファイルやディレクトリはありません

📘 結果
 元ファイル(file1)が削除されると、リンク先が存在しなくなるため、リンクが「壊れた状態(broken link)」になります。
この点が、ハードリンクとの大きな違いです。

🧠 ハードリンクとの違い

比較項目ハードリンクシンボリックリンク
iノード同じ異なる
元ファイル削除時データは残るリンク切れになる
ファイルシステム同一FS内でのみ有効異なるFS間でも可
ディレクトリへのリンク原則不可可能
実体データを共有パスを参照
コマンド例ln file1 link1ln -s file1 link1

💡 覚え方

  • ハードリンク = 実体を共有する兄弟ファイル
  • シンボリックリンク = 住所を教えてくれる案内板

🧩 シンボリックリンクの活用シーン

利用シーン内容
よく使うディレクトリのショートカット例:ln -s /var/log ~/logs で自分のホームから直接アクセス
設定ファイルの共通化例:ln -s /etc/nginx/conf.d/app.conf ./config.conf
バージョン管理の切り替え例:/usr/bin/python を python3.12 にリンクして環境を簡単に変更
システム構成の柔軟化パス変更に対応する際、リンクの貼り替えで済む

シンボリックリンクをうまく使うと、システム管理や環境設定が驚くほどスムーズになります。

✅ まとめ:シンボリックリンクで操作をスマートに!

シンボリックリンクは、Linuxの世界のショートカットです。
ファイルやディレクトリを別の場所から簡単に参照でき、
システム運用や開発環境の整理に欠かせない機能です。

💡 ポイントまとめ

  • ln -s コマンドで作成
  • 実体はなく、リンク先パスのみを保持
  • 異なるファイルシステム間でも使える。
  • 元ファイル削除時は「リンク切れ」に注意

使い方を理解すれば、日常のファイル操作や設定管理がもっと効率的になります。