PRIMECLUSTER Global File Services 説明書 4.2 (Solaris(TM) オペレーティング環境版) |
目次
索引
![]() ![]() |
付録F リファレンスマニュアル | > F.3 GFS 共用ファイルシステム専用一般コマンド |
sfccp [-fip] [-e ext_action] source_file target_file
sfccp [-fip] [-e ext_action] source_file... target
sfccp -r|-R [-fip] [-e ext_action] source_dir... target
sfccp コマンドは、GFS 共用ファイルシステム上のファイル拡張属性情報を保持するファイル、または保持しないファイルの複写を実行します。sfccp は、GFS 共用ファイルシステム以外でも動作しますが、その場合は cp(1) の使用を推奨します。
上記「形式」の項で示す第1の形式では、source_file も target_file もディレクトリファイルであってはならず、また両者は同じ名前であってはなりません。sfccp は、source_file が示すファイルの内容と、GFS 共用ファイルシステムのファイル拡張属性情報を、target_file が示す宛て先パスにコピーします。target_file が既に存在していると、sfccp はその内容を上書きしてしまいますが、ファイルのモード(さらに ACL が有効な場合は ACL)、所有者、およびグループは変更しません。ファイル拡張属性情報については、-e オプションの説明を参照してください。target_file の最新更新時刻および source_file の最新アクセス時刻の値は、コピーが行われた時刻に設定されます。target_file が存在しなければ、sfccp は target_file という名のファイルを作成します。このファイルのモードは source_file と同じになります。ただし、コマンドを発行したユーザがスーパーユーザでない限り、スティッキビットは設定されません。target_file の所有者とグループは、所有者のものが用いられます。target_file が、リンクを持つ他のファイルへのリンクである場合、他のリンクはそのまま残り target_file が新しいファイルとなります。
第 2 の形式の sfccp は、source_file が示す1つ以上のファイルを、target が示すディレクトリにコピーします。個々の source_file に対して、同じモード (さらに ACL が有効な場合は同じ ACL ) の新しいファイルが target 中に作成されます。所有者とグループは、このコマンドを発行したユーザのものが用いられます。source_file のタイプがディレクトリの場合、target が存在しない場合、および target がディレクトリでない場合は、どちらもエラーとなります。
第 3 の形式の sfccp は、source_dir が示す1つ以上のディレクトリを、target が示すディレクトリにコピーします。-r または -R のどちらかを指定しなければなりません。個々の source_dir に関して、sfccp はその中のすべてのファイルとサブディレクトリをコピーします。
以下のオプションが指定できます。
-e ext_action
ファイル拡張属性情報の操作を指定します。
以下にext_action を説明します。
AWEAppend Write Extent (default)。target および target_file が既に存在し、ファイル拡張属性情報を保持している場合、ファイル拡張属性情報のコピーは行われません。それ以外の場合、ファイル拡張属性情報のコピー処理が実行されます。
IWEInteractive Write Extent。target および target_file が既に存在し、ファイル拡張属性情報を保持している場合、上書きしてもよいかどうかを問い合わせ、確認メッセージを出力します。そのメッセージに対して y と応答すると、ファイル拡張属性情報のコピー処理が実行されます。他の文字で応答すると上書きは実行されません。
NWENot Write Extent。cp(1) と同様に、ファイル拡張属性情報のコピーは行われません。
OWEOverWrite Extent。強制的に source のファイル拡張属性情報を target および target_file にコピーします。 source にファイル拡張属性情報が保持されていない場合もその状態で強制的に target および target_file にコピーします。
-f
リンク解除。宛て先ファイルのファイル記述子が得られない場合、宛て先ファイルのリンクを解除して処理を続けようとします。
-i
対話型。宛て先ファイルとして指定した target および target_file が既に存在している場合、上書きしてもよいかどうかを問い合わせる確認メッセージを出力します。そのメッセージに対して y と応答すると、コピー処理が続行されます。他の文字で応答すると上書きは実行されません。
なお、この -i オプションと -e IWE の両方を指定した場合は、それぞれ独立して対話が行われます。
-p
保持。sfccp は source_file で示したファイルの内容をコピーするだけでなく、出力側ファイルの所有者とグループのID、アクセス権モード、更新時刻およびアクセス時刻、さらに ACL が有効な場合は ACL の値として入力側ファイルの値をそのまま設定します。ACL をサポートしていないファイルシステムに ACL をコピーすると、このコマンドは、失敗する可能性があります。このコマンドは、更新時刻およびアクセス時刻、またはアクセス権モードを設定することができない場合には、失敗しません。また、所有者とグループの ID を設定できない場合も、sfccp は失敗しないで、出力側ファイルの S_ISUID と S_ISGID ビットをクリアします。sfccp は、これらのビットをクリアできない場合には、標準エラー出力に診断メッセージを表示し、ゼロ以外の終了ステータスを返します。
所有者とグループの ID、アクセス権モード、更新時刻およびアクセス時刻を保存するためには、ユーザが、適切なファイルのアクセス権を持っている必要があります。つまり、スーパーユーザであることや、目的のファイルと同じ所有者 ID であることです。
-r
再帰。sfccp はそのディレクトリ全体、つまりディレクトリ内の全ファイルをコピーするだけでなく、ディレクトリにあるすべてのサブディレクトリとそのサブディレクトリ中の全ファイルもtarget にコピーします。
-R
名前付きパイプファイルが読まれるのではなく複写される、という点を除いて -r と同じです。
以下のオペランドが指定できます。
source_file
コピーされる通常ファイルのパス名。
source_dir
コピーされるディレクトリのパス名。
target_file
1つのファイルをコピーする際に出力として用いられるファイルのパス名。既存のファイルでも存在していないファイルでもよい。
target
コピーしたファイルを出力するディレクトリのパス名。
1.1つのファイルをコピーする例です。
% sfccp goodies goodies.old % ls goodies* goodies goodies.old
2. 一群のファイルをディレクトリにコピーする例です。
% sfccp ~/src/* /dst
3. あるディレクトリを、最初は新しいディレクトリへ、次は既存のディレクトリへコピーする例です。
% ls ~/bkup /usr/example/fred/bkup not found % sfccp -r ~/src ~/bkup % ls -R ~/bkup x.c y.c z.sh % sfccp -r ~/src ~/bkup % ls -R ~/bkup src x.c y.c z.sh src: x.c y.c z.sh
4. target にファイル拡張属性情報が保持されている場合、source 側の情報をもとに強制的にコピーする例です。
% sfccp -e OWE source target
sfccp の実行に影響を与える環境変数 LC_COLLATE, LC_CTYPE, LC_MESSAGES, NLSPATH についての詳細は、environ(5) を参照してください。
以下の終了ステータスが返されます。
0 ファイルはすべて正常にコピーされた。
>0 エラーが発生した。
sfccpio(1), sfcgetext(1), sfcgetfattr(1), sfcmv(1), sfcsetext(1), sfcsettime(1), sfcsetvolume(1).
"Solaris X Reference Manual Collection" の cp(1), chmod(1), chown(1), setfacl(1), utime(2), attributes(5), environ(5), largefile(5).
目次
索引
![]() ![]() |