2020年2月13日木曜日

PC Junction と Hard Link

ジャンクション と ハードリンク ... 。
勿論、これら以外にも、シンボリックリンク や リンクファイルもある訳ですが。
多用されると思われるリンクファイル(ショートカット)以外のこれら。
取っ付き難いですが、使って見れば、便利です。


Windows に導入された順番から、
 リンクファイル(ショートカット)
 ハードリンク
 ジャンクション
 シンボリックリンク
でしたっけ ... ?。

これらは、皆、一長一短がある訳ですが、
その辺りの説明は省きますね。
各々の名称で検索して見て下さい。


個人的にも、頻繁に使う リンクファイル(ショートカット) は別にして、
此れ迄、 ジャンクション は割と使って来ました。
実体であるファイル群を、フォルダ単位で、別ドライブにもエントリが設けられる、
この機能は、重宝しています。
基本、OS の根幹に絡む場合に使っています。
例えば、インストール時。  (クリーンで実行しない限り、最初の1回のみですが。)

この仕組みは、ソフトリンクに分類され、
OS の機能で賄われているそうです。

これに対し、
比較的導入の古かった ハードリンク は、もう少しハード寄りの、
FS ( OS の更に根本的な部分 File System )の機能で実現されているんだそうです。
他の機能との親和性が高いとも説明されますね。
ファイルを呼び出すには、ファイルエントリを見に行って、
そこから、必要に応じて、実体のデータ群にアクセスする訳ですが、
このエントリを複数持たせちゃえ! がその正体です。 (語弊がある書き方かも。)

ハードとは、HDD や SSD に代表される ハード です。
ドライブレターで割り当てた 個々のドライブ に相当します。
ですから、ドライブ固有の機能になり、
ドライブを跨ぐ訳にはいきません。
他所の住所は与り知らぬ内容 ... と言う事ですね。

リンクファイル(ショートカット)以外の機能は、
Windows OS のサーバー機能として導入された経緯からか、
CUI でのみサポートになっているので、
GUI が無い事から、一般的では無いのが実情でしょう。

でも、便利ですよ。

シンボリックリンクは管理者権限を必要としますので、
其処は留意して下さいね。
高機能ではありますが、後発である分、各ソフトアプリでの対応もまちまちである事があるそうです。

個人的に、然程、出番が無かった ハードリンク ですが、
例えば、
重要なファイルで、消えては困るもの に使ったり、
とんでもなく長くなってしまった名前を短縮するのに使ったり、
ソフトによって、日本語が苦手なファイル名の改名代わりに使ったり、
と色々な使い道がある気がします。

ハードリンクは 管理者で実行 しなくて良いので、
Command Prompt (cmd.exe) から、
mklink /h <new_name> <source_name>
と打ち込めば、リンクが作成されます。

リンク数(ハードリンク)は

fsutil hardlink list <file_name>

C:\WINDOWS\system32>fsutil hardlink list
使用法 : fsutil hardlink list <ファイル名>
   例 : fsutil hardlink list c:\foo.txt

で確認が可能です。  管理者で実行の必要は無し。 (つい、癖で ... 。)

そう、最低ひとつはファイル名が分かっていないと他を探す事は出来ません。
  まぁ、プログラムでも書いて、
  ベタに全ファイルを舐めて、ファイル名と列挙名とが食い違うものを探すのも、手かも知れませんが ... 。
  べらぼーに時間が掛かりそうですから、まぁ、駄目でしょうね。


0 件のコメント:

コメントを投稿