形式
- chtag –b | –r [–hqRv] pathname…
- chtag –c codeset [–hqRv] pathname…
- chtag –m | –t [–c codeset]
[–hqRv]pathname…
- chtag –p [–hqRv ]pathname…
規則: chtag を使用するには、そのファイルに対する書き込み権限を持っているか、スーパーユーザーでなければなりません。
説明
chtag により、ファイル・タグの情報を設定、変更、削除、または表示できるようになります。ファイル・タグは、以下のようなテキスト・フラグ (txtflag) とコード化文字セットから構成されます。
- codeset
- テキスト・データをエンコードするコード化文字セットを意味します。コード・セットは、一様にエンコードされたテキスト・ファイル、またはテキストとバイナリーの
混合データを含むファイルに使用できます。
- txtflag
- 一様にエンコードされたテキスト・データを含んだファイルか、または一様でなくエンコードされたテキスト・データを含むファイルであるかを示します。
txtflag = ON indicates the file has uniformly encoded text data
txtflag = OFF indicates the file has non-uniformly encoded text data
txtflag = ON 指定と有効なコード・セットを持ったファイルだけが、自動変換の候補となります。txtflag = OFF 指定でコード・セットがそれに関連している場合、自動変換は有効ではありません。ただし、ユーザー・アプリケーションは、関連コード・セット情報を
利用可能であり、そのアプリケーション自身でコード・セット変換を実行できます。
自動変換の使用可能化については、「z/OS UNIX System Services 計画」の拡張 ASCII 機能の使用に関するセクションを参照してください。
オプション
- –b
- ファイルが、バイナリー (一様でなくエンコードされた) データだけを
含んでいることを示します。自動変換は、このオプション指定では使用不可です。
–b は
、–c、–m、–t、または –r オプションと一緒に指定できません。
- –c codeset
- ファイルに関連付けられているコード化文字セットを修正できるようになります。codeset は、システムに認識されているコード・セット名かコード化数字セット ID (CCSID) のいずれかです。コード・セット名が存在する場合、その名前に関連付けられている数値 CCSID が使用されます。–c は、–r および –b オプションと
一緒に指定できません。コマンド iconv
-l は、既存の CCSID とそれらに対応するコード・セット名をリストすることに留意してください。
タグの外されたファイルに関連付けられたコード・セットを -t を指定せずに変更した場合、ファイルは「混合」としてマーク付けされます。
- –h
- ファイルがシンボリック・リンクまたは外部リンクである場合、ファイル・タグ情報を変更しません。
- –m
- ファイルには、テキスト・データとバイナリー・データが
混在していることを示します。データは一様にエンコードされていませんが、そのファイルのテキスト部分をエンコードすることを
指定するために、このオプションにより、–c オプションを持ったコード・セットを
指定できるようになります。このオプションは txtflag = OFF を設定します。–c 指定なしに使用する場合、そのファイルに関連した既存のコード化文字セットは保持されます。
自動変換は、このオプション指定では使用不可です。ただし、ユーザー・アプリケーションは、ファイルに関連したコード・セットを知ることにより、ファイルにある任意のテキスト・データをこの指定とは無関係に変換できます。–m は
、–b,
–t、および –r オプションと一緒に指定できません。
タグの外されたファイルに対して -c を使用せずに -m を指定した場合は、ファイルのタグ付けに影響しません。
- –p
- ファイルに関連したファイル・タグ情報を印刷します。コード・セット名がファイル・タグにある数値 CCSID と関連付けられていない場合、数値 CCSID が代わりに提供されます。
出力例は以下のようになります。
t IBM-1047 T=on file1
- untagged T=on file2
b binary T=off file3
m ISO-8859-1 T=off file4
- untagged T=off file5
b binary T=on file6
ここで、
- t
- テキスト
- b
- 2 進数
- m
- 混在
注: ファイル照会オペレーターが、テスト中のコード・セットの別名を戻すことがあるため、
相互の別名であるコード・セットが存在し、そのためにテストが失敗する場合があります。
- –q
- 警告メッセージを抑制します。
- –r
- ファイルに関連したすべてのタグ付け情報を削除し、そのファイルの状態を "タグなし (untagged)" に設定します。このオプションにより、そのファイルに対する自動変換は使用不可となります。–r は
、–b、–c、–m、および –t オプションと一緒に指定できません。
- –R
- ファイル・タグ情報を再帰的に変更します。ディレクトリーの名前を指定するパス名・オペランドごとに、chtag は、ファイル階層でその下にあるすべてのファイルのファイル・タグ情報を変更します。–h が指定されていないのに、シンボリック・リンク (または外部リンク) が指定されたかファイル階層巡回中に検出された場合は、リンクに従い、解決されたファイル (またはディレクトリー内のファイル) が変更されます。
- –t
- 指定したファイルには、純粋な (一様にエンコードされた) テキスト・データが
含まれていることを指定します。この指定を単独で使用する場合、このオプションにより txtflag = ON が設定され、ファイルに関連した既存のコード化文字セットが保持されます。コード・セットを設定または変更するには
、–c オプションを使用します。このオプションを使用してタグ付けされ、有効なコード・セットを持ったファイルが、自動変換の候補となります。–t は
、–b、–m、および –r オプションと一緒に指定できません。
- –v
- 詳細出力が行われます。ファイル・タグが現在どのような状態になっており、ユーザーがそれをどのような状態に変更しようとしているかを表示します。このオプションは、–t、–b、–m、–r および –c オプションに対してのみ有効です。
出力は以下の形式で表示されます。
txtflag Char Set Char Set ---> txtflag Char Set Char Set Filename
Name Type Name Type
コード・セット名がファイル・タグにある
数値 CCSID と関連付けられていない場合、数値 CCSID が代わりに提供されます。出力例は以下のようになります。 chtag -mvc IBM-1047 file3.c
t ISO-8859 A ---> m IBM-1047 E file3.c
ここで、- A
- ASCII
- E
- EBCDIC
- ?
- 不明
例
- IBM-1047 コード・セットを持ったテキスト・ファイルを指定するには、以下のコマンドを発行します。
chtag -tc IBM-1047 filename
- バイナリー・ファイルを指定するには、以下のコマンドを発行します。
chtag -b filename
- ISO8859-1 の新コード・セットを持ったバイナリー/テキスト混在データのファイルを指定するには、以下のコマンドを発行します。
chtag -mc ISO8859-1 filename
- ファイルからタグを削除するには、以下のコマンドを発行します。
chtag -r filename
使用上の注意
表 1 は、txtflag と コード化文字セット/CCSID の異なる組み合わせが自動変換に対するファイルの候補にどのように影響するかを示したものです。txtflag は、
このフィールドが ON、OFF、バイナリー、またはタグ付けされていないかを示しています。txtflag は、保管コード化文字セットが有効か、無効か、または存在しないかを示します。
自動変換に対する候補 は、このファイルが
自動変換の候補であるかどうかを示します。
表 1. 可能な txtflag/CCSID の組み合わせtxtflag |
コード化文字セット/CCSID |
自動変換に対する候補 |
t (on) |
定義済み |
Yes (テキスト・ファイル) |
t (off) |
定義済み |
No |
b (off) |
–– |
No |
m (off) |
定義済み |
No (混在データ) |
– (off) |
–– |
No |
- 以下のファイルのタグ付けは無視されます。
- /dev/null
- /dev/random
- /dev/urandom
- /dev/zero
終了値
- 0
- 正常終了
- 1
- chtag が、以下の理由で指定ファイルのタグの変更に失敗しました。
- 呼び出しプロセスは、ファイル属性を変更するための適切な権限を持っていません
- 無効な txtflag/コード化文字セットの組み合わせが発行されました
- 2
- コマンド行構文が誤っています。