
# 复制示例
本章节案例中的所有命令均以Linux操作系统为例，提供复制操作指导。
假设bucket-src桶内包含如下对象：
```
obs://bucket-src/test1.txt
obs://bucket-src/test2.txt
obs://bucket-src/test3.txt
obs://bucket-src/test4.txt
obs://bucket-src/test5.txt
obs://bucket-src/test6.txt
obs://bucket-src/src1/
obs://bucket-src/src1/test7.txt
obs://bucket-src/src2/
obs://bucket-src/src2/test8.txt
obs://bucket-src/src2/src3/
obs://bucket-src/src2/src3/test9.txt
```
基于以上对象格式，不同复制场景下的命令示例如下：
- 复制bucket-src桶中的test1.txt文件至bucket-dest桶中，复制命令如下：
  ```
  ./obsutil cp obs://bucket-src/test1.txt  obs://bucket-dest
  ```
  复制完成后，在bucket-dest桶中生成的对象如下：
  ```
  obs://bucket-dest/test1.txt
  ```
  
- 复制bucket-src桶中的test1.txt文件内容至bucket-dest桶的test.txt文件中，复制命令如下：
  ```
  ./obsutil cp obs://bucket-src/test1.txt  obs://bucket-dest/test.txt
  ```
  复制完成后，在bucket-dest桶中生成的对象如下：
  ```
  obs://bucket-dest/test.txt
  ```
  
- 复制bucket-src桶中的test1.txt文件至bucket-dest桶的test文件夹中，复制命令如下：
  ```
  ./obsutil cp obs://bucket-src/test1.txt  obs://bucket-dest/test/
  ```
  复制完成后，在bucket-dest桶中生成的对象如下：
  ```
  obs://bucket-dest/test/test1.txt
  ```
  
- 复制bucket-src的src2文件夹下的所有文件和文件夹（包括src2文件夹本身）至bucket-dest桶中，且复制过程中不进行询问操作，复制命令如下：
  ```
  ./obsutil cp obs://bucket-src/src2  obs://bucket-dest -r -f
  ```
  复制完成后，在bucket-dest桶中生成的对象如下：
  ```
  obs://bucket-dest/src2/
  obs://bucket-dest/src2/test8.txt
  obs://bucket-dest/src2/src3/
  obs://bucket-dest/src2/src3/test9.txt
  ```
  
- 复制bucket-src的src2文件夹下的所有文件和文件夹（不包括src2文件夹本身）至bucket-dest桶中，且复制过程中不进行询问操作，复制命令如下：
  ```
  ./obsutil cp obs://bucket-src/src2  obs://bucket-dest -r -f -flat
  ```
  复制完成后，在bucket-dest桶中生成的对象如下：
  ```
  obs://bucket-dest/test8.txt
  obs://bucket-dest/src3/
  obs://bucket-dest/src3/test9.txt
  ```
  
 
