質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

13回答

8969閲覧

シンボリックリンクはどういった時に使いますか?(辞書的な意味では把握してますが、使う場面がわかりません)

kento2543

総合スコア163

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

3クリップ

投稿2015/05/07 13:40

シンボリックリンクという言葉はこれまで幾度か聞いたことがありますが、
これがどういう場面で使われるのか未だに理解ができません。

辞書的な意味をはじめ、ネットで概要については調べました。

その中での私の認識では、
「すでにあるファイルに別名をつけて、 その名前で参照できるようにするモノ」
だと思っております。

そこで以下質問です。

1)ファイルのバックアップみたいな用途で使うのかなと思ったのですが、
そういう使い方をされるのでしょうか?

2)また、もしそうであるとしても、「.org」等して、バックアップファイルを生成することと
使い勝手の違いがよくわかりません。
(参照できるところが便利なんだろうなとは漠然と思いますが、まだよさがわかりません)

3)その他、どういう場面で使われるのか、皆様の実例を教えて下さい。
事例を多く知りたいため、複数回答だと尚有難いです。

以上お手数ですが、ご協力の程宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答13

0

いろいろなケースがあると思います。
1.1つの物に別名を付けたい
viと言うエディタには、ex view rvi rview といった別名があり、どの名前で呼び出されたかによって動作が異なります。

2.差し替え可能なものを常に同じ名前で呼びたい
メールサーバーソフト(SMTPソフト)には、sendmail postfix qmailなど複数あって、どれか一つを使います。どれを使う場合でも、/bin/mail や /usr/lib/sendmail といった名前で使うことが出来ます。
何らかの理由で別のSMTPソフトに切り替えた場合でも、使う側は修正不要です。
あるいは、バージョン番号を含んだファイルを、バージョン無しの名前で利用して、バージョンが変わったらリンク先を変えるなど。

3.同じ物を複数のディレクトリに置きたい
カレントディレクトリにある物は、コマンドラインからの指定が楽です。よく使うディレクトリやファイルへのシンボリックリンクを、作業用のディレクトリに置いておくと楽。
Windowsのデスクトップに、いろいろな物のショートカットを置くのもこれと同じですね。

まだ他にもあると思いますが、これくらいで。

投稿2015/05/07 14:35

otn

総合スコア84557

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

実行命令を実行するプログラムがあるとします。
/foo/bar/program

実際のモジュールはバージョン名付で次に格納されています。
/foo/bar/pg/program-v1
/foo/bar/pg/program-v2
/foo/bar/pg/program-v3

シンボリックリンクをこうします。
/foo/bar/program -> /foo/bar/pg/program-v3

リリースはファイルを配置してシンボリックリンクを変えればOK!

みたいな感じでもつかえますよ。

投稿2015/05/07 14:46

tyoku

総合スコア67

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

■ショートカットとしての利用

~/access.log --> /var/log/apache/access.log

みたいに深い階層にあるファイルへのショートカットとして使ってみたり。

■複数バージョンの共存のため
例えば、

・/opt/local/hoge_1.0.0
・/opt/local/hoge_1.5.0
・/opt/local/hoge_2.0.0

という同じアプリケーションの複数のバージョンがインストールされている場合、

/opt/local/hoge --> /opt/local/hoge_2.0.0

としておけば、過去のバージョンを残しつつ、最新バージョンを利用することが可能、といった使い方をします。

投稿2015/05/24 04:32

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ログだけ別のパーティションに置きたいときとかに使うことがあります。

たとえばインストーラが /usr/local/product01/ みたいなディレクトリ配下に
bin, log, .. を作ったとして、log ディレクトリだけ別のとこに変えたい
というようなケースです。

投稿2015/05/09 15:56

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

まっとうな用法ではありませんが、「シンボリックリンク攻撃」というような攻撃手法も存在します。

悪意のあるユーザーが、/etc/passwdのような重要なファイルを指すシンボリックリンクを仕掛けておいて、ターゲットとなるプログラムが普通のファイルを開くつもりでそのシンボリックリンクを開いてしまい、悪意のあるユーザーの権限ではなくプログラム自体の権限で当該のファイルにアクセスできてしまう、というような手法です。

IPAのセキュアプログラミング講座より

他の回答にもありますように、もちろんシンボリックリンクは有用な機能ですが、裏返しでこんな危険性があることを知っておいても、損はないでしょう。

投稿2015/05/08 01:21

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

他の方が上げた利用例とは異なった部分で利用していたので回答します.

他の方の回答と同じような利用ケースももちろんありますが,
私は,dotfilesを全部シンボリックリンクにしています.
(dotfilesは,bashやzsh, vim, tmux などの設定ファイルを指しています)

設定ファイルをgithubなどのリポジトリで管理し,任意の場所にcloneして
シェルスクリプトを実行すればすべてホームディレクトリに設置されるようにしてます.

シンボリックリンクにしているのは,pullしたときに勝手に反映されると楽だからです.

投稿2016/03/23 16:02

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Windowsでいうところのショートカットと
同じ使い方と思ってほぼok

言葉は知ってるけど使ったことが無い
もっというとunixを使ったことがないので
イメージがわかないってことなのかなあ。
実際に ln コマンドで作ってみるといいと思う。
興味がわいたならファイルシステムについて
調べてみるといいかもしれません。

投稿2016/03/23 12:38

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

うーん・・・シンボリックリンクをサボリックリンクと読んでみたり。

よく使う場面としては、
・インストーラ(パッケージインストーラも含む)が自動的にシステム用ショートカットとして作成してくれる
・ディレクトリ階層が深くオリジナルのハック(便利)ツールを引っ張ってくるとき
・ruby,pythonなど開発用の環境をバージョンごとに用意しなくてはならないとき
・データベースのバックアップデータを外部媒体に保持してあり、特定ディレトリ経由でマウントする必要があるとき

やはり必要だから生まれた んでしょうね。

投稿2016/03/21 05:29

lib

総合スコア446

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Windowsでの例ですが、直近で実際にしたのは、
C:\WINDOWS\SoftwareDistribution\Download
を、
D:\Download
にしました。Cドライブの空きがなくなり、WindowsUpdateのダウンロードファイルをDドライブを使用するようにしました。
TEMPや仮想メモリファイルや、Temporary Internet Filesなど、環境変数やレジストリ等で場所を変えれる物はできるのですが、場所を指定する設定が存在しないとか、%SystemRoot%からの相対パスの場所などを変更するのに有用です。
Linux/Unixでも、/home/hoge/Log を /tmp/Log にしたりと領域またがりは可能だと思います。

あと、一般的な使い方としては、Tomcat上のJavaのWEBアプリだとして、
WEB-INF/src/config.properties という設定ファイルを /WEB-INF/classes/config.properties
にリンクする(ソースファイル側の設定ファイルと、実行側オブジェクトの設定ファイルを同一にする)などです。
EclipseでBuildすると、上記例はコピーしてくれますが、BATやshellで自分でコンパイルするなどの場合は同一目的の設定ファイルの乱立を防ぐことができるかと。

投稿2016/03/18 15:13

kanchan

総合スコア79

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ディスク装置を増設してデータをそっちに移動して,パスの設定を変更するのが面倒くさかったのでシンボリックリンクを元あった所に作りました.

投稿2015/06/17 11:53

KenTerada

総合スコア751

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

どなたも触れられていないので…
太古の昔、if test -e /hoge then...と記述していたものを、if [ -e /hoge ] thenと記述できるようになりました。が、この仕組み(ハードリンク)は同じiノードを別の名前でアクセスできるようにしたため、パーティションをまたぐことができませんでした。

そこで賢者が考えたのがシンボリックリンクです。名前に対して、実態のパスを記述する。

最近見かけるに、/etc/httpdをServerRootに設定し、/etc/httpd/logs->/var/log/httpd(正確ではない)の様な設定をしたディストリビューションがあります。

このように、ディレクトリ参照もあれば、1つのプログラムがプログラムの名前で、動きを変えるケース、前にも書いた[がtestといった、別の名前を取るケース。

様々です。

投稿2015/05/29 10:15

MitsukiMorikawa

総合スコア33

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

実態のファイルは長くて面倒な場所+名前であるけどそれを忘れてしまいそうなんでよく分かるところに別名でとっておきたい時です。viとかCUIで開くとき便利です。

投稿2015/05/20 12:49

kokawa2003

総合スコア217

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

新しいプログラムをインストールしたけど要求するライブラリのバージョンが違うので起動できない・・・上位or新しいライブラリはあるんだけど・・・時に要求されたライブラリと同じ名前で上位バージョンにリンクを張るとかしますね。

投稿2015/05/07 13:59

cateye

総合スコア6851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問