2012年2月2日木曜日

シンボリックリンクって何やねん

いろいろなコマンドだったり,ライブラリだったりをインストールしたりすると

『ln -s /usr/local/bin/wget /usr/bin/wget とやってシンボリックリンクを作成してください』

みたいなのをみて辟易としますね。シンボリックリンク?? ln?? -s??
どっかでみたんですが短い文に自分の知らない単語が3つ以上でてくると一気に理解力が低下するらしいです。

というわけで1個1個ひもといてみましょう。

まずシンボリックリンク

--

http://e-words.jp/w/E382B7E383B3E3839CE383AAE38383E382AFE383AAE383B3E382AF.htmlより

あるファイルやディレクトリに別の名前を与え、ユーザやアプリケーションがその名前をファイル本体と同様に扱えるようにする仕組み。UNIX系OSのファイルシステムの機能として定着している。

--

ふむふむ。

次にln

--

http://www.k-tanaka.net/unix/ln.htmlより


ファイルやディレクトリへのリンクファイルを作成する。リンクファイルには、ハードリンクとシンボリックリンクがある。
ファイルは複数指定が可能。その場合はスペースで区切って指定するか、ワイルドカードが使用できる。またその際には、リンクファイルを作成するディレクトリを引数に指定する。

--

ふむふむ

じゃあ -s って?

上記のリンクを読むと

ln -s ○○ △△で『○○に△△のシンボリックリンクを作成する』ってことですね。

というわけで最初のアレを翻訳してみると

『/usr/bin/wgetに/usr/local/bin/wgetと同じように扱えるモノを作れ』って命令してるんですね。なるほど

なんでこういうことをするんだってなるとこれはおそらく/usr/binにPATHが通っていてそこを読ませにいかせたいからですねたぶん。って推測ができます。だいぶ翻訳できました。

ためしにecho $PATHってうってみるとたしかに/usr/binがありました。めでたしめでたし

というわけで不可解に見えた呪文も,結局はインストールしたコマンド(orライブラリ)をPATHが通ってる場所から読めるようにするってことをしてたんですね。

プログラミングにせよ,複雑に見える論文の数式にせよわからないことは1個1個ひもどいて翻訳し,理解することが大切だと感じます。

0 件のコメント:

コメントを投稿