1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ハードリンクとシンボリックリンク

Last updated at Posted at 2019-12-07

ネストの深いディレクトリにアクセスしやすくなる。シンボリックリンクは最強最高!

最強最高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に設定されていなければハイライト入らなかったりする。
いっちばん最初の例とか絶対見にくいってわかってるんだけどどうもこれ以上にいい例が浮かばなかった...

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?