プログラミング

【Linux】シンボリックリンクの作成/確認/変更/削除について解説

Linuxシンボリックリンク

多くのOSではファイルやディレクトリに別名を付与し、異なった名前で同一のファイルにアクセスする仕組みが備わっております。

Linuxの場合これがハードリンクとシンボリックリンクに当たるのですが、本記事ではシンボリックリンクに焦点を当て、作成から確認・変更・削除方法まで簡潔に解説していきたいと思います。

ハニ太郎
ハニ太郎
シンボリックリンクの扱い方を本記事でマスターしよう♪

シンボリックリンクとは?ハードリンクとの違い

シンボリックリンクとハードリンク

シンボリックリンクの使い方の前にまずは、シンボリックリンクの仕組みとハードリンクとの違いをしっかり押さえておきましょう。

シンボリックリンク”とは、リンク元(本体)の場所を指し示す別のファイルを作成して、そこから本体を参照できるようにする仕組みです。

と言っても、いまいちピンと来ないかと思いますので、以下にシンボリックリンクの仕組みを図で表現したものを掲載しておきます。

シンボリックリンクの仕組み

重要なのはシンボリックリンクはあくまでリンク元の置き場を見にいくだけという点です。

この仕組みによりinodeに依存していないため、シンボリックリンクを残したままリンク元のファイルを削除するなんてこともできます。

inodeとはファイルの属性情報が格納されたもので、Linuxでファイルを作成すると自動的に重複しない番号が割り当てられる。

一方、ハードリンクの仕組みを表したものが以下の図なのですが両者実体を指し示していることがお分かりいただけるかと思います。

ハードリンクの仕組み

名前とファイルの配置場所が異なっていようが実際には同じものを見ているイメージです。

ハードリンクでは元のファイルとリンクとして作成したファイルの区別がつけられません。

そのため、ハードリンクの場合はいずれのハードリンクファイルに変更を加えても同一の実体に対して変更を加えることになります。

シンボリックリンクはリンク元の置き場を参照するだけの仕組み。一方のハードリンクはファイルの実体を指し示す。

シンボリックリンクの使い方

シンボリックリンク 使い方

シンボリックリンクとハードリンクの違いを押さえたところで、本題であるシンボリックリンクの扱いについて解説していきたいと思います。

シンボリックリンクの作成方法

Linuxではlnコマンドを実行することでリンクを作成することができます。(シンボリックリンクを作成するには「-s」オプションを指定)

ln -s [既存のPATH名] [別名のPATH名]

 

※ちなみに「-s」オプションを付けないとハードリンクが作成されます。

シンボリックリンクの確認方法

作成したシンボリックリンクは「ls -l」コマンドで確認することができます。(「->」と表示されていればシンボリックリンクです。)

シンボリックリンクの変更方法

シンボリックリンクのリンク先を変更させるには、以下のようにlnコマンドに「-nfs」オプションを付与して実行します。

ln -nfs [リンク元のPATH] [シンボリックリンクのPATH]

 

シンボリックリンクの削除方法

シンボリックリンクを削除するには「unlink」コマンドを実行します。(※rmコマンドでも可能ですがミスった際に大事に至る可能性があるのでunlinkコマンドを推奨)

unlink [シンボリックリンクのPATH]

 

なお、ディレクトリのシンボリックリンクを削除する際、末尾に「/」が入っているとエラーとなってしまうので注意が必要です。

シンボリックリンク【まとめ】

シンボリックリンクまとめ

シンボリックリンクの仕組みと基本的な使い方について理解できたでしょうか?

Linuxの学習は全てに言えることですが、実際にコマンドを打ち込み実行結果を確認することでスキルが身についていきますので是非ご自身の環境でコマンドを叩いてみてください。

Macでローカル開発環境の構築
【決定版】VirtualBoxとVagrantでローカル開発環境構築(Mac編)VirtualBoxとVagrantを用いてMacにローカル開発環境を構築するには?本記事ではプログラミング初心者が挫折しないようMacにローカル開発環境を構築するまでの手順をわかりやすく解説しております。...

手持ちのMacにLinuxの環境を構築する方法は上の記事で触れていますので、学習環境が整っていない方は参考にしていただけると嬉しいです。

ハニ太郎
ハニ太郎
ここまで記事を読んでいただきありがとうございました♪

本記事がシンボリックリンクの学習に少しでもお役に立てたのなら幸いです。ではっ!!!

Linux学習サイトならエンジニアの入り口がおすすめ
【無料】Linux学習サイトなら”エンジニアの入り口”がおすすめLinux学習におすすめの入門サイトなら”エンジニアの入り口”がおすすめ。本記事ではなぜ”エンジニアの入り口”がおすすめか解説しております。これからLinuxを習得したいと考えている方は必見です。...
こちらの記事もおすすめ!

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です