tencent cloud

Feedback

Last updated: 2023-01-30 11:42: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/3.5/3.6/3.9
    • Latest version of pip
      Note:

      You are advised to install the latest version of Python (3.9.0) that is integrated with pip.

    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:

    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.

    1.2 Upgrading with pip

    After the installation is complete, you can run the following command to upgrade COSCMD:

    pip install coscmd -U
    

    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.

    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:

    • 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:

    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 in a multi-thread operation (default: 5; value range: 1-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'}"
      

    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 /
      
    • 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: synchronously downloading all files in the root directory of the current bucket and deleting local files that have been deleted in cloud

      coscmd download -rs --delete / D:/examplefolder
      
    • 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.

    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