インフラ

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

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

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

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

ハニ太郎
ハニ太郎
シンボリックリンクの扱い方を本記事でマスターしよう♪
Linux学習方法
【保存版】Linuxの学習方法を初心者向けにわかりやすく解説”効率よくLinuxのスキルを習得したい!”そんな初心者の方向けに本記事ではLinuxの学習方法を現役エンジニア目線で解説しております。Linuxのスキルを習得したい方は是非記事をご覧ください。...

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

クエスチョンマーク

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

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

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

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

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

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

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

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

ハードリンクの仕組み

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

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

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

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

 

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

FAQ

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

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

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

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

 

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

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

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

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

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

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

 

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

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

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

 

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

 

【おまけ】シンボリックリンク含めLinuxのスキルを習得するには?

エンジニア

前章でシンボリックリンクの使い方について解説しましたが、やはりLinuxのスキルを習得する上では体系的な理解が欠かせません。

本章ではおまけとしてLinuxの体系的な理解に役立つ学習リソースをご紹介いたします。

学習サイトでLinuxについて学ぶ場合

「学習サイトを活用してLinuxを習得したい!」という方には、”エンジニアの入り口”というサイトを個人的にはおすすめしたいです。

”エンジニアの入り口”はリナックスアカデミーが運営する、プログラミングやエンジニアリングを初心者向けに行っているサイトで、その中の一つに「Linux入門講座」があります。

このページは、全くLinuxの知識がない初心者の方でも、ステップバイステップで学べるLinux入門講座だ。Linuxの基礎的な使い方についてステップバイステップで学ぶことができるようになっている。Linuxをはじめて学ぶ際に、有効にご活用いただければと思う。出典:エンジニアの入り口

無料でLinuxの学習ができる上に内容もかなり充実しているので、個人的には他のどの無料学習サイトよりもおすすめです。

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

なお、エンジニアの入り口については上の記事でも紹介しているので気になる方はこちらもチェックしてみてください(^^)

書籍でLinuxについて学ぶ場合

書籍を使ってLinuxについて学習する場合に気をつけなければいけないのが、ただの座学になってしまうケースに陥りやすいという点です。

とは言っても、書籍での学習は体系的にLinuxの知識を身につけやすいなどのメリットもあるので好みの問題かなとは思います。(ちなみに私は学習サイトと書籍の二刀流派です笑)

個人的に初心者の方におすすめしたいLinux入門書は『ゼロからはじめるLinuxサーバー構築・運用ガイド』になります。

実際に手を動かしながらLinuxの基礎について学習することができるので、初心者の方でも楽しみながら挫折なく読了できるかと思います。

本書はLinuxの基礎からセキュリティまで、Webサーバーを運用するために身に付けるべき知識をまとめた書籍です。出典:Amazon

実践的かつ基本的なLinuxのスキルをざっと掴む上で当書は向いていると言えるでしょう。

Linuxおすすめ入門書
【2021年版】Linuxの独学におすすめの入門書7選Linuxについて勉強する際におすすめの入門書を5冊紹介。Linuxに関する知識はエンジニアにとって必要不可欠なものなので、早いうちにLinuxについて学んでおきましょう。...

また、その他の良質なLinux入門書も加味した上で書籍を選択したいという方向けに記事を書いているのでこちらも参考にしてみてください(^^)

サイトや書籍を有効活用してLinuxの基礎を効率よく習得していきましょう。

 

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

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

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

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

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

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

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

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

Linux学習方法
【保存版】Linuxの学習方法を初心者向けにわかりやすく解説”効率よくLinuxのスキルを習得したい!”そんな初心者の方向けに本記事ではLinuxの学習方法を現役エンジニア目線で解説しております。Linuxのスキルを習得したい方は是非記事をご覧ください。...
こちらの記事もおすすめ!

COMMENT

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