Linux

【入門】シンボリックリンクの使い方!

ターミナル

最近はサーバー側を触ることが多く、CUIで色々と操作をする機会が増えました。

今まではAndroidの開発だったので、コマンドといえばsubversionやgitくらいしかなく、CUIで操作をすることに少し抵抗がありました。
正直に言うと、操作方法がよく分からないので怖かった、というのが正しいですね(笑)

しかし、一度CUIに慣れてしまうととても便利です!
乱数作成も、先日紹介したOpenSSLのコマンドだけで完結しますしね。

ということで、今回はシンボリックリンクの作成方法をご紹介します!

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

簡単に言うと、ショートカットのようなものです。

あるファイルやフォルダにシンボリックリンクを貼ることで、全く別のパスにあるファイルやフォルダを参照できるようになります。

例えば、以下のような2つのパスがあるとします。

  • /user/testA/link_to.txt
  • /user/testB/

ここで、/user/testB/symbolic_link というシンボリックリンクを作成します。
このシンボリックリンクの参照先は/user/testA/ とします。

この状態ではlink_to.txtへのパスは、以下の2通り存在することになります。

  • /user/testA/link_to.txt
  • /user/testB/symbolic_link/link_to.txt

/user/testA の直下にあるlink_to.txtに、/user/testB 直下のシンボリックリンクからアクセスすることができるのです!

シンボリックリンクのポイントは以下の通りです。

  • ディレクトリ構成を変更せずに、別ディレクトリのフォルダやファイルにアクセスできる
    ==> Windowsのショートカットのように使える
  • シンボリックリンクを張り替えるだけで、簡単に別のディレクトリやファイルを参照できる
    ==> スクリプト等に記載したパスを書き換えなくて良い

シンボリックリンクの作成!

それでは、実際にシンボリックリンクを作成してみましょう!

シンボリックリンクを作成するコマンドの基本形は以下となります。

ln -s {リンクの参照先} {シンボリックリンク名}

前述の例を元に、/user/testA/ を参照先とする/user/testB/symbolic_link というシンボリックリンクを作成してみましょう!

以下のコマンドを入力してください。

ln -s /user/testA/ /user/testB/symbolic_link

これでシンボリックリンクが作成されたはずですので、確認してみます。

ln -l /user/testB/symbolic_link

ファイルの一覧にlink_to.txtが表示されましたか?

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

今度は逆に、作成したシンボリックリンクを削除したい場合になります。

シンボリックリンクを削除する際のコマンドは以下となります。

unlink {シンボリックリンク名}

これでシンボリックリンクの削除は完了です。
とても簡単ですよね。

一応、以下のコマンドでもシンボリックリンクを削除することができます。

rm {シンボリックリンク名}

ですが、おすすめは unlink を使う方です。

rm でも削除できるのですが、

rm {シンボリックリンク}/

というように最後に / をつけてしまうと、シンボリックリンク先の実体が削除されてしまいます。

そのような事故が起きると悲しいので、 unlink で削除した方が安全です。

おわりに

今回は、シンボリックリンクを作成するコマンドを紹介しました。

まとめ
  • リンクの作成は「ln -s {リンクの参照先} {シンボリックリンク名}」
  • リンクの削除は「unlink {シンボリックリンク名}」がおすすめ

シンボリックリンクを使いこなせると、簡単に利便性をあげることができるので便利ですよね。

Linuxのコマンドには他にも色々と便利なものがありますので、一度全体を把握しておくと今後の学習が捗ると思います。

私は今でも時々辞書的な使い方をしています。

それでは、本日はここまで。
お読みいただきありがとうございました!