パンジェンシーの「汗だく開発日誌」

システム開発の備忘録です。

【Ubuntu】フォルダへのショートカット「シンボリックリンク」の作成

こんにちわ!
パンジェンシーです。

f:id:x-fieldatts:20150502134035p:plain

今回は、
Linux上でディレクトリ(フォルダ)やファイルへのショートカットを作成する方法です。

Linuxでは、「シンボリックリンク」と言います。

方法は簡単

例えば、
/var/xxx というディレクトリへのショートカットを
yyy という名前で現在のディレクトリに作成する場合、

$ ln -s /var/xxx yyy


とします。

ちなみに、lnコマンドに-sオブションをつけることで、シンボリックリンクを作成していますが、オプションをつけない場合、「ハードリンク」になります。

ハードリンクとシンボリックリンクの違いを調べてみましたが、
ざっくり言うと、

 

ハードリンク


私達がディレクトリに入っていると思っているデータは実際にディレクトリに入っているわけでなく、ディレクトリに入っているファイルには、データが実際に存在する場所が記載されている。

ハードリンクは、そのファイルを別の場所にもうひとつ作ったもの。

元のファイルと同じ機能を持つので、実際のデータにアクセスできる。

元のファイルを削除した場合も、新しく作ったハードリンクはデータの場所が直接わかるのでデータにアクセスできる。

つまり、実態は同じだけど、別の名前のファイルを複数作れるってこと。

元のファイルを頻繁に移動させる場合などに便利。
ですが、ディレクトリを指定することができない模様。

同じ家だけど、玄関を増やすようなイメージでしょうか。

シンボリックリンク

元のファイルへのパスが書かれている。

元のファイルを削除した場合、パスが参照するファイルがなくなるため、実際のデータへのアクセスはできなくなる。

つまり、windowsのショートカットと同じ。

別のファイルシステム内のファイルも指定できる点が便利。
ディレクトリも指定できる。

家の住所が書かれたものというイメージでしょうか。

まとめ

それぞれ、用途によって使い分けるのがよさそうですね。

ではまた。