lnコマンド
lnコマンド=リンクを張る
リンクとは
ファイルに別名をつけることをリンクを張る、という
ハードリンクとシンボリックリンクがある
いわゆるショートカットやエイリアスのようなもの
ハードリンクが使われることはほとんどない
ハードリンクを作った例(bashの表示色が変わる)
https://gyazo.com/21a8ab5bafb8055a01914203c4cdae09
ハードリンクとは一つのファイルの実態に複数の名前をつけること
ハードリンクの削除は、全てのハードリンクがなくならないと削除されない
上の例でいうとfile1を消す→file2の中身は残ったまま(catの結果は変わらない)
file1とfile2を両方消してしまわないといけない
シンボリックリンク
リンク先のパス名が書かれたファイルが作成される
ln -s リンク元 リンク先
シンボリックリンクを作った(さっきと表示が少し違う)
https://gyazo.com/1465cabdfe0f286f9f970203cd4c56a0
削除するとこんな感じ(リンク先から削除、リンク元を削除、でそれぞれ挙動が異なる)
https://gyazo.com/280646e5ab6bf1941e39754137c38344
リンクをどのように使うのか
長いパス名を省略する
code:link
$ ln -s local/work/code/project/source source
$ cd source
## シンボリックリンクのおかげで上の階層に一発でいける
シンボリックリンクを使って、そのむき先を変えることで複数バージョンのプログラムを共存させる