您可以通過-h命令查看ossutil支持的所有選項。
從ossutil 1.6.16版本開始,命令行中Binary名稱支持直接使用ossutil,您無需根據系統刷新Binary名稱。如果您的ossutil版本低于1.6.16,則需要根據系統刷新Binary名稱。更多信息,請參見命令行工具ossutil命令參考。
命令格式
ossutil -h
若要查看某個命令支持哪些選項,請使用ossutil help [command]命令來查看,例如ossutil help cp。
通用選項
以下為ossutil的通用選項,這些選項可以在大部分命令中使用:
選項 | 說明 |
-c,--config-file | ossutil工具的配置文件路徑,ossutil啟動時將從配置文件讀取配置。當您需要管理多個賬號下的Bucket時,可以生成多個配置文件,并將其中一個指定為默認配置文件。當您需要管理其他賬戶下的Bucket時,請通過-c指定正確的配置文件。 |
-e,--endpoint | 指定Bucket對應的Endpoint,當您需要管理多個地域的Bucket時,可以通過此選項指定多個Endpoint。各地域Endpoint詳情請參見訪問域名和數據中心。 |
-i,--access-key-id | 指定訪問OSS使用的AccessKey ID,當您需要管理多個賬號下的Bucket時,可通過此選項指定對應的AccessKey ID。 |
-k,--access-key-secret | 指定訪問OSS使用的AccessKey Secret,當您需要管理多個賬號下的Bucket時,可通過此選項指定對應的AccessKey Secret。 |
-p,--password | 指定訪問OSS使用的AccessKey Secret,輸入該選項時會提示用戶從鍵盤輸入AccessKey Secret,ossutil工具以從鍵盤讀取的AccessKey Secret為準,并忽略通過其他方式配置的AccessKey Secret。 |
--loglevel | 在當前工作目錄下輸出ossutil日志文件ossutil.log。該選項默認為空,表示不輸出日志文件。 取值:
|
--proxy-host、--proxy-user、--proxy-pwd | 在代理上網環境下,需指定如下三個選項:
通過這三個選項指定代理服務器信息后,ossutil將使用您指定的信息并通過代理服務器訪問OSS。
|
--mode | 憑證類型。取值如下:
如果不添加此選項,默認按照原有的鑒權邏輯處理。 |
--ecs-role-name | EcsRamRole鑒權模式下的角色名稱。 |
--token-timeout | RamRoleArn鑒權模式下AssumeRole參數中指定的臨時訪問憑證Token的有效時間。單位為秒,默認值為3600。 |
--ram-role-arn | RamRoleArn鑒權模式下的RAM角色ARN。 |
--role-session-name | RamRoleArn鑒權模式下的會話名稱。 |
--read-timeout | 客戶端讀超時的時間,單位為秒,默認值為1200。 |
--connect-timeout | 客戶端連接超時的時間,單位為秒,默認值為120。 |
--sts-region | STS服務的接入地域,格式為 如果不添加此選項,RamRoleArn鑒權模式下指定的sts endpoint為 |
--skip-verify-cert | 不校驗服務端的數字證書。 |
--ua | 此選項用于指定HTTP Header中的User Agent值。指定后,該值將自動添加到ossutil工具設置的User Agent值的末尾。如果您希望在日志中查看完整的User Agent值,請結合使用--loglevel debug選項。 |
--sign-version | 簽名版本,取值為v4。僅OSS ON云盒場景中需要使用該選項。 |
--region | 云盒Bucket所在地域。僅OSS ON云盒場景中需要使用該選項。 |
--cloudbox-id | 云盒ID。僅OSS ON云盒場景中需要使用該選項。 |
其他選項
除以上通用選項外,ossutil各命令包含的其他選項如下:
選項名稱 | 描述 |
-s,--short-format | 顯示精簡格式,如果未指定該選項,默認顯示長格式。 |
--bigfile-threshold | 開啟大文件斷點續傳的文件大小閾值,單位為Byte,默認值為100 MByte,取值范圍為0~9223372036854775807。 |
--acl | 配置讀寫權限ACL。 |
--range | 下載文件時,可以指定文件內容的字節范圍進行下載,字節從0開始編號。
|
--all-versions | 表示Object所有版本。 |
--type | 數據校驗的方式。取值如下:
|
-v,--version | 顯示ossutil的版本并退出。 |
-u,--update | 更新操作。 |
--origin | HTTP請求頭origin字段的值。 |
--upmode | probe命令中使用的上傳模式。取值如下:
|
--sse-algorithm | Bucket的加密方式。取值如下:
|
--include | 列舉符合指定條件的Object。例如 更多信息,請參見include和exclude選項。 |
--exclude | 列舉不符合指定條件的Object。例如 更多信息,請參見include和exclude選項。 |
-r,--recursive | 遞歸操作。當指定該選項時,ossutil會對Bucket下所有符合條件的Object進行操作,否則只對URL中指定的單個Object進行操作。 |
--addr | 增加此項并填寫正確的網絡地址,ossutil會通過ping操作驗證本地到目標地址的網絡連通性。 默認值: |
--kms-masterkey-id | KMS密鑰托管服務中的主密鑰ID。 |
--version-id | Object的版本ID。 |
--version-id-marker | 列舉Version ID字母排序在marker之后的Object版本。僅當Bucket開啟版本控制后可用。 |
-m,--multipart | 指定操作的對象為Bucket中未完成的Multipart事件。 |
-d,--directory | 僅返回當前目錄下的文件和子目錄。 |
--payer | 請求的支付方式,如果為請求者付費模式,可以將該值設置為requester。 |
--maxupspeed | 最大上傳速度,單位為KB/s,默認值為0(不受限制)。 |
--maxdownspeed | 最大下載速度,單位為KB/s,默認值為0(不受限制)。 |
--retry-times | 發生錯誤后的重試次數。默認值為10,取值范圍為1~500。 說明 發生錯誤后立即重試。 |
--download | 通過使用文件URL下載目標文件到本地的方式探測本地和目標Bucket之間的網絡狀態。 |
-j,--jobs | 多文件操作時的并發任務數,默認值為3,取值范圍為1~10000。 |
-a,--all-type | 指定操作的對象為Bucket中的Object和未完成的Multipart事件。 |
--disable-empty-referer | 表示不允許referer字段為空。 |
--method | 表示HTTP的請求類型,取值為PUT、GET、DELETE等。 |
--output-dir | 指定輸出文件所在的目錄,輸出文件目前包含cp命令批量拷貝文件出錯時所產生的report文件。 默認值:當前目錄下的ossutil_output目錄。 |
--meta | 設置Object的meta,格式為[header:value#header:value...],如: |
--object | 用于probe命令中指定文件名稱。 |
--end-time | Linux或Unix系統下的時間戳。如果使用該選項,則最后更新時間晚于通過此選項指定時間的Object會被忽略。 |
--limited-num | 返回結果的最大個數。 |
-L,--language | 設置ossutil工具的語言。取值如下:
|
--delete | 刪除Bucket、Object或碎片操作。 |
-b,--bucket | 僅在刪除Bucket時使用此選項。 |
--disable-crc64 | 關閉CRC64校驗。默認情況下,ossutil進行數據傳輸會打開CRC64校驗。 |
--upload | 通過將本地文件上傳到目標Bucket的方式來探測本地和目標Bucket之間的網絡狀態。 |
--part-size | 分片大小,單位為字節,默認情況下ossutil根據文件大小自行計算合適的分片大小值。如果需要性能調優時或者其他特殊需求時,可以設置該值,取值范圍為1~9223372036854775807。 |
--timeout | 簽名URL的超時時間,單位為秒,默認值為60,取值范圍為0~9223372036854775807。 |
--checkpoint-dir | 指定斷點續傳記錄信息所在的目錄。斷點續傳操作失敗時,ossutil會自動創建名為 |
--url | 文件URL。 |
--marker | 列舉名稱字母排序在marker之后的Bucket、Object或者Part。 |
-f,--force | 強制操作,不進行詢問提示。 |
--snapshot-path | 指定保存上傳、下載文件時的快照信息所在的目錄。在下一次上傳或下載文件時,ossutil會讀取指定路徑下的快照信息進行增量上傳或下載。
|
--start-time | 值為Linux或Unix系統下面的時間戳,如果輸入這個選項,最后更新時間早于該時間的Object會被忽略。 |
--storage-class | 設置Object的存儲方式。取值如下:
|
-t,--sts-token | 訪問OSS使用的STSToken,僅在使用STS臨時授權方式訪問OSS時需要配置此項。該選項值會覆蓋配置文件中的相應設置。stsToken生成方式請參見臨時訪問憑證。 |
--parallel | 單文件內部操作的并發任務數,取值范圍為1~10000, 默認由ossutil根據操作類型和文件大小自行決定。 |
--partition-download | 用于分區下載。該選項取值格式為 |
--bucketname | Bucket名稱。 |
--encoding-type | 對 |
--origin | HTTP請求頭Origin字段的值,表示請求來源域,用來標識跨域請求。 |
--acr-method | HTTP請求頭Access-Control-Request-Method的值,取值為GET、PUT、POST、DELETE、HEAD。 |
--acr-headers | HTTP請求頭Access-Control-Request-Headers的值,表示在實際請求中除簡單頭部以外需要用到的Header。如果有多個Header,各個Header之間用英文的逗號(,)分隔,再加上雙引號。例如 |
--upload-id-marker | 列舉Upload ID字母排序在Marker之后的Part。 |
-h,--help | 顯示幫助信息。 |
--trafic-limit | sign命令中用于指定HTTP的訪問速度。單位為bit/s。 默認值:0,表示不限速。 取值范圍:819200~838860800,即100 KB/s~100 MB/s。 |
--local-host | cp命令中用于指定ossutil工具的本地IP地址。指定該選項后,ossutil將通過指定IP地址訪問OSS。 |
--enable-symlink-dir | 上傳鏈接子目錄。默認不上傳。probe命令可以探測是否存在死循環鏈接文件或者目錄。 |
--only-current-dir | 僅上傳、下載、拷貝當前目錄下的文件,忽略子目錄及子目錄下的文件。 |
--disable-dir-object | 不為上傳的目錄生成Object,但您仍可以在OSS控制臺看到對應的目錄結構。當您刪除目錄內的文件時,該目錄也會消失。 |
--probe-item | 表示probe命令的探測項目,取值如下:
|
--redundancy-type | Bucket的數據容災類型。取值如下:
|
--disable-encode-slash | 表示不對URL中的正斜線(/)進行編碼。 |
--disable-all-symlink | 上傳時忽略所有的符號鏈接子文件以及符號鏈接子目錄。 |
--tagging | 上傳或復制文件時設置文件的對象標簽,格式為 |
--disable-ignore-error | 遇到錯誤,拋出異常直接終止。批量操作時不忽略錯誤。 |
--block-size | 定義輸出結果中指定Bucket或目錄下包含的Object大小,取值為KB、MB、GB或TB。不添加此選項時,默認以Byte為單位統計Object的大小。 重要 此選項僅在ossutil1.7.3及以上版本可用。 |
include和exclude選項
多選項時從左到右運用規則
一條規則中可以包含多個include(包含)和exclude(排除)條件,且每個文件從左到右逐一運用每個規則,直至最后才能最終確定匹配的結果。例如指定生效的文件夾中包含名為test.txt的文件,匹配不同的規則產生的結果如下。
規則一:
--include "*test*" --exclude "*.txt"
,當規則匹配到--include "*test*"
,匹配的結果為test.txt符合條件;當規則繼續匹配到--exclude "*.txt"
時,因test.txt文件名包含.txt,所以被排除。則匹配的最終結果為test.txt不符合條件。規則二:
--exclude "*.txt" --include "*test*"
,當規則匹配到--exclude "*.txt"
,匹配的結果為test.txt不符合條件;當規則繼續匹配到--include "*test*"
,因test.txt文件名包含test,所以符合條件。則匹配的最終結果為test.txt符合條件。規則三:
--include "*test*" --exclude "*.txt" --include "te?t.txt"
,當規則匹配到--include "*test*"
,匹配的結果為test.txt符合條件;當規則繼續匹配到--exclude "*.txt"
時,因test.txt文件名包含.txt,所以被排除;當規則最后匹配到--include "te?t.txt"
時,因test.txt符合條件,所以被包含。則匹配的最終結果為test.txt符合條件。
選項支持的格式
通配符星號(*):匹配所有字符。例如:*.txt表示匹配所有TXT格式的文件。
通配符問號(?):匹配單個字符。例如:abc?.jpg表示匹配所有文件名為abc+任意單個字符的JPG格式的文件,如abc1.jpg。
[sequence]:匹配序列的任意字符,例如:abc[1-5].jpg表示匹配文件名為abc1.jpg~abc5.jpg的文件。
[!sequence]:匹配序列外的任意字符,例如:abc[!0-7].jpg表示匹配文件名不為abc0.jpg~abc7.jpg的文件。
選項使用限制
設定條件時不支持目錄格式,例如ossutil cp oss://examplebucket/destfolder/ localfolder/ --include dir/
,否則報錯--include or --exclude does not support format containing dir info。