私はTextMateを使用しており、ファイルを編集するたびに._fileのようなコピーが作成されます。
これは私の狂気を駆り立てており、前回使用しているアプリで深刻な問題が発生しました。ファイルは新しいコンポーネントであり、ロードできなかったため(新しいコンポーネントではなかったため)、クラッシュしました。
この一時ファイルを削除するにはどうすればよいですか?
._file
ファイルは実際には一時ファイルではなく、Mac OSXのリソースフォークデータを保持するファイルです。MacOSXは、メタデータを保持するために、非HFSシステムに保存されているファイルに対してこれを作成します。
ただし、次のコマンドを実行して、TextMateによるリソースフォークの作成を無効にすることができます。
defaults write com.macromates.textmate OakDocumentDisableFSMetaData 1
最新バージョン(ビルド1589- 2009年11月23日)を使用している場合、他のドライブにメタデータが必要な場合は、代わりにファイルシステムのアレイを入力することもできます(内部には「はい」、ネットワークには「いいえ」と言います)。非HFSドライブ):
defaults write com.macromates.textmate OakDocumentCustomFSMetaData '( afpfs, nfs, msdos, hfs )'
これらの._
、またはdot-underscoreファイルは、拡張属性を保存する代替方法としてMacOSXによって作成されます。それらをネイティブにサポートしていないファイルシステム上。
技術的にも歴史的にもまったく異なるものですが、最近のバージョンのMac OSXは、リソースフォーク more/lessを拡張属性のように扱います。 、少なくともユーザーの観点から。 (拡張)ファイル属性、リソースフォーク、ストリームなどの(技術的な)詳細については、これを参照してください stackexchangeの質問 。
コマンドラインのls -l
を使用して、ファイルの拡張属性の存在について知ることができます。拡張属性を持つファイルには、名前に@
が追加されています。 ls [email protected]
を実行すると、これらの属性の名前も一覧表示されます。そして最後に、xattr -l <filename>
を実行すると、指定したファイルの属性名とデータが出力されます(16進エディタースタイル)。例については、以下を参照してください。
$ > ls -la ~/Library/Fonts
total 225448
drwx------+ 536 arri staff 18224 Jun 17 04:57 .
[email protected] 101 arri staff 3434 Aug 18 16:33 ..
[email protected] 1 arri staff 45 Aug 12 2010 04b-03.suit
-rwxr-xr-x 1 arri staff 19492 Mar 25 2003 04b03.ttf
[email protected] 1 arri staff 54544 Apr 24 2012 27344.ttf
...
$ > ls [email protected] ~/Library/Fonts
total 225448
drwx------+ 536 arri staff 18224 Jun 17 04:57 .
[email protected] 101 arri staff 3434 Aug 18 16:33 ..
com.Apple.FinderInfo 32
[email protected] 1 arri staff 45 Aug 12 2010 04b-03.suit
com.Apple.FinderInfo 32
com.Apple.ResourceFork 20314
-rwxr-xr-x 1 arri staff 19492 Mar 25 2003 04b03.ttf
[email protected] 1 arri staff 54544 Apr 24 2012 27344.ttf
com.Apple.metadata:kMDItemDownloadedDate 53
com.Apple.metadata:kMDItemWhereFroms 166
$ > xattr -l ~/Library/Fonts/04b-03.suit
com.Apple.FinderInfo:
00000000 46 46 49 4C 44 4D 4F 56 01 00 00 00 00 00 00 00 |FFILDMOV........|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000020
com.Apple.ResourceFork:
00000000 00 00 01 00 00 00 4E F2 00 00 4D F2 00 00 00 68 |......N...M....h|
00000010 C9 0B 1A C9 23 08 03 1A C9 0B 1A C9 23 02 1A C9 |....#.......#...|
...
HFS Plusの次に、他の多くのファイルシステムも拡張属性をサポートしていることに注意してください。MacOSXですぐに使用できるとは限りません。
1つの例は、たとえば、SMBにマウントされたリモートWindowsファイルシステム(NTFS)です。 SMB-「プロトコル」(およびMac-その実装)としての両方のNTFSファイルシステムは拡張属性をサポートしますが、そのコンテキストでは、それらは名前付きストリームと呼ばれます。この機能はデフォルトで無効になっていることがよくありますが、説明されているように簡単に有効にできます ここ 。
TextMateはリソースフォークを使用して、編集位置やコード折り畳み状態などを保存します。これらはすべてあなたがなくても生きることができるものですが、確かに持っていてよかったです。