1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ハードリンクは超便利!

Last updated at Posted at 2024-04-28

シンボリックリンクに対して、
使い道がないといわれがちなハードリンク

それが思いのほか便利だったので、
(超というと大げさだけど)
その使い道を紹介してみる

gitのあるディレクトリ内にハードリンクを作成することで、git管理する

  • gitがないディレクトリのファイルを、git管理したいとき
  • プロジェクトのリポジトリをローカルにクローンしているしていて、プロジェクトのcommit履歴を汚したくないが、個人的に細かな変更履歴を残しておきたいとき

シンボリックリンクとの比較

ハードリンクのメリット

  • ファイルを移動させたときや、親ディレクトリの名前を変更してもリンクが切れない
  • リンク元のファイルを削除しても、リンク先のファイルをが削除されない(そもそもどちらがリンク元かリンク先なのかの区別はない)

ハードリンクのデメリット

  • ファイルシステムをまたいだハードリンクは作れない
  • ディレクトリのハードリンクは作れない

ハードリンクの作り方1

Linuxの場合

ln [リンク元ファイルパス] [リンク先ディレクトリパス]

windowsの場合

powershellでは

New-Item -ItemType HardLink -Path [リンク元ファイルパス] -Target [リンク先ファイルパス]

コマンドプロンプトでは

mklink /h [リンク元ファイルパス] [リンク先ファイルパス]

または

fsutil hardlink create [リンク元ファイルパス] [リンク先ファイルパス]

エクスプローラーで使いたい場合

リンク作成シェル拡張というツールを使えばできる。

「リンク作成シェル拡張」異なるパスで同じファイルやフォルダーを表すためのツール - 窓の杜

参考

シンボリックリンクとハードリンクの違いって? #Linux - Qiita

Windowsのハードリンクとジャンクションとシンボリックリンクについて #PowerShell - Qiita

【Windows File System】Windowsでハードリンクやシンボリックリンクを作る | dotいがの快適インターネット

  1. 細かなオプションとかはこれを参照
    ln コマンド - IBM Documentation

1
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?