このトピックでは、ossutilの高レベルコマンドについて説明します。
コマンド
コマンドセット | サポートされているオプション |
すべての高レベルコマンド |
|
バッチ処理をサポートする高レベルのコマンド |
|
宛先オブジェクトによるフィルタリングをサポートする高レベルのコマンド |
|
個々のオブジェクトに適用される高レベルのコマンド | -- version-id string: オブジェクトのバージョンID。 |
ローカルオプション
ローカルオプション | 説明 |
-- encoding型の文字列 | オブジェクト名またはファイル名のエンコードに使用されるエンコード方法。 有効値: url |
-- request-payer文字列 | リクエストの支払人。 pay-by-requesterが有効な場合は、このオプションを指定します。 有効値: requester。 |
-- start-after文字列 | -- start-afterオプションの値の後に名前がアルファベット順であるオブジェクトと照合します。 |
-- end-文字列付き | -- end-withオプションの値の前または同じ名前のオブジェクトと一致します。 |
-- page-size int | 返されるオブジェクトの最大数。 デフォルト値は 1000 です。 有効な値: 1 ~ 1000 |
-stringArrayを含む | パスまたはオブジェクト名の包含ルール。 |
-- include-stringArrayから | ファイルから包含ルールを読み取ります。 |
-- stringArrayを除外する | パスまたはオブジェクト名の除外ルール。 |
-- exclude-stringArrayから | ファイルから除外ルールを読み取ります。 |
-- filter stringArray | パスまたはオブジェクト名のフィルタールール。 |
-- files-stringArrayから | 空行またはコメント行を無視して、ファイルからソースオブジェクト名のリストを読み取ります。 |
-- files-from-raw stringArray | 空の行とコメント行を無視せずに、ファイルからソースオブジェクト名のリストを読み取ります。 |
-最大年齢期間 | 最終変更時刻がこのオプションの値より前のオブジェクトを除外します。 デフォルトの単位はs (秒) です。 ミリ秒はms、秒はs、分はm、時間はh、日はd、週はw、月はM、年はyの単位で数値をサフィックスできます。 |
-最小年齢期間 | 最終変更時刻がこのオプションの値より後のオブジェクトを除外します。 デフォルトの単位はs (秒) です。 ミリ秒はms、秒はs、分はm、時間はh、日はd、週はw、月はM、年はyの単位で数値をサフィックスできます。 |
-- max-mtime時間 | 最終変更時刻がこのオプションの値より後のオブジェクトを除外します。 時刻は UTC である必要があります。 |
-- min-mtime時間 | 最終変更時刻がこのオプションの値より前のオブジェクトを除外します。 時刻は UTC である必要があります。 |
-- 最大サイズのSizeSuffix | 転送できるファイルまたはオブジェクトの最大サイズ。 デフォルトでは、サイズはバイト (B) 単位です。 数値に1024ベースの単位 (Bはbyte、KはKibibyte、MはMebibyte、GはGibibyte、TはTebibyte、PはPebibyte) でサフィックスを付けることができます。 |
-- 最小サイズのSizeSuffix | 転送できるファイルまたはオブジェクトの最小サイズ。 デフォルトでは、サイズはバイト (B) 単位です。 数値に1024ベースの単位 (Bはbyte、KはKibibyte、MはMebibyte、GはGibibyte、TはTebibyte、PはPebibyte) でサフィックスを付けることができます。 |
-- metadata-stringArrayを除外する | オブジェクトメタデータの除外ルール。 |
-- metadata-stringArrayを含む | オブジェクトメタデータの包含ルール。 |
-- metadata-filter stringArray | オブジェクトメタデータのフィルタールール。 |
-- metadata-filter-from stringArray | ファイルからメタデータフィルタールールを読み取ります。 |
-チェックサム | 次のいずれかの条件が満たされた場合にのみ、ソースオブジェクトをコピーすることを指定します。 a. ソースオブジェクトのサイズが宛先オブジェクトのサイズと異なる。 つまり、ソースオブジェクトのCRC-64は宛先オブジェクトのサイズと異なりますが、ソースオブジェクトのサイズは宛先オブジェクトのサイズと同じです。 |
-- サイズだけ | コピー先のオブジェクトまたはファイルとファイルサイズが異なる場合にのみ、コピー元のファイルまたはオブジェクトをコピーします。 |
-u, -- update | 最後に変更された時刻が宛先オブジェクトまたはファイルの時刻よりも遅い場合にのみ、ソースファイルまたはオブジェクトをコピーします。 |
-r, -- recursive | コマンドが操作を再帰的に実行することを指定します。 このオプションを指定した場合、コマンドはバケット内のすべての一致するオブジェクトに対して操作を実行します。 このオプションが指定されていない場合、指定されたパス内の指定されたオブジェクトに対してのみ操作が実行されます。 |
-d, -- dirs | 現在のディレクトリ内のファイルまたはオブジェクトおよびサブディレクトリと照合します。 |
-f、-- 力 | 確認を必要とせずに操作を強制します。 |
-- list-objects | ListObjects操作を呼び出してオブジェクトを一覧表示します。 |
-- 進歩なし | 進行状況バーを非表示にします。 |
-j, -- job int | 複数のファイルまたはオブジェクトを処理するための同時ジョブの数。 デフォルト値: 3。 |
-- checkers int | 並列に実行できるチェッカーの数。 デフォルト値: 16。 |
-- parallel int | 1つのファイルまたはオブジェクトを処理するための同時ジョブの数。 |
-- 部分サイズのSizeSuffix | 部品サイズ。 デフォルトでは、部品サイズはオブジェクトサイズに基づいて自動的に計算されます。 部品サイズは100 KiBから5 GiBの範囲です。 |
-- bigfile-threshold int | マルチパートアップロード、ダウンロード、またはコピーを使用する場合のオブジェクトサイズのしきい値。 デフォルト値: 104857600 |
オブジェクト属性に関連するオプション | |
-- version-id文字列 | オブジェクトのバージョンID。 |
-- ストレージクラス文字列 | オブジェクトのストレージクラス。 有効な値: Standard、IA、Archive、ColdArchive、およびDeepColdArchive。 |
-- acl文字列 | オブジェクトのアクセス制御リスト (ACL) 。 有効な値: private、public-read、public-read-write、およびdefault。 |
-- cache-制御文字列 | オブジェクトがダウンロードされたときのwebブラウザでのキャッシュ動作。 |
-- content-disposition文字列 | オブジェクトの表示モード。 |
-- content-encoding string | オブジェクトのエンコードに使用されるエンコード方法。 |
-- content-type文字列 | オブジェクトのコンテンツタイプ。 |
-- expires文字列 | キャッシュされたコンテンツの絶対有効期限。 |
-- copy-props文字列 | ソースオブジェクトからコピーする属性。The attributes to copy from the source object. 有効な値: none、metadata、default。 |
-- タグ文字列 | キー=値ペアのオブジェクトタグ。 |
-- tagging-ディレクティブ文字列 | 宛先オブジェクトのタグを設定するために使用されるメソッド。 有効な値: COPYとREPLACE。 |
-- メタデータ文字列 | キー=値ペアのユーザーメタデータ。 |
-- metadata-ディレクティブ文字列 | 宛先オブジェクトのメタデータを設定するために使用されるメソッド。 有効な値: COPYとREPLACE。 |
フィルターオプション
フィルターオプションは、ls、cp、sync、rmなどのバッチ処理をサポートするコマンドに適用できます。 フィルターオプションは、パス、ファイルまたはオブジェクト名、パスリスト、ファイルリスト、オブジェクトリスト、最終変更時刻、およびファイルまたはオブジェクトサイズでファイルまたはオブジェクトを照合します。 メタデータベースのフィルタリングは、オブジェクトにのみ適用されます。
フィルターオプションはコマンドラインでのみ使用できます。 設定ファイルでは指定できません。
lsコマンドを使用して、フィルターをテストできます。 -- dry-run/-nオプションを使用して、変更せずにテスト実行を実行することもできます。
パス、ファイル名、またはオブジェクト名でフィルタリング
-- includeおよび -- excludeオプションを使用すると、-- include="*.txt" および -- exclude="*" ルールのように、ファイルまたはオブジェクトを名前またはパスで含めたり除外したりできます。
包含ルールと除外ルールは、コマンドラインで直接指定するか、ルールファイルに書き込むことで指定できます。 要件に基づいて -- includeオプションと -- excludeオプションを組み合わせて、1つのコマンドで複数回指定できます。 オプションのすべてのオカレンスは、次の原則に基づいてファイルまたはオブジェクトを照合する包含ルールと除外ルールのリストを定義します。
オプションの順序が重要です。 ルールは、コマンドラインでは左から右に、ルールファイルでは上から下に適用されます。
検出されたファイル、オブジェクト、またはパスは、包含または除外のために直ちにチェックされる。
ルール一致チェックは順番に行われます。 ファイル、オブジェクト、またはパスが包含ルールまたは除外ルールと一致する場合、後続のルールと照合されなくなります。
ファイル、オブジェクト、またはパスが指定されたルールと一致しない場合、ファイル、オブジェクト、またはパスが含まれます。
ローカルファイルシステム内のディレクトリを除外すると、ディレクトリ内のすべてのサブディレクトリとファイルが除外されます。
オブジェクトはバケットにフラットに格納され、包含または除外のために1つずつチェックされます。
ossutilはglobマッチングを使用します。次のマッチングパターンが一般的です。
先頭のスラッシュ (
/
) を持つ一致パターンは、指定されたパス内で直接一致を検索します。 先頭のスラッシュ (/) のない一致パターンは、パス内の任意の深さで一致を検索します。後続のスラッシュ (
/
) を持つ一致パターンは、ディレクトリのみに一致します。 末尾のスラッシュ (/) のない一致パターンは、ディレクトリとファイルを一致させます。マッチングパターンの中央のスラッシュ (
/
) は、パスの区切り文字です。 例: subdir/test.txt。*
ワイルドカード文字は、/
を除く任意の長さの文字列と一致します。一致するパターンの末尾の
**
要素は、/
を含む任意の長さの文字のシーケンスと一致します。 たとえば、dir/**はパスdir/subdir/xx/test.txtと一致します。?
文字は、/を除く任意の単一の文字と一致します。角括弧 (
[]
) は、定義された文字クラス内の任意の1つの文字に一致します。 たとえば、[a-z] はaからzまでの小文字に一致し、[0-9] は0から9までの数字に一致します。デフォルトでは、パターンはパスまたはファイル名の末尾に完全に一致する必要があります。 たとえば、fooパターンはfooとdir/fooに一致しますが、dir/foo1またはfoo/xxには一致しません。
マッチングは、指定されたファイル名、オブジェクト名、またはディレクトリ名の整合性に基づいて行われ、名前分割はサポートされません。 たとえば、fooパターンはxxx/afooと一致せず、abc/fooはsubdir/aabc/fooと一致しません。
ossutilはスラッシュを使用します (/
) バックスラッシュの代わりに (\
) Windowsのパス区切り文字として。
次の表に、ファイルまたはオブジェクトをパスまたは名前でフィルタリングするために使用できるフィルタルールの構文とオプションを示します。
項目 | 説明 |
フィルタールールの構文 |
|
フィルターオプション |
|
次の表に、フィルターオプションを示します。
オプション | 説明 |
-含む -除外 | オプション名の後に一致するパターンを指定します。 各オプションの後には、1つのマッチングパターン (ルールとも呼ばれます) のみが続きます。 -- include "*.txt" -- include "*.js" -- exclude "*.jpg" 設定のように、オプションを繰り返すことで、コマンドで複数の一致するパターンを指定できます。 |
-- フィルター | ディレクティブを含む一致するパターンを指定します。 各オプションの後には、一致するパターンが1つだけ続きます。 オプションを繰り返すことで、コマンドで複数の一致するパターンを指定できます。in -- filter "+ *.txt" -- filter "+ *.js" -- filter "- *.txt" 設定です。 |
-- include-from -- exclude-from | オプション名の後にルールファイルのパスを指定します。 各グロブマッチングパターンは、ルールファイル内の別々の行に配置される。 オプションを繰り返すことで、コマンドで複数のルールファイルを指定できます。 -- include-fromオプションに続くルールファイルには、包含ルールのみが含まれます。 -- exclude-fromオプションに続くルールファイルには、除外ルールのみが含まれます。 たとえば、コマンドで次のフィルターを指定できます。-- include-from include-file.txt -- exclude-from exclude-file.txt、 include-file.txtファイルには次のパターンが含まれています。
exclude-file.txtファイルには |
-- filter-from | オプション名の後にルールファイルのパスを指定します。 各ディレクティブベースのグロブマッチングパターンは、ルールファイルの別々の行に配置されます。 オプションを繰り返すことで、コマンドで複数のルールファイルを指定できます。 たとえば、-- filter-from filter-file.txtを指定できます。 次のパターンを含む
|
注:
ルールファイル内の一致するパターンがロードされ、上から下に処理されます。 数字記号 (
#
) またはセミコロン (;
) で始まる空白行およびコメント行は無視されます。ファイルパスが
-
に設定されている場合、データは標準入力から読み込まれます。 コマンドに指定できる「-」は1つだけです。-- includeまたは -- include-fromオプションを指定した場合、オプションで定義されているルールリストの末尾に
- **
パターンが自動的に追加されます。-- filterオプションが使用されている場合、ossutilはオプションで定義されたルールリストの下部に
- **
パターンを自動的に追加しません。
たとえば、-- filterオプションを使用して、拡張子がであるファイルのみを含める場合などです。jpgでは、-- filter "+ *.jpg" -- filter "- ** "フィルターを指定する必要があります。
-- filterまたは -- filter-fromを -- include、-- include-from、-- exclude、または -- exclude-fromと一緒に使用することはできません。
パスリスト、ファイルリスト、またはオブジェクトリストでフィルタリング
次の表に示すオプションを使用して、フィルタリングするパス、オブジェクト名、またはファイル名の一覧を含むファイルを指定できます。
オプション | 説明 |
-- files-から | 指定したリストファイルからパス, ファイル名, またはオブジェクト名を読み込みます。 オプションを繰り返すことで, コマンドに複数のリストファイルを指定できます。 ossutilがリストファイルからデータを読み取るとき、各行の先頭と末尾のスペース、および数字記号 ( |
-- files-from-raw | 指定したリストファイルからパス, ファイル名, またはオブジェクト名を読み込みます。 オプションを繰り返すことで, コマンドに複数のリストファイルを指定できます。 ossutilがリストファイルからデータを読み取るとき、各行の先頭または末尾のスペース、または数字記号 ( |
パス、ファイル名、またはオブジェクト名のリストを使用してオブジェクトまたはファイルをフィルタリングする場合、コマンドで指定された他の種類のフィルタは無視されます。
最終変更時刻によるフィルタリング
ファイルまたはオブジェクトは、最終変更時刻でフィルタリングできます。
相対時間フィルターと絶対時間フィルターを指定できます。 次の表に、最終変更時刻ごとにファイルまたはオブジェクトをフィルタリングするオプションを示します。
オプション | 説明 |
-- 最低年齢 | 最終変更時刻がこのオプションの値より後のオブジェクトを除外します。 デフォルトの単位はs (秒) です。 数値を時間の単位でサフィックスすることができます。 例えば、1hは1時間を示す。 |
-最大年齢 | 最終変更時刻がこのオプションの値より前のオブジェクトを除外します。 デフォルトの単位はs (秒) です。 数値を時間の単位でサフィックスすることができます。 例えば、1hは1時間を示す。 |
-- min-mtime | 最終変更時刻がこのオプションの値より前のオブジェクトを除外します。 時刻は UTC である必要があります。 例: 2006-01-02T15:04:05。 |
-- max-mtime | 最終変更時刻がこのオプションの値より後のオブジェクトを除外します。 時刻は UTC である必要があります。 例: 2006-01-02T15:04:05。 |
注:
-- min-ageオプションと -- max-ageオプションを使用すると、数値に時間の単位でサフィックスを付けることができます。ミリ秒はms、秒はs、分はm、時間はh、日はd、週はw、月はM、年はyです。
単位の前の数値は、1.5d (1日半) のように小数にすることができます。
次のサンプルコマンドは、3日以上前に最後に変更されたファイルまたはオブジェクトを一覧表示します。
ossutil ls oss://bucket/ --min-age 3d
データサイズによるフィルタリング
ファイルまたはオブジェクトをデータサイズでフィルタリングして、サイズが指定された範囲内にあるファイルまたはオブジェクトを含めることができます。
次の表に、データサイズでファイルとオブジェクトをフィルタリングするために使用できるオプションを示します。
オプション | 説明 |
-- 最小サイズ | 含めることができるファイルまたはオブジェクトの最小サイズ。 デフォルトでは、サイズはバイト (B) 単位です。 1024単位のサイズ単位は、1K (1,024バイト) のように数値の後に指定できます。 |
-最大サイズ | 含めることができるファイルまたはオブジェクトの最大サイズ。 デフォルトでは、サイズはバイト (B) 単位です。 数値には、1K (1,024バイト) のように、1024ベースの単位で接尾辞を付けることができます。 |
注:
Bはバイト、KはKibibyte、MはMebibyte、GはGibibyte、TはTebibyte、PはPebibyteのいずれかを指定できます。
ユニットの前の数値は、0.5Kのように小数にすることができます。
次のサンプルコマンドは、サイズが1 MiBを超えないファイルまたはオブジェクトを一覧表示します。
ossutil ls oss://bucket/ --max-size 1M
メタデータによるフィルタリング
メタデータベースのフィルタリングは、バケット内のオブジェクトにのみ適用されます。 ファイルまたはオブジェクトをパス、ファイル名、またはオブジェクト名でフィルタリングするのと同様の方法で、メタデータでオブジェクトをフィルタリングできます。
メタデータベースのフィルタリングは、グロブマッチングを使用し、メタデータフィルタルールのキー=値表現を必要とする。
次のオプションを使用して、メタデータでオブジェクトをフィルタリングできます。
-- metadata-include
-- metadata-除外
-- metadata-filter
-- metadata-filter-from
次のメタデータアイテムを使用してオブジェクトをフィルタリングできます。
ストレージクラス。 ストレージクラスでオブジェクトをフィルタリングするには、x-oss-storage-class=valueを指定します。値は、Standard、IA、Archive、ColdArchive、またはDeepColdArchiveです。
オブジェクト型。 オブジェクトタイプでオブジェクトをフィルタリングするには、x-oss-object-type=valueを指定します。値はNormal、Multipart、Appendable、またはSymlinkです。
復元ステータス。 復元ステータスでオブジェクトをフィルタリングするには、x-oss-restore=valueを指定します。この値は、フィルタリングする実際の復元ステータスです。
コンテンツのタイプ。 オブジェクトをコンテンツタイプでフィルタリングするには、content-type=valueを指定します。ここで、値はフィルタリングする実際のコンテンツタイプです。
ユーザーメタデータ。 ユーザーメタデータでオブジェクトをフィルタリングするには、x-oss-meta-aaa=valueを指定します。ここで、aaaは小文字のカスタム属性名、valueはメタデータ値です。
次のサンプルコマンドは、指定されたバケット内のアーカイブ、コールドアーカイブ、およびディープコールドアーカイブストレージクラスのオブジェクトを一覧表示します。
ossutil ls oss://bucket/ --metadata-include "x-oss-storage-class=*Archive"