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

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

F.3.2 sfccpio(1)ファイル拡張属性情報を伴うアーカイブからのファイルの抽出または復元

◆形式

sfccpio -i[bBcdfkmPrsStuvV] [-C bufsize ] [-E file ] [-I file [-M message ] ] [-R userid ] [pattern ...]

sfccpio -o[aABcLPvV] [-C bufsize ] [-O file [-M message ] ]

sfccpio -p[adlLmPuvV] [-R userid ] directory

◆機能説明

 sfccpio コマンドは、GFS 共用ファイルシステム上のファイル拡張属性情報を保持するファイル、または保持しないファイルを sfccpio アーカイブへコピーしたり、sfccpio アーカイブからコピーしたりします。

 sfccpio は、GFS 共用ファイルシステム以外でも動作しますが、その場合は cpio(1) の使用を推奨します。sfccpio コマンドと cpio コマンドとの関係や sfccpio アーカイブを GFS 共用ファイルシステム以外に復元した場合の動作等については、注意事項を参照してください。

-i, -o, -p の各オプションは、実行する処理を選択します。以下に、これらの各処理を説明します(これらの処理は相互に排他的です)。

[復元モード]

 sfccpio -i (復元)は、以前に sfccpio -o が生成した出力を標準入力としてファイルを抽出します。pattern に一致する名前のファイルだけが選択されます。pattern についての詳細は、後述する「オペランド」の項および sh(1) の説明を参照してください。抽出されたファイルは条件に応じて作成され、以下に述べるオプションに基づいて現在のディレクトリにコピーされます。ファイルのアクセス権は前の sfccpio -o で出力した際のファイルと同じです。現在のユーザがスーパーユーザでないかぎり、所有者およびグループは現在のユーザと同じです。スーパーユーザの場合は、前に実行した sfccpio -o の出力ファイルから得られる所有者およびグループと同じになります。sfccpio -i が作成しようとするファイルが既に存在していて、さらに既存のファイルが同じか新しいバージョンのときは、メッセージが出力されファイルは置き換えされませんので注意してください (-u オプションは既存のファイルを無条件に置き換えするときに使用します)。

[保管モード]

 sfccpio -o (保管)は、標準入力からパス名のリストを読み込んで、それらのファイルをパス名、ステータス情報およびファイル拡張属性情報とともに標準出力へコピーします。出力は、デフォルトでは 512 バイト境界でブロック化されますが、(-B または -C オプションを使用して)ユーザ指定のブロックサイズまたはデバイスに依存したブロックサイズでの出力も可能です。

[パスモード]

 sfccpio -p (パス)は、ファイルのパス名のリストを標準入力から読み込んで、条件に応じてファイルを作成し、以下のオプションに基づいてコピー先の directory へコピーします。
 文字型デバイスへ出力( -o )または文字型デバイスからの入力( -i )時に、媒体の終わり(例えば、テープの終わり)に到達し、さらに -O オプションや -I オプションが使用されていないと sfccpio は次のメッセージを表示します。
To continue, type device/file name when ready.
 継続するには、媒体を交換して文字型特殊デバイス名 (例えば、/dev/rmt/0m) を入力して RETURN キーを押してください。これは、sfccpio に異なるデバイスを使用するように命令して、処理を続行したい場合などに使います。例えば、2台のテープデバイスがあるなら、テープ交換の間に sfccpio が処理を継続できるよう他方のデバイスへ切り替えたいといった場合です (RETURN キーだけを押すと sfccpio は処理を終了します)。

◆オプション

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

-i

 sfccpio -i(復元)は、指定されたファイルを標準入力から抽出します。

-o

 sfccpio -o(保管)は、パス名のリストを標準入力から読み込んで、そのファイルを標準出力へコピーします。

-p

 sfccpio -p(パス)は、ファイルのパス名のリストを標準入力から読み込みます。

 上記の -o、-i、-p オプションのどれかを指定した後に、以下のオプションを任意の順序で指定できます。

-a

 コピー後に、入力ファイルのアクセス時間をリセットします。sfccpio -pla (-m との同時使用不可) が指定されていると、リンクされたファイルのアクセス時間はリセットされません。

-A

 ファイルをアーカイブへ追加します。-A オプションには -O が必要です。ファイル、フロッピーディスク、またはハードディスクパーティションのアーカイブにだけ有効です。

-b

 各ワード内のバイト順を逆にします (-i オプションとだけ使用可)。

-B

 入出力を 5120 バイトでブロック化します。このオプションと -C オプションを使用していないときのデフォルトのバッファサイズは 512 バイトです。-B は -p オプションには適用されません。なぜなら、 -B オプションは /dev/rmt/0m などの文字型特殊デバイスとの入出力にだけ有効だからです。

-c

 可搬性を考慮して、ASCII 文字形式でヘッダ情報を読み書きします。このヘッダ形式に関してユーザ ID またはグループ ID の制限はありません。SVR4 をベースとしたマシン間ではこのオプションを使用してください。-c オプションは、SVR4 ベースのシステムでだけサポートされている拡張デバイス番号を使うことを意味しています。

-C bufsize

 入出力を bufsize 単位でブロック化します。bufsize は、正の整数で置き換えられます。このオプションと -B オプションを使用していないときのデフォルトのバッファサイズは 512 バイトです (-C -p オプションには適用されません。なぜなら、-C は /dev/rmt/0m などの文字型特殊デバイスとの入出力にだけ有効だからです)。

-d

 必要に応じてディレクトリを作成します。

-E file

 アーカイブから抽出するファイル名のリストを含む (1 行 1 ファイル名の) 入力ファイル( file )を指定します。

-f

 pattern で指定されたものを除くすべてのファイルを抽出します (pattern の説明については「オペランド」の項を参照してください)。

-I file

 入力アーカイブとして file の内容を読み込みます。file が文字型特殊デバイスで、現在の媒体をすべて読み終えた場合、処理を続けるために媒体を交換して RETURN キーを押してください。このオプションは -i オプションとだけ使用できます。

-k

 破壊されたファイルヘッダや I/O エラーを読み飛ばします。破壊したりシーケンスが乱れたりした媒体からファイルをコピーしたい場合は、このオプションにより正常なヘッダを持つファイルだけを読むことができます (他の sfccpio アーカイブを含む sfccpio アーカイブの場合、エラーが発生すると sfccpio は終了します。sfccpio は次の正常なヘッダを検索し、より小さいアーカイブを見つけるとそのトレーラに出会うまで読んで、終了します)。-i オプションとだけ使用できます。

-l

 可能な限り、ファイルをコピーしないでリンクします (-p オプションとだけ使用可)。

-L

 シンボリックリンクをたどります。デフォルトは、シンボリックリンクをたどりません。

-m

 以前のファイル更新時間を取得します。このオプションは、コピー中のディレクトリには無効です (-a とは同時使用不可)。

-M message

 媒体交換時の message を定義します。オプション -O または -I を使用して、文字型特殊デバイスを指定しているときに、媒体の終わりに達したときに出力されるメッセージを定義します。次の媒体のシーケンス番号を表示するのに1つの %d が使用できます。

-O file

 sfccpio の出力先を file に変更します。file が文字型特殊デバイスで現在の媒体がいっぱいのとき処理を継続するには、媒体を交換して RETURN キーを押してください。-o オプションとだけ使用できます。

-P

 ACL を保持します。このオプションを出力用に使用した場合、ACL が存在していれば、その他の属性とともに標準出力に書き出されます。ACL は、特殊なファイルタイプを持つ特殊ファイルとして作成されます。このオプションを入力用に使用した場合、ACL は他の属性とともに標準入力から復元されます。このオプションは特殊ファイルタイプを認識できます。ACL がすべてのシステムにサポートされているとは限らず、可搬性がないため、このオプションは -c オプションとともに使用しないでください。可搬性を考慮して、ASCII ヘッダを使用してください。

-r

 対話形式でファイル名を変更します。RETURN キーだけを押すと、そのファイルを飛ばします。"." と入力すると、元のパス名を使用します (sfccpio -p では使用できません)。

-R userid

 各ファイルの所有者とグループ情報を userid に変更します (userid は /etc/passwd ファイル内の有効なログイン ID でなければなりません)。このオプションはスーパーユーザだけが使用できます。

-s

 ハーフワードごとにバイトを交換します。

-S

 ワードごとにハーフワードを交換します。

-t

 入力の内容を表示します。ファイルは生成されません (-V と同時使用不可)。

-u

 無条件にコピーを実行します(通常、古いファイルは同一名の新しいファイルを置き換えしません)。

-v

 詳細表示。ファイル名のリストを出力します。-t オプションと一緒に使用すると ls -l コマンドの出力のようになります (ls(1) 参照)。

-V

 特別な詳細表示。入力または出力したファイルごとにドットを表示します。すべてのファイル名の表示をしないで sfccpio が動作していることをユーザが確認するときに便利です。

◆オペランド

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

directory

 sfccpio -p の対象となる既存ディレクトリのパス名。

pattern

 パターンマッチング用の表現方法を利用した式。これはシェルがファイル名のパターンマッチングに利用する式( sh(1) を参照)や正規表現に似たものです。以下に示すメタキャラクタが定義されています。
*
 空の文字列を含み、あらゆる文字列と一致します。
?
 あらゆる1文字と一致します。
[...]
 カッコ内のどれかの文字と一致します。2つの文字を-で区切って指定すると、システムのデフォルトの照合シーケンスにしたがってその2文字間のすべての文字(2文字自身も含む)と一致します。なお最初のカッコ [ の直後の文字が ! のとき、結果は保証されません。
!
 否定を表します。例えば !abc* と指定すると、文字列 abc で始まるファイル名とは一致しません。
 pattern 指定で、メタキャラクタ ?*[...] はスラッシュ( / )と一致し、バックスラッシュ()はエスケープ文字です。複数 pattern も指定可能で、pattern が何も指定されなければデフォルト値として * (すなわち、すべてのファイルを選択する) が採用されます。
 各パターンは二重引用符で囲む必要があります。そうしないと、現在のディレクトリ内のファイルが使用されることがあります。

◆使用法

 2 ギガバイト以上のファイルを保管することはできません。また、8 ギガバイト以上のアーカイブを作成することはできません。

◆使用例

 以下に sfccpio の 3 つの使用例を示します。

 標準入力をパイプ経由で sfccpio -o に渡すと、ファイルがグループ化されて1つのアーカイブファイル( ../newfile )にまとめられます。-c オプションは、アーカイブファイルの他のマシンとの互換性を保証します。ファイル名のリストをパイプ経由で sfccpio に渡すには、ls(1) の代わりに find(1), echo(1), cat(1) などが使用できます。ファイルではなくデバイスへ出力先を変更することもできます。

% ls | sfccpio -oc > ../newfile

 sfccpio -i sfccpio -o の出力を使用して(下の例では cat を使用してパイプに渡している)、パターン ( memo/a1、memo/b* )に一致するファイルを抽出します。さらに必要に応じて現在のディレクトリ下にディレクトリを作成し( -d オプション)、適切なディレクトリにファイルを格納します。-c オプションは互換性のあるヘッダで入力ファイルが作成されているときに使用します。何もパターンが与えられないと、 newfile 内のすべてのファイルをディレクトリに格納します。

% cat newfile | sfccpio -icd "memo/a1" "memo/b*"

 sfccpio -p はパイプ経由でファイル名を読み込んで、それらのファイルを別のディレクトリ(下の例ではnewdir )へコピーまたはリンク( -l オプション)します。-d オプションは必要に応じてディレクトリを作成することを意味します。-m オプションは変更時間を取得します( sfccpio に渡すパス名を作成するのに find(1) の -depth オプションを使用してください。これによって読み取りだけが許可されたディレクトリ下にファイルを作成しようとするときに発生する問題を排除できます)。コピー先のディレクトリ newdir は必ず指定してください。

% find . -depth -print | sfccpio -pdlmv newdir

 find と一緒に sfccpio を使用する場合、sfccpio のオプションに -L を使用しているときは find のオプションに -follow を(逆の場合も同様)使用してください。そうしないと、予期しない結果を出力します。

 複数のテープに対してアーカイブする場合は、古いテープを取り外し、新しいテープを取り付け、さらに次の装置名を入力して(通常、最初のテープ装置と同じ)次のテープに引き継いでください。 RETURNキーを押すと sfccpio が終了します。

◆環境

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

◆終了ステータス

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

0   正常終了
>0   エラーが発生した。

◆関連項目

sfccp(1), sfcgetext(1), sfcgetfattr(1), sfcmv(1), sfcsetext(1), sfcsettime(1), sfcsetvolume(1).

"Solaris X Reference Manual Collection" の ar(1), cat(1), cpio(1), echo(1), find(1), ls(1), setfacl(1), sh(1), tar(1), vold(1M), archives(4), attributes(5), environ(5), largefile(5), standards(5).

◆注意事項


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

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