PRIMECLUSTER Global File Services 説明書 4.1 (Solaris(TM) オペレーティング環境版)
目次 索引 前ページ次ページ

付録B リファレンスマニュアル> B.3 GFSローカルファイルシステム専用一般コマンド

B.3.1 sfxcp(1) エクステント属性情報を伴うファイルのコピー

◆形式

sfxcp [-fip] [ -e ext_action ] source_file target_file

sfxcp [-fip] [ -e ext_action ] source_file... target

sfxcp -r|-R [-fip] [ -e ext_action ] source_dir... target

◆機能説明

 sfxcp コマンドは、GFS ローカルファイルシステム上のエクステント属性情報を保持するファイル、または保持しないファイルの複写を実行します。sfxcp コマンドは、GFS ローカルファイルシステム以外でも動作しますが、その場合は極力 cp(1) を使用してください。

 上記「形式」の項で示す第 1 の形式では、source_filetarget_file もディレクトリファイルであってはならず、また両者は同じ名前であってはなりません。sfxcp ユーティリティは、source_file が示すファイルの内容と、GFS ローカルファイルシステムのエクステント属性情報を、target_file が示すあて先パスにコピーします。target_file がすでに存在していると、sfxcp はその内容を上書きしてしまいますが、ファイルのモード (さらに ACL が有効な場合は ACL)、所有者、およびグループは変更しません。エクステント属性情報については、-e オプションの説明を参照してください。target_file の最新更新時刻および source_file の最新アクセス時刻の値は、コピーが行われた時刻に設定されます。target_file が存在しなければ、sfxcptarget_file という名のファイルを作成します。このファイルのモードは source_file と同じになります。ただし、コマンドを発行したユーザがスーパーユーザでない限り、スティッキビットは設定されません。target_file の所有者とグループは、所有者のものが用いられます。target_file が、リンクを持つ他のファイルへのリンクである場合、他のリンクはそのまま残り target_file が新しいファイルとなります。

 第 2 の形式の sfxcp は、source_file が示す1つ以上のファイルを、target が示すディレクトリにコピーします。個々の source_file に対して、同じモード (さらに ACL が有効な場合は同じ ACL ) の新しいファイルが target 中に作成されます。所有者とグループは、このコマンドを発行したユーザのものが用いられます。source_file のタイプがディレクトリの場合、target が存在しない場合、および target がディレクトリでない場合は、どちらもエラーとなります。

 第 3 の形式の sfxcp は、source_dir が示す1つ以上のディレクトリを、target が示すディレクトリにコピーします。-r または -R のどちらかを指定しなければなりません。個々の source_dir に関して、sfxcp はその中のすべてのファイルとサブディレクトリをコピーします。

◆オプション

 以下のオプションが指定できます。

-e ext_action

 エクステント属性情報の操作を指定します。
 以下に ext_action を説明します。
AWE
Append Write Extent (default)
 target および target_file が既に存在し、エクステント属性情報を保持している場合、エクステント属性情報のコピーは行われません。それ以外の場合、エクステント属性情報のコピー処理が実行されます。
IWE
Interactive Write Extent
 target および target_file が既に存在し、エクステント属性情報を保持している場合、上書きしてもよいかどうかを問い合わせ、確認メッセージを出力します。そのメッセージに対して y と応答すると、エクステント属性情報のコピー処理が実行されます。他の文字で応答すると上書きは実行されません。
NEW
Not Write Extent
 cp(1) と同様に、エクステント属性情報のコピーは行いません。
OWE
OverWrite Extent
 強制的に source のエクステント属性情報を target および target_file にコピーします。source にエクステント属性情報が保持されていない場合もその状態で強制的に target および target_file にコピーします。

-f

 リンク解除。あて先ファイルのファイル記述子が得られない場合、あて先ファイルのリンクを解除して処理を続けようとします。

-i

 対話型。あて先ファイルとして指定した target および target_file がすでに存在している場合、上書きしてもよいかどうかを問い合わせる確認メッセージを出力します。そのメッセージに対して y と応答すると、コピー処理が続行されます。他の文字で応答すると上書きは実行されません。
 なお、この -i オプションと -e IWE の両方を指定した場合は、それぞれ独立して対話が行われます。

-p

 保持。sfxcpsource_file で示したファイルの内容をコピーするだけでなく、出力側ファイルの所有者とグループの ID、アクセス権モード、更新時刻およびアクセス時刻、さらに ACL が有効な場合は ACL の値として入力側ファイルの値をそのまま設定します。ACL をサポートしていないファイルシステムに ACL をコピーすると、このコマンドは、失敗する可能性があります。このコマンドは、更新時刻およびアクセス時刻、またはアクセス権モードを設定することができない場合には、失敗しません。また、所有者とグループの ID を設定できない場合も、sfxcp は失敗しないで、出力側ファイルの S_ISUID と S_ISGID ビットをクリアします。sfxcp は、これらのビットをクリアできない場合には、標準エラー出力に診断メッセージを表示し、ゼロ以外の終了ステータスを返します。
 所有者とグループの ID、アクセス権モード、更新時刻およびアクセス時刻を保存するためには、ユーザが、適切なファイルのアクセス権を持っている必要があります。つまり、スーパーユーザであることや、目的のファイルと同じ所有者 ID であることです。

-r

 再帰。sfxcp はそのディレクトリ全体、つまりディレクトリ内の全ファイルをコピーするだけでなく、ディレクトリにあるすべてのサブディレクトリとそのサブディレクトリ中の全ファイルも target にコピーします。

-R

 名前付きパイプファイルが読まれるのではなく複写される、という点を除いて -r と同じです。

◆オペランド

 以下のオペランドが指定できます。

source_file

 コピーされる通常ファイルのパス名。

source_dir

 コピーされるディレクトリのパス名。

target_file

 1つのファイルをコピーする際に出力として用いられるファイルのパス名。既存のファイルでも存在していないファイルでもよい。

target

 コピーしたファイルを出力するディレクトリのパス名。

◆使用例

 1. 1つのファイルをコピーする例です。


% sfxcp goodies goodies.old

% ls goodies*

goodies goodies.old


 2. 一群のファイルをディレクトリにコピーする例です。


% sfxcp ~/src/*   /dst


 3. あるディレクトリを、最初は新しいディレクトリへ、次は既存のディレクトリへコピーする例です。


% ls ~/bkup

/usr/example/fred/bkup not found

% sfxcp -r ~/src ~/bkup

% ls -R ~/bkup

x.c y.c z.sh

% sfxcp -r ~/src ~/bkup

% ls -R ~/bkup

src x.c y.c z.sh

src:

x.c y.c z.sh


 4. target にエクステント属性情報が保持されている場合、 source 側の情報をもとに強制的にコピーする例です。


% sfxcp -e OWE source target


◆環境

 sfxcp の実行に影響を与える環境変数 LC_COLLATE, LC_CTYPE, LC_MESSAGES, NLSPATH についての詳細は、environ(5) を参照してください。

◆終了ステータス

 以下の終了ステータスが返されます。

0 ファイルはすべて正常にコピーされた。

>0 エラーが発生した。

◆関連項目

sfxcpio(1), sfxgetext(1), sfxmv(1), sfxsetext(1).

cp(1), chmod(1), chown(1), setfacl(1), utime(2), attributes(5), environ(5), largefile(5).

◆注意事項

 source_file のアクセス権モードは、コピー時にそのまま保存されます。

 ユーザはハイフンを2つ連続して記述 (--) することにより、コマンド行オプションの終わりを明確に指定することができます。この方法を用いれば、ハイフンで始まるファイル名を引数として指定したとき、それがファイル名であることを sfxcp に伝えることができます。--- の両方がコマンド行上に記述されている場合、sfxcp は 2 番目のハイフンはファイル名指定であると解釈します。

 sfxcp は異なるファイルシステム間でのコピーも可能です。ただし、GFS ローカルファイルシステム上のファイルを他のファイルシステム(例えば、UFS )上にコピーすると、エクステント属性情報は失われます。

 sfxcp は、GFS ローカルファイルシステム以外のファイルシステムでも動作しますが、その振舞いは従来の cp(1) と同等です。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2004