ネストの深いディレクトリにアクセスしやすくなる。シンボリックリンクは最強最高!
最強最高lnコマンド!!!
Macだったらエイリアス、Windowsだったらショートカット。便利なこいつらをLinuxではリンクを貼るといい、ln
コマンドで再現できます。
こんな感じ
~$ ls
Desktop Documents
~$ touch Documents/test/test2/test3/hoge.txt
~$ ln Documents/test/test2/test3/ -s test3
~$ cd test3
~/test3$ ls
hoge.txt
無駄に深層にあるディレクトリのtest3
に簡単にアクセスできているのがわかります。
lnコマンドでリンクをはろう
lnコマンドで貼れるリンクには以下の2種類があります。
- ハードリンク
- シンボリックリンク
ハードリンク
エイリアスやショートカットと違い、一つのファイルに複数の名前を付けるようなイメージで扱われるのがハードリンクで,
オプション無しのlnコマンドで生成できます。
~$ ln file1 file2
file1とfile2は、名前違いで同じデータを参照しており、どちらもオリジナルデータです。最後の1つのハードリンクが消えて初めて参照しているデータが削除されます。
ちなみにディレクトリのハードリンクは作れない。
シンボリックリンク
こいつは例でも見せた見慣れた挙動を見せます。-s
オプションをつけたlnコマンドで生成できます。
~$ ln -s file1 file2
これでfile1のシンボリックリンクとしてfile2が作られました。シンボリックリンクは、lsコマンドを用いると水色にハイライトされます。(環境による)
ハードリンクと違いfile2にはfile1のアドレスが保存されているだけだので、file1が別のディレクトリに移動したり削除されたりすると使えなくなります。(リンクが壊れる)
シンボリックリンクはディレクトリでも作れてとても便利なので、ハードリンクよりよく使われるぞ
あとがき
lsコマンドのハイライト機能は正確にはls --color=auto
の機能なのでaliasに設定されていなければハイライト入らなかったりする。
いっちばん最初の例とか絶対見にくいってわかってるんだけどどうもこれ以上にいい例が浮かばなかった...