インフラ PR

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

linux-symlink
記事内に商品プロモーションを含む場合があります

多くのOSではファイルやディレクトリに別名を付与し、異なった名前で同一のファイルにアクセスする仕組みが備わっております。Linuxの場合これがハードリンクとシンボリックリンクに該当します。本記事ではシンボリックリンクに焦点を当て、作成から確認・変更・削除方法まで簡潔に解説していきます。

今すぐ案件を探す!

フリーランスエンジニアのための高単価案件紹介サービス【FLEXY(フレキシー)】【公式HP】https://flxy.jp/

  • 90%以上がフルリモート案件
  • 週1〜3日程度の副業向け案件が多い
  • 自身のライフスタイルに合った働き方ができる
  • 希望に合わせてコーディネーターが最適な提案をしてくれる
  • 定期開催される交流会や勉強会で人脈を広げることができる

\ 最短60秒で登録可能! /
無料会員登録
案件を探す

infra-engineer-sidejob-start
【土日リモートOK】インフラエンジニアの副業の始め方とおすすめの案件獲得サイト20選インフラエンジニアとして副業収入を得たい人向けに本記事では副業の始め方と週1,2日や土日リモートで働ける案件を扱うおすすめのサイトを現役エンジニア目線で厳選して紹介しております。...

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

search

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

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

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

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

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

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

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

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

ハードリンクの仕組み

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

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

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

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

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

engineer

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

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

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

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

 

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

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

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

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

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

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

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

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

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

 

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

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

good-money

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

linux-book
【2024年最新】Linuxの独学におすすめの本7選を現役エンジニアが紹介Linuxについて独学する際におすすめの本を5冊紹介。Linuxに関する知識はエンジニアにとって必要不可欠なものなので、早いうちにLinuxについて学んでおきましょう。...

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

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

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

linux-symlink

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

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

https://engineer-life.dev/mac-local-development-environment/

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

ここまで記事を読んでいただきありがとうございました。本記事がシンボリックリンクの学習に少しでもお役に立てたのなら幸いです。

今すぐ案件を探す!

フリーランスエンジニアのための高単価案件紹介サービス【FLEXY(フレキシー)】【公式HP】https://flxy.jp/

  • 90%以上がフルリモート案件
  • 週1〜3日程度の副業向け案件が多い
  • 自身のライフスタイルに合った働き方ができる
  • 希望に合わせてコーディネーターが最適な提案をしてくれる
  • 定期開催される交流会や勉強会で人脈を広げることができる

\ 最短60秒で登録可能! /
無料会員登録
案件を探す

https://engineer-life.dev/linux-learning-method/

linux-book
【2024年最新】Linuxの独学におすすめの本7選を現役エンジニアが紹介Linuxについて独学する際におすすめの本を5冊紹介。Linuxに関する知識はエンジニアにとって必要不可欠なものなので、早いうちにLinuxについて学んでおきましょう。...
こちらの記事もおすすめ!

COMMENT

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