tencent cloud

Cloud Object Storage

ドキュメントCloud Object StorageツールガイドCOSCLIツールよく使用するコマンドファイルのアップロード・ダウンロードまたはコピー - cp

ファイルのアップロード・ダウンロードまたはコピー - cp

PDF
フォーカスモード
フォントサイズ
最終更新日: 2026-03-12 10:22:12
cpコマンドは、ファイルをアップロード、ダウンロードまたはコピーするときに使います。
注意:
ファイルアップロードコマンドを使用するには、ポリシー許可を設定する際に、actionをcos:HeadBucketcos:GetBucketcos:HeadObjectcos:InitiateMultipartUploadcos:UploadPartcos:CompleteMultipartUploadcos:ListMultipartUploadscos:ListPartsに設定する必要があります。
ファイルダウンロードコマンドを使用するには、ポリシー許可を設定する際に、actionをcos:HeadBucketcos:GetBucketcos:HeadObjectcos:GetObjectに設定する必要があります。
ファイルコピーコマンドを使用するには、ポリシー許可を行う際に、ターゲットオブジェクトのアクションをcos:GetBucketcos:HeadObjectcos:InitiateMultipartUploadcos:PutObjectcos:CompleteMultipartUploadに、ソースオブジェクトのアクションはcos:HeadBucketcos:GetBucketcos:HeadObjectcos:GetObjectに設定する必要があります。
詳細な権限については、CAM対応APIをご参照ください。

コマンド形式

./coscli cp <source_path> <destination_path> [flags]
cp コマンドには以下のパラメータが含まれています。
パラメータの形式
パラメータの用途
source_path
ソースファイルのパス。ローカルパスまたは COS ファイルパスでもかまいません。COS パスは、構成パラメータ のバケットエイリアス、またはバケット名を使用してアクセスすることがサポートされています。 バケツ名でアクセスする場合は、さらに「endpoint」flagを追加する必要があります。
ローカルパス:~/example.txt
バケットエイリアスを使用して COS ファイルパスを指定する場合:cos://bucketalias/example.txt
バケット名で COS ファイルパスを指定する場合:cos://examplebucket-1250000000/example.txt
destination_path
ターゲットファイルパス。ローカルパスまたは COS ファイルパスでもかまいません。COS パスは、構成パラメータ のバケットエイリアス、またはバケット名を使用してアクセスすることがサポートされています。 バケツ名でアクセスする場合は、さらに「endpoint」flagを追加する必要があります。
ローカルパス:~/example.txt
バケットエイリアスを使用して COS ファイルパスを指定する場合:cos://bucketalias/example.txt
バケット名で COS ファイルパスを指定する場合:cos://examplebucket-1250000000/example.txt
cpコマンドには、以下のオプションflagが含まれます。
flagの略称
flagの正式名称
flagの用途
なし
--include
特定のモードを含むファイル(v1.0.4以前のバージョンではアップロード時にローカルファイル名のみをフィルタリングしていましたが、v1.0.4バージョン以降ではフルパスをフィルタリングします)
えば、./test 以下のすべてのファイルをCOSにアップロードする必要があり、./test には aaa フォルダが含まれ、aaa フォルダ内には1.txt ファイルが含まれています。
1.0.4より前のバージョンはaaa/1.txtにマッチします
1.0.4以降のバージョンは./test/aaa/1.txtにマッチします
なし
--exclude
特定のモードを除外したファイル(v1.0.4以前のバージョンではアップロード時にローカルファイル名のみをフィルタリングしていましたが、v1.0.4バージョン以降ではフルパスをフィルタリングします)
えば、./test 以下のすべてのファイルをCOSにアップロードする必要があり、./test には aaa フォルダが含まれ、aaa フォルダ内には1.txt ファイルが含まれています。
1.0.4より前のバージョンはaaa/1.txtにマッチします
1.0.4以降のバージョンは./test/aaa/1.txtにマッチします
-r
--recursive
フォルダ内のすべてのファイルを再帰的にトラバーサル処理するかどうか
なし
--storage-class
アップロードされるファイルのストレージタイプを指定します(デフォルトは STANDARD)。その他のストレージタイプについては、ストレージタイプの概要を参照してください。
なし
--part-size
ファイルのチャンクサイズはMB単位で、デフォルト値は32、最大は5120です。ファイルサイズに基づいてチャンクサイズを自動調整する場合は、0に設定してください。
なし
--thread-num
同時実行スレッド数(デフォルトの同時実行は5)
なし
--rate-limiting
シングルリンクレート制限(0.1~100MB/s)、単位:MB/s
なし
--meta
アップロードファイルのメタ情報。一部のHTTP標準属性(HTTP Header)およびx-cos-meta-で始まるユーザーカスタムメタデータ(User Meta)が含まれます。ファイルメタ情報の形式はheader:value#header:valueであり、例えばExpires:2022-10-12T00:00:00.000Z#Cache-Control:no-cache#Content-Encoding:gzip#x-cos-meta-x:xのようになります。
なし
--routines
ファイル間の同時アップロードまたはダウンロードのスレッド数を指定します。デフォルトは「3」です。
なし
--fail-output
このオプションは、アップロードまたはダウンロードに失敗したときにファイルのエラー出力を有効にするかどうかを決定します(デフォルトは 「true」で、有効にする)。 有効にする場合、ファイル転送の失敗は指定したディレクトリに記録されます (指定しない場合、デフォルトで「. /coscli_output’に記録される) 。 無効にする場合、エラーファイルの数のみがコンソールに出力されます。
なし
--fail-output-path
このオプションは、アップロードまたはダウンロードに失敗したファイルが記録されるエラー出力フォルダを指定するために使用します。 カスタムフォルダパスを提供することで、エラー出力フォルダの場所と名前を管理できます。 このオプションが設定されていない場合、デフォルトのエラーログフォルダ「. /coscli_output」が使用されま。
なし
--retry-num
頻度制限のリトライ回数 (デフォルトは「0」で、リトライしない)。 「1-10」回から選択可能。 複数のマシンが同じ COS ディレクトリに対して同時にダウンロード操作を行う場合、このパラメータを指定してリトライすることで、頻度制限エラーを回避することができます。
なし
--err-retry-num
エラーのリトライ回数 (デフォルトは「0」)。「1-10」回指定するか、リトライしない場合は 0 を指定します。
なし
--err-retry-interval
リトライ間隔 (「--err-retry-num」を「1-10」に指定した場合のみ有効)。リトライ間隔を「1-10」 秒で指定します。指定しない場合、または「0」に設定した場合は、各リトライ間隔は「1-10」秒以内でランダムになります。
なし
--only-current-dir
現在のディレクトリ内のファイルのみをアップロードし、サブディレクトリとその内容を無視するかどうか(デフォルトは「false」で、無視しない)
なし
--disable-all-symlink
アップロード時にすべてのソフトリンクサブファイルとソフトリンクサブディレクトリを無視するかどうか (デフォルトは「true」で、アップロードしない)。現在、LinuxおよびmacOSシステムのみサポートされています。
なし
--enable-symlink-dir
ソフトリンクのサブディレクトリをアップロードするかどうか (デフォルトは「false」で、アップロードしない)。現在、LinuxおよびmacOSシステムのみサポートされています。
なし
--disable-crc64
CRC64 データチェックを無効にするかどうか。 (デフォルトは「false」で、チェックを有効にする)
なし
--disable-checksum
デフォルトはtrueで、シャードのCRC64のみを検証します。falseに設定すると、ファイル全体のCRC64を検証します。(coscli V1.0.6以前のバージョンではデフォルトはfalseです)
なし
--move
ファイルが目標パスにコピーされた後、ソースファイルを削除します。(COSパス間のみ使用可能)
なし
--version-id
指定されたバージョンのファイルをダウンロードします。バージョン管理が有効になっているバケット内でのみ使用できます。(単一ファイルのみ対応)
なし
--process-log
プロセスログを有効にするかどうか。デフォルトはtrueで有効です
なし
--process-log-path
このオプションは、プロセスログを保存するための専用出力フォルダを指定するために使用します。ログには、エラーログ、正常実行ログ、リトライなどの詳細を含む、ファイルのアップロードまたはダウンロードに関する情報が記録されます。カスタムのフォルダパスを指定することで、ログ出力フォルダの場所と名前を制御できます。このオプションが設定されていない場合は、デフォルトのログフォルダ(coscli_output)が使用されます。
なし
--skip-dir
デフォルトではfalseです。trueに設定すると、転送時にフォルダをスキップします。
なし
--acl
ファイルのACLを設定します。例:private、public-read
なし
--grant-read
権限を付与されるユーザーに、オブジェクトの読み取り権限を与えます。形式はid="[OwnerUin]"、例:id="100000000001"。半角カンマ(,)で区切って複数のユーザーを指定できます。例:id="100000000001",id="100000000002" 。
なし
--grant-read-acp
権限を付与されるユーザーに、オブジェクトのアクセス制御リスト(ACL)の読み取り権限を与えます。形式はid="[OwnerUin]"、例:id="100000000001"。半角カンマ(,)で区切って複数のユーザーを指定できます。例:id="100000000001",id="100000000002" 。
なし
--grant-write-acp
権限を付与されるユーザーに、オブジェクトのアクセス制御リスト(ACL)の書き込み権限を与えます。形式はid="[OwnerUin]"、例:id="100000000001"。半角カンマ(,)で区切って複数のユーザーを指定できます。例:id="100000000001",id="100000000002" 。
なし
--grant-full-control
権限を付与されるユーザーに、オブジェクトを操作するすべての権限を与えます。形式はid="[OwnerUin]"、例:id="100000000001"。半角カンマ(,)で区切って複数のユーザーを指定できます。例:id="100000000001",id="100000000002" 。
なし
--tags
オブジェクトのタグセット。最大10個のタグを設定できます(例:--tags="Key1=Value1&Key2=Value2")
なし
--forbid-overwrite
バージョニングが有効でないバケットに対し、アップロード時に同名オブジェクトの上書きを禁止するかどうかを指定します。
falseを指定した場合、デフォルトで同名オブジェクトを上書きします。
trueを指定した場合、同名オブジェクトの上書きを禁止します。
バケットのバージョニングが有効または一時停止中の状態である場合、x-cos-forbid-overwriteリクエストヘッダーの設定は無効となり、同名オブジェクトの上書きが許可されます。
なし
--encryption-type
サーバーサイド暗号化の方式(SSE-COS/SSE-C)。
なし
--server-side-encryption
サーバーサイド暗号化アルゴリズム。AES256、cos/kmsをサポートします。
SSE-COSまたはSSE-KMSを使用する場合、このフィールドは必須項目です。
なし
--sse-customer-algo
サーバーサイド暗号化アルゴリズム。AES256をサポートします。
SSE-Cを使用する場合、このフィールドは必須項目です。
なし
--sse-customer-key
サーバーサイド暗号化キーのBase64エンコード。
例:MDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlBQkNERUY=。
SSE-Cを使用する場合、このフィールドは必須項目です。
なし
--sse-customer-key-md5
サーバーサイド暗号化キーのMD5ハッシュ値。Base64でエンコードされています。
例:U5L61r7jcwdNvT7frmUG8g==。
SSE-Cを使用する場合、このフィールドは必須項目です。
なし
--check-point
レジュームアップロードを有効にするかどうか。デフォルトではtrueで有効です。
説明:
コマンドを使用する際は、ツールがローカルパスにアクセスする権限を持っていることを確認してください。
cpコマンドは、大容量ファイルのアップロードやダウンロードを行う場合、アップロード/ダウンロードの同時実行を自動的に有効にします。
ファイルが--part-sizeよりも大きい場合、COSCLIはまず--part-sizeに従ってファイルをチャンクにし、次に--thread-num個のスレッドを使用してアップロード/ダウンロードのタスクを同時に実行します。
各スレッドは1つのリンクを維持します。各リンクに対して--rate-limitingパラメータを使用すると、シングルリンクのレート制限ができます。同時アップロード/ダウンロードが有効な場合、合計レートは、--thread-num * --rate-limitingとなります。
ファイルをチャンクでアップロード/ダウンロードする場合、デフォルトで中断からの再開が有効になります。
--include--excludeは標準的な正規表現の構文をサポートしており、これを使えば特定の条件を満たすファイルをフィルタリングすることができます。
デフォルトではシンボリックリンクはアップロードされません。シンボリックリンクをアップロードするには、--disable-all-symlink=false --enable-symlink-dir=true を設定してください。注意: シンボリックリンクに循環参照がある場合、ツールが無限ループに入る可能性があります。
zshを使用する場合、pattern文字列の両端に二重引用符を付ける必要がある場合があります。
./coscli cp ~/test/ cos://bucket1/example/ -r --include ".*\\.txt$" --meta=x-cos-meta-a:a#ContentType:text#Expires:2022-10-12T00:00:00.000Z
Windows の cmd でコマンドを使用する場合、「——」文字(中国語の横棒)は cmd に貼り付けると自動的に「--」に変わってしまうので、手動で入力する必要があります。
このコマンドのその他の一般的なオプション(バケットの切り替え、ユーザーアカウントの切り替えなど)については、一般オプション ドキュメンテーションを参照してください。

操作事例

アップロード操作

単一ファイルのアップロード

./coscli cp ~/example.txt cos://bucket1/example.txt

ローカルのtestフォルダ内のすべてのファイルとフォルダをbucket1バケットのexampleフォルダにアップロードします

./coscli cp ~/test/ cos://bucket1/example/ -r

ローカルのtestフォルダとそのサブフォルダ内のすべての.mp4形式のファイルをbucket1バケットのexampleフォルダにアップロードします

./coscli cp ~/test/ cos://bucket1/example/ -r --include ".*\\.mp4$"

ローカルのtestフォルダとそのサブフォルダ内の.md形式以外のすべてのファイルをbucket1バケットのexampleフォルダにアップロードします

./coscli cp ~/test/ cos://bucket1/example/ -r --exclude ".*\\.md$"

ローカルのtestフォルダとそのサブフォルダ内の.md形式および.html形式以外のすべてのファイルをbucket1バケットのexampleフォルダにアップロードします

./coscli cp ~/test/ cos://bucket1/example/ -r --exclude ".*\\.html$|.*\\.md$"

ローカルのdirフォルダにはdirA、dirB、dirC、dirDという4つのフォルダがあり、dirフォルダにあるdirDフォルダを除くすべての内容をアップロードします

./coscli cp dir/ cos://bucket1/example/ -r --exclude dirD/.*

ローカルのtestフォルダ内のすべてのファイルとフォルダを、bucket1バケットのexampleフォルダにアップロードし、アーカイブ形式で保存します

./coscli cp ~/test/ cos://bucket1/example/ -r --storage-class ARCHIVE

ローカルのfile.txtファイルをバケットbucket1にアップロードし、シングルリンクレート制限を1.3MB/sに設定します

./coscli cp ~/file.txt cos://bucket1/file.txt --rate-limiting 1.3

ダウンロード操作

単一ファイルのダウンロード

./coscli cp cos://bucket1/example.txt ~/example.txt

bucket1バケットのexampleフォルダ内のすべてのファイルとフォルダをローカルのtestフォルダにダウンロードします

./coscli cp cos://bucket1/example/ ~/test/ -r

bucket1バケットのexampleフォルダとそのサブフォルダ内のすべての.mp4形式のファイルをローカルのtestフォルダにダウンロードしますードします

./coscli cp cos://bucket1/example/ ~/test/ -r --include ".*\\.mp4$"

bucket1バケットのexampleフォルダとそのサブフォルダ内の.md形式以外のすべてのファイルをローカルのtestフォルダにダウンロードします

./coscli cp cos://bucket1/example/ ~/test/ -r --exclude ".*\\.md$"

bucket1バケットのexampleフォルダとそのサブフォルダ内の.md形式および.html形式以外のすべてのファイルをローカルのtestフォルダにダウンロードします

./coscli cp cos://bucket1/example/ ~/test/ -r --exclude ".*\\.html$|.*\\.md$"

bucket1バケットのexample.txtファイルのxxxバージョンをローカルのtestディレクトリにダウンロード

./coscli cp cos://bucket1/example.txt ~/test/ --version-id xxx

コピー操作

バケット内の単一ファイルのコピー

./coscli cp cos://bucket1/example.txt cos://bucket1/example_copy.txt

バケット間の単一ファイルのコピー

./coscli cp cos://bucket1/example.txt cos://bucket2/example_copy.txt

bucket1バケットのexample1フォルダ内のすべてのファイルとフォルダをbucket2バケットのexample2フォルダにコピーします

./coscli cp cos://bucket1/example1/ cos://bucket2/example2/ -r

bucket1バケットのexample1フォルダとそのサブフォルダー内のすべての.mp4形式のファイルをbucket2バケットのexample2フォルダにコピーします

./coscli cp cos://bucket1/example1/ cos://bucket2/example2/ -r --include ".*\\.mp4$"

bucket1バケットのexample1フォルダとそのサブフォルダ内の.md形式以外のすべてのファイルをbucket2バケットのexample2フォルダにコピーします

./coscli cp cos://bucket1/example1/ cos://bucket2/example2/ -r --exclude ".*\\.md$"

bucket1バケットのexample.txtファイルのxxxバージョンをbucket2バケットにコピー

./coscli cp cos://bucket1/example.txt cos://bucket2/ --version-id xxx

bucket1のtestフォルダをbucket2に移動

./coscli cp cos://bucket1/test/ cos://bucket2/test/ --move -r

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック