データ整理

卒論のデータをまとめ、上の人に見てもらい許可が出たのでCDに焼くことになったのだが、合計のファイルサイズが1GBを超えていた。
主な原因は大量にあるEPSファイル。指定されたフォルダ構造に従って整理した結果、同じ内容のファイルが複数箇所(調べたところ最大で5箇所)にある。
そのため、ハードリンクで実体をまとめてやれば記録すべき情報量は格段に減るだろうと、ISO9660でハードリンクが規定されているかどうかを調べた。その結果、ISO9660でハードリンクは使えるようだ。
が、今度はそれを作る環境がハードリンクに対応していないことに気づく。ハードリンクの使えないFATも考えられるWindowsではなかなか実装できないのだろう。
よってこの為だけにデータをlinux機であるCeciliaに移し、シェルスクリプトで同じ内容のファイルをハードリンクで置き換えた後にmkisofsを使ってisoファイルを作った。すると約500MBと元の半分ほどのデータ量になった。やっぱりハードリンクは偉大だ。



ちなみにハードリンクについて説明しておくと、あるファイルの実体に対して別の名前をつけその名前でもアクセスできるようにすること。
よく似たものにソフトリンクがあるがこれはリンク先のファイル名を保持するのに対して、ハードリンクはリンク先のファイル名の示す実体へのリンクを保持する。大きな違いは、ソフトリンクではリンク先のファイルを削除するとリンク先が不明となり使えなくなるが、ハードリンクはそのまま使える。例を示すと/path/aというファイルのハードリンクを/path/bとして作り、同様にソフトリンクを/path/cと作り、その後/path/aを削除した場合/path/bはそのまま参照できるが/path/cを参照しようとすると/path/aが見つからないとエラーが返ってくる。
ソフトリンク・ハードリンクともWindowsでもNTFSであればコマンドラインを用いて作成することができる。ただし確か名前が若干違う。