ToolTalk メッセージは、対象とするファイルや ToolTalk オブジェクトを参照できます。ToolTalk サービスは、ファイルとオブジェクトに関する情報を保持しており、ファイルまたはオブジェクトに変更があった場合は、通知を受ける必要があります。
ToolTalk サービスは、ファイルの移動、コピー、および削除用の、ラップされたシェルコマンドを提供します。これらのコマンドは、ToolTalk サービスに変更を通知します。
表 6-1 に示す ToolTalk の拡張シェルコマンドは、それらが関連付けられている標準シェルコマンドを最初に呼び出し (たとえば、ttmv は mv を呼び出します)、その後ファイルの変更に伴い ToolTalk サービスを更新します。ToolTalk の拡張シェルコマンドは、ToolTalk オブジェクトを含むファイルを操作する際に必要です。
表 6-1 ToolTalk の拡張シェルコマンド
コマンド |
定義 |
構文 |
---|---|---|
オブジェクトを含むファイルをコピーする |
ttcp source-file destination-file |
|
オブジェクトを含むファイル名を変更する |
ttmv old new |
|
オブジェクトを含むファイルを削除する |
ttrm file |
|
ToolTalk オブジェクトと関連付けられた空ディレクトリを削除する。 このコマンドは、たとえば、ファイルに配信範囲指定したメッセージの中にディレクトリが記述されている場合に、ディレクトリのオブジェクト仕様を作成するためにも使用する。オブジェクト仕様を作成する際には、ファイルまたはディレクトリのパス名を指定する |
ttrmdir directory |
|
ToolTalk オブジェクトを含むファイルのアーカイブとアーカイブの解除を行う |
tttar c|t|x pathname1 pathname2 |
ToolTalk の拡張シェルコマンドは、標準シェルコマンドを呼び出すことによって実行できます。そのためには、シェルの起動ファイルで ToolTalk の拡張シェルコマンドに別名を付け、拡張コマンドが標準シェルコマンドとして表示されるようにします。
# ToolTalk-aware shell commands in .cshrc alias mv ttmv alias cp ttcp alias rm ttrm alias rmdir ttrmdir alias tar tttar
ToolTalk の拡張シェルコマンドを使ってコピー、移動、または削除していない場合は、ToolTalk データベース内のファイルとオブジェクトに関する情報は古くなっています。たとえば、ToolTalk オブジェクトを含むファイル「old_file」は、標準の rm コマンドを使ってファイルシステムから削除できます。しかし、標準シェルコマンドは「old_file」の削除を ToolTalk サービスに通知しないので、ファイルと個々のオブジェクトに関する情報は、ToolTalk データベースに残ります。
ToolTalk データベースからファイルとオブジェクトの情報を削除するには、次のコマンドを使用します。
ttrm -L old_file
ToolTalk データベースを表示、検査、または修復するには、ToolTalk データベースユーティリティの ttdbck を使用します。ttdbck ユーティリティは、次の操作にも使用します。
特定の otype、たとえば取り除いた otype のすべての ToolTalk オブジェクトの削除
あるファイルから他のファイルへの特定の ToolTalk オブジェクトの移動
実在しないファイルを参照するすべての ToolTalk オブジェクトの検索
通常、ToolTalk データベースはスーパーユーザーとしてだけアクセス可能です。したがって、ttdbck ユーティリティは、通常はスーパーユーザーとして実行します。