多くのOSではファイルやディレクトリに別名を付与し、異なった名前で同一のファイルにアクセスする仕組みが備わっております。Linuxの場合これがハードリンクとシンボリックリンクに該当します。本記事ではシンボリックリンクに焦点を当て、作成から確認・変更・削除方法まで簡潔に解説していきます。
【公式HP】https://flxy.jp/
- 90%以上がフルリモート案件
- 週1〜3日程度の副業向け案件が多い
- 自身のライフスタイルに合った働き方ができる
- 希望に合わせてコーディネーターが最適な提案をしてくれる
- 定期開催される交流会や勉強会で人脈を広げることができる
\ 最短60秒で登録可能! /
目次
シンボリックリンクとは?ハードリンクとの違い
シンボリックリンクの使い方の前にまずは、シンボリックリンクの仕組みとハードリンクとの違いをしっかり押さえておきましょう。
”シンボリックリンク”とは、リンク元(本体)の場所を指し示す別のファイルを作成して、そこから本体を参照できるようにする仕組みです。
と言っても、いまいちピンと来ないかと思いますので、以下にシンボリックリンクの仕組みを図で表現したものを掲載しておきます。
重要なのはシンボリックリンクはあくまでリンク元の置き場を見にいくだけという点です。
この仕組みによりinodeに依存していないため、シンボリックリンクを残したままリンク元のファイルを削除するなんてこともできます。
一方、ハードリンクの仕組みを表したものが以下の図なのですが両者実体を指し示していることがお分かりいただけるかと思います。
名前とファイルの配置場所が異なっていようが実際には同じものを見ているイメージです。
ハードリンクでは元のファイルとリンクとして作成したファイルの区別がつけられません。
そのため、ハードリンクの場合はいずれのハードリンクファイルに変更を加えても同一の実体に対して変更を加えることになります。
シンボリックリンクの使い方
シンボリックリンクとハードリンクの違いを押さえたところで、本題のシンボリックリンクの使い方について解説していきたいと思います。
シンボリックリンクの作成方法
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の基礎からセキュリティまで、Webサーバーを運用するために身に付けるべき知識をまとめた書籍です。出典:Amazon
実践的かつ基本的なLinuxのスキルをざっと掴む上で当書は向いていると言えるでしょう。
また、その他の良質なLinux入門書も加味した上で書籍を選択したいという方向けに記事を書いているのでこちらも参考にしてみてください(^^)
サイトや書籍を有効活用してLinuxの基礎を効率よく習得しましょう。
【Linux】シンボリックリンクの作成、確認、変更、削除について解説|まとめ
シンボリックリンクの仕組みと基本的な使い方について理解できたでしょうか?
Linuxの学習は全てに言えることですが、実際にコマンドを打ち込み実行結果を確認することでスキルが身についていきますので是非ご自身の環境でコマンドを叩いてみてください。
https://engineer-life.dev/mac-local-development-environment/
手持ちのMacにLinuxの環境を構築する方法は上の記事で触れていますので、学習環境が整っていない方は参考にしていただけると嬉しいです。
ここまで記事を読んでいただきありがとうございました。本記事がシンボリックリンクの学習に少しでもお役に立てたのなら幸いです。
- 90%以上がフルリモート案件
- 週1〜3日程度の副業向け案件が多い
- 自身のライフスタイルに合った働き方ができる
- 希望に合わせてコーディネーターが最適な提案をしてくれる
- 定期開催される交流会や勉強会で人脈を広げることができる
\ 最短60秒で登録可能! /
https://engineer-life.dev/linux-learning-method/