Mac/Ubuntuで作成したファイルをexFATへ移動できず困った点

Mac/Win/Linuxのファイル共有

常用しているMacとUbuntuと、たまに使うWindowsを跨いで外付HDDをexFATで使用している。 (Ubuntuはexfat-fuseを入れる事でexFATを利用可能 http://linux-user.hatenablog.com/entry/2013/01/31/195733 ) そこで今日Ubuntuからデータを移そうとしてハマった事のメモ。

Ubuntuのスクリーンショット

Ubuntuで作成したデータを全て外付HDDに移そうとしたところ、何度実行しても失敗するファイルがあり頭をかしげていた。 失敗するファイルを見ると、全てUbuntuで作成したスクリーンショットのファイルだった。 ファイル名の中にコロン(:)が入っている為、exFAT上にファイルを作成できず失敗していた。 ファイル名からコロンを取り除く事で移動可能となった。

コロンが使用できない理由

exFATはWindows用にMicrosoftが開発したファイルシステムの為、ファイル名に許された文字がWindows側に合わせてあるので注意が必要だ。それに似た仕様として注意すべきは下記の通り。

  • ファイル名の大文字小文字が区別されない(tempとTempが同一ファイル/ディレクトリとなる)
  • ファイル名に使用できない文字がある( \ / : * ? ” < > | )ext3等ではNULと/以外は使用可能
  • 実行権などのパーミッションの方式が全く別(ext3→exFATでパーミッションが消える)

考えてみれば当たり前の事だが、あまり意識していなかったので書いてみた。