---
title: Managing Object Storage using CLI tools
description: Manage objects in Scaleway Object Storage using CLI v2 commands.
tags: object storage object-storage rclone s3cmd minio client mc cliv2 cli scw
dates:
  validation: 2026-02-04
  posted: 2021-08-05
---
import Requirements from '@macros/iam/requirements.mdx'


[Scaleway Object Storage](/object-storage/concepts/#object-storage) allows you to create and manage your resources from the [console](https://account.scaleway.com/login), or via external tools such as [S3cmd](https://github.com/s3tools/s3cmd), [Rclone](https://rclone.org/downloads/) or [MinIO Client (mc)](https://github.com/minio/mc).

In addition, the [Scaleway CLI](/scaleway-cli/quickstart/) allows you to quickly generate a configuration file for these tools, with your existing credentials.

## Scaleway Command Line Interface Overview

[The Scaleway Command Line Interface (CLI)](/scaleway-cli/quickstart/) allows you to pilot your Scaleway infrastructure directly from your terminal, providing a faster way to administer and monitor your resources. Scaleway CLI is easy to set up and is an essential tool for operating efficiently in your cloud environment.

<Requirements />

- A Scaleway account logged into the [console](https://console.scaleway.com)
- [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization
- A valid [API key](/iam/how-to/create-api-keys/)
- An [Object Storage bucket](/object-storage/how-to/create-a-bucket/)
- Installed and initialized the [Scaleway CLI](/scaleway-cli/quickstart/)
- Downloaded [S3cmd](https://github.com/s3tools/s3cmd), [Rclone](https://rclone.org/downloads/) and [MinIO Client (mc)](https://github.com/minio/mc)

## Previewing an Object Storage configuration file for the Scaleway CLI

The `scw object config get` command allows you to output the content of the configuration file in a terminal and preview the different fields.

<Message type="note">
  For more information about generating a configuration file, type the following command in your terminal:
  ```
   scw object config get --help
  ```
</Message>

<Tabs>
<TabsTab label="Rclone">
Run the following command in a terminal to preview the configuration file for Rclone:
    ```
    scw object config get type=rclone
    ```
    An output similar to the following displays:
    ```
    # Generated by scaleway-cli command
    # Configuration file for rclone https://rclone.org/s3/#scaleway
    # Default location: $HOME/.config/rclone/rclone.conf
    [scaleway]
    type = s3
    env_auth = false
    endpoint = s3.nl-ams.scw.cloud
    access_key_id = SCWEXAMPLED4PDEWS5M
    secret_access_key = example-d476-4bd5-b97d-2d97e04c3c4d
    region = nl-ams
    location_constraint =
    acl = private
    force_path_style = false
    server_side_encryption =
    storage_class =
    ```
</TabsTab>
<TabsTab label="S3cmd">
Run the following command in a terminal to preview the configuration file for S3cmd:

    ```
    scw object config get type=s3cmd
    ```
    An output similar to the following displays:

    ```
    # Generated by scaleway-cli command
    # Configuration file for s3cmd https://s3tools.org/s3cmd
    # Default location: $HOME/.s3cfg
    [default]
    access_key = SCWEXAMPLED4PDEWS5M
    bucket_location = nl-ams
    host_base = s3.nl-ams.scw.cloud
    host_bucket = %(bucket)s.s3.nl-ams.scw.cloud
    secret_key = example-d476-4bd5-b97d-2d97e04c3c4d
    use_https = True
    ```
</TabsTab>
<TabsTab label="MinIO Client (mc)">
Run the following command in a terminal to preview the configuration file for MinIO Client (mc):
    ```
    scw object config get type=mc
    ```
    An output similar to the following displays:
    ```
    {"version":"9","hosts":{"scaleway":{"url":"https://s3.nl-ams.scw.cloud","accessKey":"SCWEXAMPLED4PDEWS5M","secretKey":"example-d476-4bd5-b97d-2d97e04c3c4d","api":"S3v4"}}}
    ```
</TabsTab>
</Tabs>

## Installing a configuration file for Amazon S3-compatible tools (s3cmd, rclone, and mc)

The `scw object config install` command allows you to create a configuration file for the selected third party tool based on your [Scaleway CLI configuration](/scaleway-cli/quickstart/).

<Message type="important">
  Creating a new configuration file using `scw object config install` will overwrite the existing one for the specified third party tool. To update an existing configuration, [generate a preview](#previewing-an-object-storage-configuration-file-for-the-scaleway-cli) and manually edit the configuration file.
</Message>

<Tabs>
<TabsTab label="Rclone">
Run the following command in a terminal to install a configuration file for Rclone:

    ```
    scw object config install type=rclone
    ```

    An output similar to the following displays:

    ```
    Configuration file successfully installed at /Users/yourusername/.config/rclone/rclone.conf.
    ```
</TabsTab>
<TabsTab label="S3cmd">
Run the following command in a terminal to install a configuration file for `s3cmd`:
    ```
    scw object config install type=s3cmd
    ```

    An output similar to the following displays:

    ```
    Configuration file successfully installed at /Users/yourusername/.s3cfg.
    ```
</TabsTab>
<TabsTab label="MinIO Client (mc)">
Run the following command in a terminal to install a configuration file for MinIO Client (mc):

    ```
    scw object config install type=mc
    ```

    An output similar to the following displays:

    ```
    Configuration file successfully installed at /Users/yourusername/.mc/config.json.
    ```
</TabsTab>
</Tabs>

## Creating an Object Storage bucket

<Tabs>
<TabsTab label="Rclone">
1. Run the following command in a terminal to create a bucket:

    ```
    rclone mkdir scaleway:my-bucket
    ```

2. Run the following command to list your newly created bucket:

    ```
    rclone lsd scaleway:
    ```

    An output similar to the following displays:
    ```
    rclone lsd scaleway:
      -1 2022-06-04 14:38:03        -1 my-bucket
      -1 2023-12-23 12:10:57        -1 my-new-bucket
    ```
</TabsTab>
<TabsTab label="S3cmd">
Run the following command in a terminal to create a bucket:

    ```
    s3cmd mb s3://my-bucket
    ```

    An output similar to the following displays:
    ```
    Bucket 's3://my-bucket/' created
    ```
</TabsTab>
<TabsTab label="MinIO Client (mc)">
Run the following command in a terminal to add an object to your bucket:
    ```
    mc mb scaleway/my-bucket
    ```

    An output similar to the following displays:

    ```
    Bucket created successfully `scaleway/my-bucket`.
    ```
</TabsTab>
</Tabs>

## Uploading an object to a bucket

<Tabs>
<TabsTab label="Rclone">
1. In a terminal, access the folder containing the file you want to upload, then run the following command:
    ```
    rclone copy /path/to/object/my-object scaleway:my-bucket
    ```
2. Run the command below to list the object you just uploaded:
    ```
    rclone ls scaleway:my-bucket
    ```
    An output similar to the following displays:
    ```
    0 my-object
    ```
</TabsTab>
<TabsTab label="S3cmd">
In a terminal, access the folder containing the file you want to upload, then run the following command:

    ```
    s3cmd put file /path/to/object/my-object s3://my-bucket/my-object
    ```

    An output similar to the following displays:

    ```
    upload: '/path/to/object/my-object' -> 's3://my-bucket/my-object'  [1 of 1]
    3259 of 3259   100% in    0s     8.47 KB/s  done
    ```

    <Message type="tip">
Object Storage uses the MIME type sent by s3cmd. If Object Storage is unable to determine the MIME type because the client (in this case s3cmd) has not sent any, then it first tries to infer the correct MIME type from the file extension; and if it cannot find a matching type, it falls back to the default MIME type, which is `binary/octet-stream`.
    </Message>
</TabsTab>
<TabsTab label="MinIO Client (mc)">
In a terminal, access the folder containing the file you want to upload, then run the following command:

    ```
    mc cp /path/to/local/file/my-file alias/bucket-name
    ```

    An output similar to the following displays:

    ```
    .../my-file: 28 B / 28 B  ░░░░░░░░░░░░░░░░░░░░░░▓
    ```
</TabsTab>
</Tabs>

## Downloading an object from a bucket

<Tabs>
<TabsTab label="Rclone">
1. In a terminal, run the following command to download an object from a bucket:
    ```
    rclone copy scaleway:my-bucket/my-object /path/to/destination
    ```
2. Run the command below to list the object you just downloaded:
    ```
    ls /path/to/destination
    ```
    An output similar to the following displays:
    ```
    my-object
    ```
</TabsTab>
<TabsTab label="S3cmd">
1. In a terminal, run the following command to download an object from a bucket:
    ```
    s3cmd get s3://my-bucket/my-object /path/to/destination
    ```
2. Run the command below to list the object you just downloaded:
    ```
    ls /path/to/destination
    ```
    An output similar to the following displays:
    ```
    my-object
    ```
</TabsTab>
<TabsTab label="MinIO Client (mc)">
1. In a terminal, run the following command to download an object from a bucket:
    ```
    mc cp scaleway/my-bucket/my-object /path/to/destination
    ```
2. Run the command below to list the object you just downloaded:
    ```
    ls /path/to/destination
    ```
    An output similar to the following displays:
    ```
    my-object
    ```
</TabsTab>
</Tabs>

## Removing an object from a bucket

<Tabs>
<TabsTab label="Rclone">
1. In a terminal, run the following command to remove an object from a bucket:
    ```
    rclone delete scaleway:my-bucket/my-object
    ```
2. Run the command below to make sure the object has been removed:
    ```
    rclone ls scaleway:my-bucket
    ```
    The object no longer appears in the output.
</TabsTab>
<TabsTab label="S3cmd">
1. In a terminal, run the following command to remove an object from a bucket:
    ```
    s3cmd del s3://my-bucket/my-object
    ```
2. Run the command below to make sure the object has been removed:
    ```
    s3cmd ls s3://my-bucket
    ```
    The object no longer appears in the output.
</TabsTab>
<TabsTab label="MinIO Client (mc)">
1. In a terminal, run the following command to remove an object from a bucket:
    ```
    mc rm scaleway/my-bucket/my-object
    ```
2. Run the command below to make sure the object has been removed:
    ```
    mc ls scaleway/my-bucket
    ```
    The object no longer appears in the output.
</TabsTab>
</Tabs>

## Deleting an Object Storage bucket

<Message type="important">
  This action will delete every object stored inside your bucket. The bucket name will no longer be yours, and other users will be able to use it.
</Message>

<Tabs>
<TabsTab label="Rclone">
1. In a terminal, run the following command to delete a bucket:
    ```
    rclone purge scaleway:my-bucket
    ```
2. Run the command below to make sure the bucket has been deleted:
    ```
    rclone lsd scaleway:
    ```
    The bucket no longer appears in the output.
</TabsTab>
<TabsTab label="S3cmd">
1. In a terminal, run the following command to delete a bucket:
    ```
    s3cmd rb s3://my-bucket
    ```
2. Run the command below to make sure the bucket has been deleted:
    ```
    s3cmd ls
    ```
    The bucket no longer appears in the output.
</TabsTab>
<TabsTab label="MinIO Client (mc)">
1. In a terminal, run the following command to delete a bucket:
    ```
    mc rb scaleway/my-bucket
    ```
2. Run the command below to make sure the bucket has been deleted:
    ```
    mc ls scaleway
    ```
    The bucket no longer appears in the output.
</TabsTab>
</Tabs>

<Message type="tip">
  For more information about the Amazon S3-compatible tools used in this documentation, refer to the official [Rclone](https://rclone.org/docs/), [s3cmd](https://s3tools.org/s3cmd-howto), and [MinIO Client](https://github.com/minio/mc) documentation.
</Message>


