cp(上傳文件)
當(dāng)您需要將本地文件、圖片、視頻等資源上傳到OSS,或者需要上傳大文件至OSS時(shí),可以使用ossutil的cp命令。
注意事項(xiàng)
要上傳文件,您必須具有
oss:PutObject
、oss:ListParts
和oss:AbortMultipartUpload
權(quán)限。具體操作,請參見為RAM用戶授權(quán)自定義的權(quán)限策略。只有源為目錄時(shí),才能支持批量上傳。
命令格式
ossutil cp source dest [flags]
參數(shù) | 類型 | 說明 |
source | string | 本地文件路徑。支持相對路徑、絕對路徑和 |
dest | string | 目標(biāo)Bucket下的文件路徑。例如: |
--acl | string | 對象的訪問權(quán)限。取值:
|
--bigfile-threshold | int | 開啟大文件分片上傳、下載或拷貝的閾值(默認(rèn)值104857600)。 |
--cache-control | string | 指定該對象被下載時(shí)網(wǎng)頁的緩存行為。 |
--content-disposition | string | 指定對象的展示形式。 |
--content-encoding | string | 聲明對象的編碼方式。 |
--content-type | string | 對象的內(nèi)容類型。 |
--copy-props | string | 確定從源對象上傳哪些屬性,取值:
|
-d, --dirs | string | 返回當(dāng)前目錄下的文件和子目錄,而非遞歸顯示所有子目錄下的所有文件。 |
--encoding-type | string | 輸入的對象名或文件名的編碼方式。取值:url。 |
--end-with | string | 按字母排序,返回設(shè)定值之前的對象,包含設(shè)定值。 |
--exclude | stringArray | 路徑或文件名的排除規(guī)則。 |
--exclude-from | stringArray | 從規(guī)則文件里讀取排除規(guī)則。 |
--expires | stringArray | 指定緩存內(nèi)容的絕對過期時(shí)間。 |
--files-from | stringArray | 從文件中讀取源文件名列表,忽略空行或注釋行。 |
--files-from-raw | stringArray | 從文件中讀取源文件名列表。 |
--filter | stringArray | 路徑或文件名過濾規(guī)則。 |
--filter-from | stringArray | 從規(guī)則文件讀取過濾規(guī)則。 |
-f, --force | / | 強(qiáng)制操作,不進(jìn)行詢問提示。 |
--include | stringArray | 路徑或文件名的包含規(guī)則。 說明 關(guān)于過濾選項(xiàng)的更多信息,請參見過濾選項(xiàng)。 |
--include-from | stringArray | 從規(guī)則文件里讀取包含規(guī)則。 |
-j, --job | int | 多文件操作時(shí)的并發(fā)任務(wù)數(shù)(默認(rèn)值3)。 |
--listObjects | / | 使用ListObjects接口列舉對象。 |
--max-age | Duration | 不傳輸任何比此更早的文件。默認(rèn)是秒,或單位后綴形式 ms|s|m|h|d|w|M|y(默認(rèn)值off)。 |
--max-mtime | Time | 不傳輸任何比此更新的文件,UTC時(shí)間格式 (默認(rèn)值off)。 |
--max-size | SizeSuffix | 限制傳輸?shù)淖畲笪募笮。J(rèn)是字節(jié),或單位后綴形式B|K|M|G|T|P,1K(KiB)=1024B。 |
--metadata | strings | 指定對象的用戶元數(shù)據(jù),使用key=value格式。 |
--metadata-directive | string | 指定如何設(shè)置目標(biāo)對象的元數(shù)據(jù)。取值:
|
--metadata-exclude | stringArray | 對象元數(shù)據(jù)的排除規(guī)則。 |
--metadata-filter | stringArray | 對象元數(shù)據(jù)過濾規(guī)則。 |
--metadata-filter-from | stringArray | 從規(guī)則文件讀取對象元數(shù)據(jù)過濾規(guī)則。 |
--metadata-include | stringArray | 對象元數(shù)據(jù)的包含規(guī)則。 |
--min-age | Duration | 不傳輸任何比此更新的文件。默認(rèn)是秒,或單位后綴形式 ms|s|m|h|d|w|M|y(默認(rèn)值off)。 |
--min-mtime | Time | 不傳輸任何比此更早的文件,UTC時(shí)間格式(默認(rèn)值off)。 |
--min-size | SizeSuffix | 限制傳輸?shù)淖钚∥募笮。J(rèn)是字節(jié),或單位后綴形式B|K|M|G|T|P,1K(KiB)=1024B。 |
--no-progress | / | 不現(xiàn)顯示度條。 |
--page-size | int | 返回對象或文件的最大數(shù)(默認(rèn)值1000),取值范圍1~1000。 |
--parallel | int | 單文件內(nèi)部操作的并發(fā)任務(wù)數(shù)。 |
--part-size | SizeSuffix | 分片大小,默認(rèn)情況下根據(jù)文件大小自行計(jì)算合適的分片大小值。取值范圍100Ki~5Gi。 |
-r, --recursive | / | 遞歸進(jìn)行操作。當(dāng)指定該選項(xiàng)時(shí),命令會(huì)對存儲(chǔ)空間下所有符合條件的對象進(jìn)行操作,否則只對路徑指定的對象進(jìn)行操作。 |
--request-payer | string | 請求的支付方式,如果為請求者付費(fèi)模式,請?jiān)O(shè)置該值。取值:requester。 |
--size-only | / | 僅上傳文件大小不一致的源文件。 |
--storage-class | string | 對象的存儲(chǔ)類型, 取值:
|
--tagging | strings | 指定對象的標(biāo)簽,使用key=value格式。 |
--tagging-directive | string | 指定如何設(shè)置目標(biāo)對象的標(biāo)簽。取值:
|
-u, --update | / | 僅上傳源文件新于目標(biāo)文件。 |
--ignore-existing | / | 跳過已存在的目標(biāo)文件。 |
關(guān)于支持的全局命令行選項(xiàng),請參見支持的全局命令行選項(xiàng)。
目標(biāo)文件命名規(guī)則如下:
單文件上傳時(shí),如果prefix為空,則對象的名字為文件名。
單文件上傳時(shí),如果prefix以"/"結(jié)尾,則對象的名字為prefix + 文件名。
批量上傳時(shí),如果prefix為空,則對象的名字為源文件相對路徑。
批量上傳時(shí),如果prefix以"/"結(jié)尾, 則對象的名字為prefix + 源文件相對路徑。
批量上傳時(shí),如果prefix不以"/"結(jié)尾, 則對象的名字為prefix + "/" + 源文件相對路徑。
源文件相對路徑規(guī)則為:從根目錄之后的名字,如cp /root/dir/ ... 時(shí),文件/root/dir/subdir/test.txt的相對路徑為subdir/test.txt。
使用示例
上傳單個(gè)文件
將本地文件examplefile.txt上傳至examplebucket中的desfolder文件夾下。
ossutil cp D:/localpath/examplefile.txt oss://examplebucket/desfolder/
僅上傳文件夾內(nèi)的文件
將本地文件夾localfolder中的文件上傳至examplebucket中的desfolder文件夾下。
ossutil cp -r D:/localpath/localfolder/ oss://examplebucket/desfolder/
批量上傳符合條件的文件
上傳所有文件格式為TXT的文件
ossutil cp -r D:/localpath/localfolder/ oss://examplebucket/desfolder/ --include "*.txt"