tencent cloud

All product documents
Cloud Object Storage
Last updated: 2024-06-28 16:58:28
COSCMD
Last updated: 2024-06-28 16:58:28

Feature Overview

COSCMD enables you to use simple command lines to batch-operate objects, such as upload, download, and delete.

Operating Environments

Operating system

Windows, Linux, and macOS.
Note:
Local characters should use UTF-8 encoding. Otherwise, exceptions will occur when you operate on Chinese files.
Ensure that the local time is in sync with UTC. If there is a large deviation between the two, COSCMD might not function properly.

Software dependency

Python 2.7 and Python 3
Latest version of pip
Note:
It is recommended that users install the Python version with integrated pip directly.

Installation and configuration

For more information about the installation and configuration of the environment, see Python.
For more information about the installation and configuration of pip, see Installation.

Download and Installation

You can install COSCMD in the following three ways:

Method 1:

1. Installing with pip

Run the pip command to install COSCMD:
pip install coscmd
After the installation is complete, you can run the -v or --version command to view the version information.
Note:
After installing COSCMD in Windows, you need to add the C:\python_install_dir and C:\python_install_dir\Scripts paths to environment variables.

2. Upgrading with pip

After the installation is complete, you can run the following command to upgrade COSCMD:
pip install coscmd -U

Method 2: Installing with the source code (not recommended)

You can click here to download the source code.
git clone https://github.com/tencentyun/coscmd.git
cd coscmd
python setup.py install
Note:
If your Python version is 2.6, installing the dependent libraries with pip may fail. Therefore, this installation method is recommended.

Method 3: Installing from offline

Note:
Ensure that the two devices are installed with the same version of Python. Otherwise, the installation might fail.
# Run the following commands on a device that is connected to the Internet
mkdir coscmd-packages
pip download coscmd -d coscmd-packages
tar -czvf coscmd-packages.tar.gz coscmd-packages



# Copy the installation package to a device that is not connected to the Internet and run the following commands
tar -xzvf coscmd-packages.tar.gz
pip install coscmd --no-index -f coscmd-packages

Parameter Configuration

Viewing the help option

Run the -h or --help command to view the information and usage of COSCMD.
coscmd -h
The help information is as follows:
usage: coscmd [-h] [-d] [-s] [-b BUCKET] [-r REGION] [-c CONFIG_PATH]
[-l LOG_PATH] [--log_size LOG_SIZE]
[--log_backup_count LOG_BACKUP_COUNT] [-v]
{config,upload,download,delete,abort,copy,move,list,listparts,info,restore,signurl,createbucket,deletebucket,putobjectacl,getobjectacl,putbucketacl,getbucketacl,putbucketversioning,getbucketversioning,probe}
...

an easy-to-use but powerful command-line tool. try 'coscmd -h' to get more
informations. try 'coscmd sub-command -h' to learn all command usage, likes
'coscmd upload -h'

positional arguments:
{config,upload,download,delete,abort,copy,move,list,listparts,info,restore,signurl,createbucket,deletebucket,putobjectacl,getobjectacl,putbucketacl,getbucketacl,putbucketversioning,getbucketversioning,probe}
config Config your information at first
upload Upload file or directory to COS
download Download file from COS to local
delete Delete file or files on COS
abort Aborts upload parts on COS
copy Copy file from COS to COS
move move file from COS to COS
list List files on COS
listparts List upload parts
info Get the information of file on COS
restore Restore
signurl Get download url
createbucket Create bucket
deletebucket Delete bucket
putobjectacl Set object acl
getobjectacl Get object acl
putbucketacl Set bucket acl
getbucketacl Get bucket acl
putbucketversioning
Set the versioning state
getbucketversioning
Get the versioning state
probe Connection test

optional arguments:
-h, --help show this help message and exit
-d, --debug Debug mode
-s, --silence Silence mode
-b BUCKET, --bucket BUCKET
Specify bucket
-r REGION, --region REGION
Specify region
-c CONFIG_PATH, --config_path CONFIG_PATH
Specify config_path
-l LOG_PATH, --log_path LOG_PATH
Specify log_path
--log_size LOG_SIZE specify max log size in MB (default 1MB)
--log_backup_count LOG_BACKUP_COUNT
specify log backup num
-v, --version show program's version number and exit
In addition, you can enter -h after each command (with no parameter appended) to see how to use the command. For example:
coscmd upload -h // View how to use the upload command

Generating a configuration file

COSCMD will first read the necessary information from the configuration file before running. By default, COSCMD will read configuration items from ~/.cos.conf.
Note:
Before the configuration, you need to go to the COS console to create a bucket (e.g., configure-bucket-1250000000) for parameter configuration and create a key.
The following is a sample configuration file:
[common]
secret_id = AKIDA6wUmImTMzvXZNbGLCgtusZ2E8mG****
secret_key = TghWBCyf5LIyTcXCoBdw1oRpytWk****
bucket = configure-bucket-1250000000
region = ap-chengdu
max_thread = 5
part_size = 1
retry = 5
timeout = 60
schema = https
verify = md5
anonymous = False
Note:
The timeout item in the configuration file, in seconds, indicates the timeout period for reading and writing data.
schema can be set to http or https (default).
anonymous can be set to True or False. If it is set to True, the anonymous mode is used (the signature is empty).
For more information about the parameter description, run the coscmd config -h command.

Generating a configuration file via the config command

Note:
We recommend you use a temporary key as instructed in Generating and Using Temporary Keys to call the SDK for security purposes. When you apply for a temporary key, follow the Notes on Principle of Least Privilege to avoid leaking resources besides your buckets and objects.
If you must use a permanent key, we recommend you follow the Notes on Principle of Least Privilege to limit the scope of permission on the permanent key.
You can run the config command to automatically generate a configuration file in ~/.cos.conf. The command format is as follows:
coscmd config [OPTION]...<FILE>...
[-h] --help
[-a] <SECRET_ID>
[-s] <SECRET_KEY>
[-t] <TOKEN>
[-b] <BucketName-APPID>
[-r] <REGION> | [-e] <ENDPOINT>
[-m] <MAX_THREAD>
[-p] <PART_SIZE>
[--do-not-use-ssl]
[--anonymous]
Note:
Fields enclosed in "[]" are optional, and those in "<>" are required.
The parameters are described as follows:
Option
Parameter Description
Valid Value
Required
-a
Key ID, which can be obtained at Manage API Key
String
Yes
-s
Key, which can be obtained at Manage API Key
String
Yes
-t
Temporary key token, which needs to be specified in the x-cos-security-token header when a temporary key is used.
String
No
-b
Name of the specified bucket, formatted as BucketName-APPID. For more information, see Naming Conventions. If this is your first time using COSCMD, you need to create a bucket in the COS console to configure COSCMD.
String
Yes
-r
Region of the bucket. For more information, see Regions and Access Endpoints.
String
Yes
-e
Endpoint of the request. Once you configure this parameter, the region parameter will be invalidated. If you use the default endpoint, this parameter is formatted as cos.<region>.myqcloud.com; if you use a global acceleration endpoint, the format is cos.accelerate.myqcloud.com.
String
No
-m
Maximum number of threads for multithreaded operation (default is 5). If the file upload is slow, you can increase this value. The number of threads depends on the machine's performance. Assuming the machine supports a maximum of 30 threads, you can adjust the concurrent threads to 30 to fully utilize the machine performance. The command is coscmd config -m 30.
Number
No
-p
Size of the multipart upload part, in MB (default: 1; value range: 1-1000)
Number
No
--do-not-use-ssl
Uses the HTTP protocol instead of HTTPS
String
No
--anonymous
Anonymous operation (without carrying a signature)
String
No
The following sample shows how to use the config command:
coscmd config -a AChT4ThiXAbpBDEFGhT4ThiXAbp**** -s WE54wreefvds3462refgwewe**** -b configure-bucket-1250000000 -r ap-chengdu

Common Commands

Specifying a bucket and its region

If you do not specify the bucket and region in the commands, the commands take effect for the bucket that is used to configure COSCMD. To perform operations on another bucket, you need to specify the bucket and the region where the bucket resides.
Note:
Use the -b <BucketName-APPID> parameter to specify the bucket name, which must be formatted as BucketName-APPID.
Use the -r <region> parameter to specify the region where the bucket resides.
Command syntax
coscmd -b <BucketName-APPID> -r <region> <action> ...
Sample: creating a bucket named examplebucket that resides in the Beijing region
coscmd -b examplebucket-1250000000 -r ap-beijing createbucket
Sample: uploading “picture.jpg” from D drive to the examplebucket bucket
coscmd -b examplebucket-1250000000 -r ap-beijing upload D:/picture.jpg /

Specifying the configuration file and log file paths

If you do not specify the configuration file path, ~/.cos.conf will be used by default. Similarly, if you do not specify the log file path, ~/.cos.log will be used by default.
Note:
Use the -c <conf_path> parameter to specify the configuration file path. COSCMD will read configuration information from the path when running.
Use the -l <log_conf> parameter to specify the log file path. COSCMD will output the logs generated at runtime to the log files in the path.
Command syntax
coscmd -c <conf_path> -l <log_conf> <action> ...
Sample: setting the configuration file’s path to /data/home/cos_conf and the log path to /data/home/cos_log, and creating a bucket named examplebucket in the Beijing region.
coscmd -c /data/home/cos_conf -l /data/home/cos_log -b examplebucket-1250000000 -r ap-beijing createbucket

Running commands in debugging mode

If -d or -debug is added before a command, detailed operation information will be displayed when executing the command, as shown in the example below:
Command syntax
coscmd -d upload <localpath> <cospath>
Sample: outputting detailed information upon the upload
coscmd -d upload -rs D:/folder/ /

Running commands in silence mode

You can prefix -s or --silence in each command so that no message will be output.
Note:
To run this command, the version should be at least 1.8.6.24.
Command syntax
coscmd -s upload <localpath> <cospath>
Sample:
coscmd -s upload D:/picture.jpg /

Common Bucket Commands

Creating a bucket

Note:
Specify -b <BucketName-APPID> and -r <Region> when you run the coscmd createbucket command; otherwise, an error may be reported. This is because if the bucket and region are not specified, this command takes effect for the bucket that is used to configure COSCMD.
Command syntax
coscmd -b <BucketName-APPID> createbucket
Sample: creating a bucket named examplebucket that resides in the Beijing region
coscmd -b examplebucket-1250000000 -r ap-beijing createbucket

Deleting a bucket

Note:
coscmd deletebucket takes effect only for the bucket that is used to configure COSCMD. To delete another bucket, run the command with the -b <BucketName-APPID> and -r <region> parameters specified.
Command syntax
coscmd -b <BucketName-APPID> deletebucket
Sample: deleting empty buckets
coscmd -b examplebucket-1250000000 -r ap-beijing deletebucket
Sample: forcibly deleting a non-empty bucket
coscmd -b examplebucket-1250000000 -r ap-beijing deletebucket -f
Note:
The -f parameter will forcibly delete the bucket, including all files, noncurrent folders (if versioning is enabled), and incomplete multipart uploads.

Common Object Commands

Uploading files

Command syntax for uploading a file
coscmd upload <localpath> <cospath>
Note:
Replace "localpath" and "cospath" enclosed in "<>" with the path of the local file to upload and the COS storage path, respectively.
Sample: uploading “picture.jpg” in D drive to the "doc" folder of COS
coscmd upload D:/picture.jpg doc/
Sample: uploading “picture.jpg” in the "doc" folder in D drive to the "doc" folder of COS
coscmd upload D:/doc/picture.jpg doc/
Sample: uploading a file to the ARCHIVE storage class to the "doc" directory of COS
coscmd upload D:/picture.jpg doc/ -H "{'x-cos-storage-class':'Archive'}"
Note:
When you set the HTTP header with the -H parameter, please use the JSON format, for example, coscmd upload -H "{'x-cos-storage-class':'Archive','Content-Language':'zh-CN'}" <localpath> <cospath>. For more information about the headers, see PUT Object.
Sample: setting meta attributes and uploading a file to the “doc” folder of COS
coscmd upload D:/picture.jpg doc/ -H "{'x-cos-meta-example':'example'}"
Sample: Set the upload speed limit to 800Kb/s and upload the file file.zip from the doc folder on Drive D to the doc directory on COS.
coscmd upload D:/doc/file.zip doc/ -H "{'x-cos-traffic-limit':'819200'}"
Note:
Specify the request header x-cos-traffic-limit via the -H parameter to limit the speed. The speed range is 819200 to 838860800 (in bit/s), that is, 800 Kb/s to 800 Mb/s. If a value is not within this range, a 400 error will be returned.

Uploading a folder

Command syntax for uploading a folder
coscmd upload -r <localpath> <cospath>
Note:
Windows users are advised to use the upload command in cmd or PowerShell that comes with the system. Other tools, such as Git Bash, have a different command path resolution strategy than PowerShell and can cause users' files to be uploaded to an incorrect path.
Sample: uploading the "doc" folder in D drive to the root directory of COS
coscmd upload -r D:/doc /
Sample: uploading the "doc" folder in D drive to the "doc" folder of COS
coscmd upload -r D:/doc doc
Sample: uploading files synchronously (files with the same name, MD5 checksum, and file size will be skipped)
coscmd upload -rs D:/doc doc
Note:
Use the -s parameter to upload files synchronously while skipping those with the same MD5 value (please note that the source files in COS must have been uploaded using COSCMD v1.8.3.2 or above; the x-cos-meta-md5 header is included by default).
Sample: uploading files synchronously (files with the same name and file size will be skipped)
coscmd upload -rs --skipmd5 D:/doc doc
Note:
The -s parameter allows synchronous upload, and the --skipmd5 parameter can be used to skip files with the same name and same file size.
Sample: uploading the folder synchronously and deleting files that are deleted in the "doc" folder in D drive
coscmd upload -rs --delete D:/doc /
Note:
For example, if the files in the Drive D doc folder have been synchronously uploaded to the doc path in COS on the same day, and the source and destination are consistent. On the next day, if the user deletes file A from the Drive D doc folder, executing the above command will delete file A from the doc path in COS, ultimately keeping the files in the Drive D doc folder consistent with those in the doc path in COS.
Sample: ignoring .txt and .doc files in the "doc" folder in D drive
coscmd upload -rs D:/doc / --ignore *.txt,*.doc
Sample: ignoring .txt files in the "doc" folder in D drive
coscmd upload -rs D:/doc / --ignore "*.txt"
Note:
When uploading folders, you can ignore certain types of files by using the --ignore parameter, or filter certain types of files by using --include. Multiple shell wildcard rules (separated by commas ,) are supported. To ignore a specified extension, , must be added at the end, or "" must be used to enclose the extension. If "" contains multiple comma-separated rules, the first rule prevails.
If you want to use --ignore to filter all files in a particular folder, you need to use an absolute path and use "" to enclose the path, for example, coscmd upload -rs D:/doc / --ignore "D:/doc/ignore_folder/*".
Sample: uploading .txt and .doc files in the "doc" folder in D drive
coscmd upload -rs D:/doc / --include *.txt,*.doc
Sample: uploading .txt files in the "doc" folder in D drive
coscmd upload -rs D:/doc / --include "*.txt"
Note:
If the file to upload is larger than 10 MB, COSCMD will upload it with multipart upload. The command is coscmd upload <localpath> <cospath> (same as simple upload).
COSCMD supports checkpoint restart to resume the upload of large files. When the multipart upload of a large file fails, only the failed parts will be uploaded when the operation is resumed instead of starting over from scratch (please ensure that the directory and content of the re-uploaded file are consistent with the uploaded directory).
COSCMD performs MD5 verification on each part during multipart upload.
When COSCMD uploads a file, the x-cos-meta-md5 header is carried by default, whose value is the file's MD5 checksum. If the command has carried the --skipmd5 parameter, this header will not be carried.

Querying a file list

The query command is as follows:
Command syntax
coscmd list <cospath>
Sample: recursively querying the list of all files prefixed with "doc/" in this bucket
coscmd list doc/
Sample: recursively querying the file list, number of files, and the file sizes of a bucket.
coscmd list -ar
Sample: recursively querying the list of all files prefixed with "examplefolder"
coscmd list examplefolder/ -ar
Sample: querying the historical versions of all files in a bucket
coscmd list -v
Note:
Replace "cospath" enclosed in "<>" with the COS path of the file list to query. If <cospath> is empty, the root directory of the current bucket is queried.
Use -a to query all files.
Use -r to query files recursively. The number and total size of the files are listed at the end of the returned result.
Use -n num to set the maximum number of files to query.

Viewing the file information

The command is as follows:
Command syntax
coscmd info <cospath>
Sample: viewing the metadata of "doc/picture.jpg"
coscmd info doc/picture.jpg
Note:
Replace "cospath" enclosed in "<>" with the COS path of the file to display.

Downloading a file or folder

Command syntax for downloading a file

coscmd download <cospath> <localpath>
Note:
Replace "cospath" and "localpath" enclosed in "<>" with the COS path of the file to download and the local storage path, respectively.
Sample: downloading the "doc/picture.jpg" file in COS to "D:/picture.jpg"
coscmd download doc/picture.jpg D:/picture.jpg
Sample: downloading the "doc/picture.jpg" file in COS to drive D
coscmd download doc/picture.jpg D:/
Sample: downloading a specified version of "picture.jpg" to drive D
coscmd download picture.jpg --versionId MTg0NDUxMzc2OTM4NTExNTg7Tjg D:/

Command syntax for downloading a folder

coscmd download -r <cospath> <localpath>
Sample: downloading the "doc" folder to "D:/folder/doc"
coscmd download -r doc D:/folder/
Sample: downloading files in the root directory while ignoring those in the doc directory that is under the root directory
coscmd download -r / D:/ --ignore "doc/*"
Sample: downloading all files in the root directory of the current bucket and overwriting local files
coscmd download -rf / D:/examplefolder/
Note:
If a file with the same name exists locally, the download will fail. In this case, you need to use the -f parameter to overwrite the local file.
Sample: synchronously downloading all files in the root directory of the current bucket while skipping those with the same filename and MD5 checksum
coscmd download -rs / D:/examplefolder
Note:
Use the -s or --sync parameter to skip identical files that already exist locally when downloading a folder (provided that the downloaded files were uploaded via the COSCMD upload API and the x- cos-meta-md5 header was included).
Sample: synchronously downloading all files in the root directory of the current bucket while skipping those with the same filename and file size
coscmd download -rs --skipmd5 / D:/examplefolder
Sample: Synchronous download and delete "files deleted from the doc path in the COS bucket"
coscmd download -rs --delete / D:/doc /
Note:
For example, if the files in the D drive doc folder and the files under the doc path in COS have been synchronously uploaded on the same day, making the source end and target end identical. The next day, if the user deletes file A under the doc path in COS, executing the above command will delete file A from the D drive doc folder, ultimately keeping the files in the D drive doc folder and the files under the doc path in COS consistent.
Sample: ignoring .txt or .doc files
coscmd download -rs / D:/examplefolder --ignore *.txt,*.doc
Sample: ignoring .txt files
coscmd download -rs / D:/examplefolder --ignore "*.txt"
Note:
When uploading folders, you can ignore certain types of files by using the --ignore parameter, or filter certain types of files by using --include. Multiple shell wildcard rules (separated by commas ,) are supported. To ignore a specified extension, , must be added at the end, or "" must be used to enclose the extension. If "" contains multiple comma-separated rules, the first rule prevails.
If you want to use --ignore to filter all files in a particular directory, you need to use an absolute path and use "" to enclose the path, for example, coscmd upload -rs D:/doc / --ignore "D:/doc/ignore_folder/*".
Sample: filtering .txt and .doc files
coscmd download -rs / D:/examplefolder --include *.txt,*.doc
Sample: filtering .txt files
coscmd download -rs / D:/examplefolder --include "*.txt"
Note:
Since the old mget API is disused, please use the download API for multipart downloads.

Getting signed download URLs

Command syntax
coscmd signurl <cospath>
Sample: generating a signed URL for "doc/picture.jpg"
coscmd signurl doc/picture.jpg
Sample: generating a signed URL that is effective for 100 seconds for "doc/picture.jpg"
coscmd signurl doc/picture.jpg -t 100
Note:
Replace "cospath" enclosed in "<>" with the COS path of the file for which you need to get the download URL.
The -t time parameter sets the effective time (in seconds) of the URL signature. The default value is 10000.

Deleting a file or folder

Command syntax for deleting a file

coscmd delete <cospath>
Note:
Replace "cospath" enclosed in "<>" with the COS path of the file to delete. You will be prompted to confirm this operation.
Sample: deleting the "doc/exampleobject.txt" file
coscmd delete doc/exampleobject.txt
Sample: deleting files with version IDs
coscmd delete doc/exampleobject.txt --versionId MTg0NDUxMzc4ODA3NTgyMTErEWN

Command syntax for deleting a folder

coscmd delete -r <cospath>
Sample: deleting the doc folder
coscmd delete -r doc
Sample: deleting the folder/doc folder
coscmd delete -r folder/doc
Sample: deleting all files with version IDs in the doc directory
coscmd delete -r doc/ --versions
Note:
You need to enter y to confirm a batch delete operation. You can skip this step if the -f parameter is used.
Note that the delete folder command will delete the current folder as well as the files in it. To delete a versioning-enabled file, you need to specify a version ID.

Viewing incomplete multipart uploads

Command syntax
coscmd listparts <cospath>
Sample: listing incomplete multipart uploads prefixed with "doc/"
coscmd listparts doc/

Aborting incomplete multipart uploads

Command syntax
coscmd abort
Sample: aborting all incomplete multipart uploads
coscmd abort

Copying a file or folder

Command syntax for copying a file

coscmd copy <sourcepath> <cospath>
Sample (intra-bucket replication): copying "picture.jpg" in the examplebucket-1250000000 bucket to the "doc" folder
coscmd -b examplebucket-1250000000 -r ap-chengdu copy examplebucket-1250000000.ap-chengdu.myqcloud.com/picture.jpg doc/
Sample (cross-bucket replication): copying "doc/picture.jpg" in the examplebucket2-1250000000 bucket to "doc/examplefolder/" in the examplebucket1-1250000000 bucket.
coscmd -b examplebucket1-1250000000 -r ap-guangzhou copy examplebucket2-1250000000.ap-beijing.myqcloud.com/doc/picture.jpg doc/examplefolder/
Change the storage class of the file to STANDARD_IA.
coscmd -b examplebucket1-1250000000 -r ap-guangzhou copy examplebucket2-1250000000.ap-beijing.myqcloud.com/doc/picture.jpg doc/examplefolder/ -H "{'x-cos-storage-class':'STANDARD_IA'}"
Change the storage class of the file to ARCHIVE and rename it "photo.jpg".
coscmd -b examplebucket1-1250000000 -r ap-guangzhou copy examplebucket2-1250000000.ap-beijing.myqcloud.com/doc/picture.jpg doc/examplefolder/photo.jpg -H "{'x-cos-storage-class':'Archive'}"

Command syntax for copying a folder

coscmd copy -r <sourcepath> <cospath>
Sample: copying the examplefolder directory in the examplebucket2-1250000000 bucket to the doc directory in the examplebucket1-1250000000 bucket
coscmd -b examplebucket1-1250000000 -r ap-guangzhou copy -r examplebucket2-1250000000.cos.ap-guangzhou.myqcloud.com/examplefolder doc/
Note:
Replace "sourcepath" and "cospath" enclosed in "<>" with the path of the COS file to copy and the COS destination path, respectively.
The source path is formatted as <BucketName-APPID>.cos.<region>.myqcloud.com/<cospath>.
Use the -d parameter to set the x-cos-metadata-directive header. Valid values are Copy (default) and Replaced.
When setting the HTTP header with the -H parameter, use the JSON format, for example, coscmd copy -H -d Replaced "{'x-cos-storage-class':'Archive','Content-Language':'zh-CN'}" <localpath> <cospath>. For more information about the headers, see PUT Object - Copy.

Moving a file or folder

Note:
In a move command, <sourcepath> and <cospath> cannot be the same. Otherwise, files will be deleted. The reason is that the move command copies files first and then deletes them, and the files in the <sourcepath> path are eventually deleted.

Command syntax for moving a file

coscmd move <sourcepath> <cospath>
Sample (intra-bucket movement): moving "picture.jpg" in the examplebucket-1250000000 bucket to the "doc" folder
coscmd -b examplebucket-1250000000 -r ap-chengdu move examplebucket-1250000000.ap-chengdu.myqcloud.com/picture.jpg doc/
Sample (cross-bucket movement): moving "picture.jpg" in the examplebucket2-1250000000 bucket to "doc/folder/" in the examplebucket1-1250000000 bucket
coscmd -b examplebucket1-1250000000 -r ap-guangzhou move examplebucket2-1250000000.ap-beijing.myqcloud.com/picture.jpg doc/folder/
Sample: changing the storage class of the file to STANDARD_IA
coscmd -b examplebucket1-1250000000 -r ap-guangzhou move examplebucket2-1250000000.ap-beijing.myqcloud.com/picture.jpg doc/folder/ -H "{'x-cos-storage-class':'STANDARD_IA'}"
Sample: changing the storage class of the file to ARCHIVE
coscmd -b examplebucket1-1250000000 -r ap-guangzhou move examplebucket2-1250000000.ap-beijing.myqcloud.com/data/exampleobject data/examplefolder/exampleobject -H "{'x-cos-storage-class':'Archive'}"

Command syntax for moving a folder

coscmd move -r <sourcepath> <cospath>
Sample: moving the "examplefolder" directory in the examplebucket2-1250000000 bucket to the "doc" directory in the examplebucket1-1250000000 bucket
coscmd -b examplebucket1-1250000000 -r ap-guangzhou move -r examplebucket2-1250000000.cos.ap-guangzhou.myqcloud.com/examplefolder doc/
Note:
Replace "sourcepath" and "cospath" enclosed in "<>" with the path of the COS file to move and the COS destination path, respectively.
The source path is formatted as <BucketName-APPID>.cos.<region>.myqcloud.com/<cospath>.
Use the -d parameter to set the x-cos-metadata-directive header. Valid values are Copy (default) and Replaced.
When setting the HTTP header with the -H parameter, use the JSON format, for example, coscmd move -H -d Replaced "{'x-cos-storage-class':'Archive','Content-Language':'zh-CN'}" <localpath> <cospath>. For more information about the headers, see PUT Object - Copy.

Setting object access permission

Command syntax
coscmd putobjectacl --grant-<permissions> <UIN> <cospath>
Sample: granting 100000000001 permission to read "picture.jpg"
coscmd putobjectacl --grant-read 100000000001 picture.jpg
Sample: querying the file’s access permission
coscmd getobjectacl picture.jpg

Enabling/Suspending versioning

Command syntax
coscmd putbucketversioning <status>
Sample: enabling versioning
coscmd putbucketversioning Enabled
Sample: suspending versioning
coscmd putbucketversioning Suspended
Sample: querying versioning
coscmd getbucketversioning
Note:
Replace "status" enclosed in "<>" with the desired versioning status.
Once versioning is enabled for the bucket, it cannot return to the prior status (initial status). However, you can suspend versioning for the bucket so that subsequent uploads of objects will not generate multiple versions.

Restoring an ARCHIVED file

Command syntax for restoring an archived file
coscmd restore <cospath>
Sample: restoring "picture.jpg" using the expedited retrieval mode (effective for 3 days)
coscmd restore -d 3 -t Expedited picture.jpg
Command syntax for restoring archived files
coscmd restore -r <cospath>
Sample: restoring the "examplefolder/" folder using the expedited retrieval mode (effective for 3 days)
coscmd restore -r -d 3 -t Expedited examplefolder/
Note:
Replace "cospath" enclosed in "<>" with the COS path of the file list to query.
Use -d <day> to set the validity period of the temporary copy. Default value: 7.
Use -t <tier> to specify the restoration mode. Enumerated values: Expedited (Expedited retrieval), Standard (Standard retrieval), and Bulk (bulk retrieval). Default value: Standard.

FAQs

If you have any questions about COSCMD, see COSCMD.
Was this page helpful?
You can also Contact Sales or Submit a Ticket for help.
Yes
No

Feedback

Contact Us

Contact our sales team or business advisors to help your business.

Technical Support

Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

7x24 Phone Support
Hong Kong, China
+852 800 906 020 (Toll Free)
United States
+1 844 606 0804 (Toll Free)
United Kingdom
+44 808 196 4551 (Toll Free)
Canada
+1 888 605 7930 (Toll Free)
Australia
+61 1300 986 386 (Toll Free)
EdgeOne hotline
+852 300 80699
More local hotlines coming soon