すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:cp (オブジェクトのコピー)

最終更新日:Oct 23, 2025

オブジェクトの内容を変更せずに、同じ Object Storage Service (OSS) バケット内の別のディレクトリ、またはソースバケットと同じリージョンにある別のバケットにオブジェクトをコピーできます。ossutil の cp コマンドを使用してオブジェクトをコピーできます。

注意事項

  • オブジェクトをコピーするには、oss:GetObjectoss:ListObjects、および oss:PutObject 権限が必要です。詳細については、「RAM ユーザーにカスタム権限を付与する」をご参照ください。

  • cp コマンドを使用してオブジェクトをコピーできますが、パートはコピーできません。

  • デフォルトでは、タグとオブジェクト属性の両方がコピーされます。--copy-props オプションを使用して、属性とタグのコピールールを指定できます。

  • cp コマンドを使用して、Alibaba Cloud アカウントまたはリージョン間でオブジェクトをコピーすることはできません。Alibaba Cloud アカウントまたはリージョン間でオブジェクトをコピー (移行) する場合は、ossimport または データオンライン移行 を使用します。

構文

ossutil cp oss://src_bucket[/src_prefix] oss://dest_bucket[/dest_prefix] [flags]

パラメーター

タイプ

説明

src_bucket

string

一覧表示するリソースが格納されているバケットの名前。

src_prefix

string

ソースオブジェクトが格納されているディレクトリ、またはソースオブジェクトの名前に含まれるプレフィックス。

dest_bucket

string

一覧表示するリソースが格納されているバケットの名前。

dest_prefix

string

宛先オブジェクトを格納するディレクトリ、または宛先オブジェクトの名前に含まれるプレフィックス。

--acl

string

オブジェクトのアクセス制御リスト (ACL)。有効な値:

  • private: オブジェクトの ACL は非公開です。

  • public-read: ACL は公開読み取りです。

  • public-read-write: ACL は公開読み書きです。

  • default: オブジェクトの ACL は、オブジェクトが格納されているバケットの ACL と同じです。

--bigfile-threshold

int

マルチパートアップロード、ダウンロード、コピーのオブジェクトサイズのしきい値。デフォルト値: 104857600。

--cache-control

string

オブジェクトがダウンロードされるときの Web ブラウザーでのキャッシュ動作。

--checkers

int

並列実行するチェッカーの数。デフォルト値: 16。

--checkpoint-dir

string

チェックポイント情報が格納されるディレクトリ。デフォルト値: .ossutil_checkpoint/

--checksum

/

次のいずれかの条件が満たされた場合にのみ、ソースオブジェクトがコピーされるように指定します: a. ソースオブジェクトのサイズが宛先オブジェクトのサイズと異なる。b. ソースオブジェクトの CRC-64 が宛先オブジェクトの CRC-64 と異なるが、ソースオブジェクトのサイズが宛先オブジェクトのサイズと同じである。このパラメーターは、オブジェクトのコピー操作にのみ有効です。

--content-disposition

string

オブジェクトの表示形式。

--content-encoding

string

オブジェクトのエンコーディングメソッド。

--content-type

string

オブジェクトのコンテンツタイプ。

--copy-props

string

ソースオブジェクトのコピー時に属性とタグをコピーするかどうかを指定します。有効な値:

  • default: オブジェクトの属性とタグをコピーします。これはデフォルト値です。オブジェクト属性には、content-type、content-language、content-encoding、content-disposition、cache-control、expires、およびメタデータ (ユーザーメタデータ) が含まれます。

  • metadata: オブジェクト属性のみをコピーします。

  • none: データのみをコピーし、オブジェクト属性やタグはコピーしません。

-d, --dirs

string

すべてのサブディレクトリ内のすべてのオブジェクトを再帰的に表示するのではなく、現在のディレクトリ内のオブジェクトとサブディレクトリを一覧表示します。

--encoding-type

string

オブジェクト名のエンコードに使用されるエンコーディングメソッド。有効な値: url。

--end-with

string

名前が指定された値 (包括的) より辞書順で前にあるオブジェクトに一致します。

--exclude

stringArray

パスまたはオブジェクト名の除外ルールを指定します。

--exclude-from

stringArray

ファイルから除外ルールを読み取ります。

--expires

stringArray

キャッシュされたコンテンツの絶対有効期限。

--files-from

stringArray

ファイルからソースオブジェクトのリストを読み取ります。空の行とコメント行は無視されます。

--files-from-raw

stringArray

ファイルからソースオブジェクトのリストを読み取ります。

--filter

stringArray

パスまたはオブジェクト名のフィルター ルールを指定します。

--filter-from

stringArray

ファイルからパスまたはオブジェクト名のフィルター ルールを読み取ります。

-f, --force

/

ユーザーの確認を必要とせずに操作を強制します。

--include

stringArray

パスまたはオブジェクト名の包含ルールを指定します。

--include-from

stringArray

ファイルから包含ルールを読み取ります。

-j, --job

int

複数のオブジェクト間で実行できる同時タスクの数。デフォルト値: 3。

--list-objects

/

ListObjects 操作を呼び出してオブジェクトを一覧表示するように指定します。

--max-size

SizeSuffix

転送できるファイルまたはオブジェクトの最大サイズ。デフォルトでは、サイズはバイト (B) 単位です。数値に 1024 ベースの単位を接尾辞として付けることができます: B はバイト、K はキビバイト、M はメビバイト、G はギビバイト、T はテビバイト、P はペビバイトです。

--metadata

strings

key=value 形式のオブジェクトのユーザーメタデータ。

--metadata-directive

string

宛先オブジェクトのメタデータを設定するために使用されるメソッド。有効な値:

  • COPY

  • REPLACE

--metadata-exclude

stringArray

オブジェクトメタデータの除外ルール。

--metadata-filter

stringArray

オブジェクトメタデータのフィルター ルール。

--metadata-filter-from

stringArray

ファイルからメタデータフィルター ルールを読み取ります。

--metadata-include

stringArray

オブジェクトメタデータの包含ルール。

--min-age

Duration

指定された時間間隔より前に変更されたファイルのみをコピーします。デフォルトの単位は秒です。単位の接尾辞を使用できます。たとえば、1h は 1 時間を示します。

説明

--min-age 1h は、1 時間以上前に変更されたファイルのみがコピーされることを示します。

--max-age

Duration

指定された時間間隔内に変更されたファイルのみをコピーします。デフォルトの単位は秒です。単位の接尾辞を使用できます。たとえば、1h は 1 時間を示します。

説明

--max-age 1h は、過去 1 時間以内に変更されたファイルのみがコピーされることを示します。

--min-mtime

Time

指定された時刻以降に変更されたファイルのみをコピーします。時刻の形式は UTC です。例: 2006-01-02T15:04:05。

説明

--min-mtime "2006-01-02T15:04:05" は、2006 年 1 月 2 日 15:04:05 以降に変更されたファイルのみがコピーされることを示します。

--max-mtime

Time

指定された時刻より前に変更されたファイルのみをコピーします。時刻の形式は UTC です。例: 2006-01-02T15:04:05。

--min-size

SizeSuffix

転送できるファイルまたはオブジェクトの最小サイズ。デフォルトでは、サイズはバイト (B) 単位です。数値に 1024 ベースの単位を接尾辞として付けることができます: B はバイト、K はキビバイト、M はメビバイト、G はギビバイト、T はテビバイト、P はペビバイトです。

--no-progress

/

進行状況バーを表示しません。

--page-size

int

ページごとに返されるオブジェクトの最大数。デフォルト値: 1000。有効な値: 1 から 1000。

--parallel

int

単一オブジェクトに対する内部操作の同時タスク数。

--part-size

SizeSuffix

パートサイズ。デフォルトでは、ossutil はオブジェクトサイズに基づいて適切なパートサイズを計算します。パートサイズの範囲は 100 KiB から 5 GiB です。

-r, --recursive

/

このパラメーターを指定すると、cp コマンドはバケット内の条件を満たすすべてのオブジェクトに適用されます。それ以外の場合、cp コマンドは指定されたパス内のオブジェクトにのみ適用されます。

--request-payer

string

リクエストの支払者。リクエスト元支払いモードが有効な場合は、このパラメーターを requester に設定します。

--size-only

/

ソースオブジェクトのサイズが宛先オブジェクトと異なる場合にのみ、ソースオブジェクトをコピーします。

--start-after

string

--start-after パラメーターの値の後にアルファベット順で名前が来るオブジェクトが返されるように指定します。

--storage-class

string

オブジェクトのストレージクラス。有効な値:

  • Standard: 標準ストレージクラス。

  • IA: 低頻度アクセス (IA)

  • Archive: アーカイブ

  • ColdArchive: コールドアーカイブ

  • DeepColdArchive: ディープコールドアーカイブ

--tagging

strings

key=value ペアのオブジェクトタグ。

--tagging-directive

string

宛先オブジェクトにタグを設定するために使用されるメソッド。有効な値:

  • COPY

  • REPLACE

-u, --update

/

最終更新日時が宛先オブジェクトよりも新しい場合にのみ、ソースオブジェクトをコピーします。

--ignore-existing

/

既存の宛先オブジェクトを無視します。

説明

詳細については、「コマンドラインオプション」をご参照ください。

宛先オブジェクトの名前は、次のルールに従います:

  • ソースオブジェクトがコピーされ、dest_prefix パラメーターが指定されていない場合、宛先オブジェクトの名前はソースオブジェクトの相対パスになります。

  • ソースオブジェクトがコピーされ、dest_prefix パラメーターの値がスラッシュ (/) で終わる場合、宛先オブジェクトの名前は次の形式になります: dest_prefix パラメーターの値 + ソースオブジェクトの相対パス。

  • ソースオブジェクトがコピーされ、dest_prefix パラメーターの値がスラッシュ (/) で終わらない場合、宛先オブジェクトの名前は dest_prefix パラメーターの値になります。

  • 複数のソースオブジェクトがコピーされ、dest_prefix パラメーターの値がスラッシュ (/) で終わる場合、宛先オブジェクトの名前は次の形式になります: dest_prefix パラメーターの値 + ソースオブジェクトの相対パス。

  • 複数のソースオブジェクトがコピーされ、dest_prefix パラメーターの値がスラッシュ (/) で終わらない場合、宛先オブジェクトの名前は次の形式になります: dest_prefix パラメーターの値 + / + ソースオブジェクトの相対パス。

  • 単一オブジェクトのコピー

    ossutil cp oss://examplebucket1/examplefile.txt oss://examplebucket1/desfolder/
  • 増分オブジェクトのコピー

    複数のオブジェクトをコピーするときに --update オプションを指定すると、ossutil は、宛先オブジェクトが存在しない場合、またはソースオブジェクトの最終更新日時が宛先オブジェクトよりも新しい場合にのみ、ソースオブジェクトをコピーします。次のコマンドを実行して、増分オブジェクトをコピーできます:

    ossutil cp oss://examplebucket1/srcfolder1/ oss://examplebucket1/desfolder/ -r --update

    このオプションを使用すると、コピー済みのオブジェクトをスキップして、コピーに失敗したオブジェクトのみをコピーできます。

  • オブジェクトの名前変更

    ossutil cp oss://examplebucket1/examplefile.txt oss://examplebucket1/example.txt 

    cp コマンドを使用してオブジェクトの名前を変更すると、元のオブジェクトはまだ存在します。名前を変更した後、元のオブジェクトを削除できます。

  • オブジェクトのタグの変更

    ossutil cp oss://examplebucket1/examplefile.txt oss://examplebucket1/ --tagging "abc=1&bcd=2&……"