シンボリックリンクに対して、
使い道がないといわれがちなハードリンク
それが思いのほか便利だったので、
(超というと大げさだけど)
その使い道を紹介してみる
gitのあるディレクトリ内にハードリンクを作成することで、git管理する
- gitがないディレクトリのファイルを、git管理したいとき
- プロジェクトのリポジトリをローカルにクローンしているしていて、プロジェクトのcommit履歴を汚したくないが、個人的に細かな変更履歴を残しておきたいとき
シンボリックリンクとの比較
ハードリンクのメリット
- ファイルを移動させたときや、親ディレクトリの名前を変更してもリンクが切れない
- リンク元のファイルを削除しても、リンク先のファイルをが削除されない(そもそもどちらがリンク元かリンク先なのかの区別はない)
ハードリンクのデメリット
- ファイルシステムをまたいだハードリンクは作れない
- ディレクトリのハードリンクは作れない
ハードリンクの作り方1
ln [リンク元ファイル][リンク先ディレクトリ]
-
細かなオプションとかはこれを参照
ln コマンド - IBM Documentation ↩