MinIO 用戶端
MinIO Client mc
命令列工具提供了一種現代化的替代方案,以取代 UNIX 命令,如 ls
、cat
、cp
、mirror
和 diff
,並支援檔案系統和 Amazon S3 相容的雲端儲存服務。
mc 命令列工具的建置旨在與 AWS S3 API 相容,並已使用 MinIO 和 AWS S3 進行測試,以確保其預期的功能和行為。
MinIO 對於其他 S3 相容服務不提供任何保證,因為它們的 S3 API 實作是未知的,因此不受支援。雖然 mc 命令可能會如文件所述運作,但任何此類使用行為的風險由您自行承擔。
mc
的語法如下
mc [GLOBALFLAGS] COMMAND --help
請參閱 命令快速參考 以取得支援的命令列表。
與 MinIO 伺服器的版本對齊
MinIO Client 的發佈與 MinIO Server 分開。
為了獲得最佳功能和相容性,請使用與您的 MinIO Server 版本接近的 MinIO Client 版本。例如,與您的 MinIO Server 版本同一天或之後發佈的 MinIO Client。
您可以安裝比 MinIO Server 版本更新的 MinIO Client 版本。但是,如果 MinIO Client 版本與 MinIO Server 版本差異過大,您可能會因為差異而看到更多警告或錯誤。例如,雖然圍繞複製的核心 S3 API(mc cp
)可能保持不變,但某些功能或旗標可能只有在用戶端和伺服器版本對齊時才可用或穩定。
快速入門
1) 安裝 mc
將 mc 命令列工具安裝到主機上。點擊與主機作業系統或環境相對應的標籤
以下命令會為您的系統 PATH 添加暫時的擴展,以便執行 mc
公用程式。請參閱您的作業系統說明,以永久修改您的系統 PATH。
或者,導覽至父資料夾並執行 ./mc --help
來執行 mc
64 位元 Intel
curl https://dl.min.io/client/mc/release/linux-amd64/mc \
--create-dirs \
-o $HOME/minio-binaries/mc
chmod +x $HOME/minio-binaries/mc
export PATH=$PATH:$HOME/minio-binaries/
mc --help
64 位元 PPC
curl https://dl.min.io/client/mc/release/linux-ppc64le/mc \
--create-dirs \
-o ~/minio-binaries/mc
chmod +x $HOME/minio-binaries/mc
export PATH=$PATH:$HOME/minio-binaries/
mc --help
ARM64
curl https://dl.min.io/client/mc/release/linux-arm64/mc \
--create-dirs \
-o ~/minio-binaries/mc
chmod +x $HOME/minio-binaries/mc
export PATH=$PATH:$HOME/minio-binaries/
mc --help
從 MinIO 下載頁面安裝
MinIO 並未正式將其二進位檔案發佈到常見的 Linux 儲存庫或套件管理員(Ubuntu、RHEL、Archlinux/AUR)。MinIO 二進位檔案的唯一官方來源是 MinIO 下載頁面。
MinIO 不建議透過套件管理員安裝,因為上游儲存庫可能會安裝不正確的套件或重新命名的套件。
所有文件都假設僅透過下載頁面安裝官方 mc
用戶端二進位檔案,且二進位檔案名稱未變更。
brew install minio/stable/mc
mc --help
在瀏覽器中開啟以下檔案
https://dl.min.io/client/mc/release/windows-amd64/mc.exe
透過雙擊來執行該檔案,或在命令提示字元或 powershell 中執行以下命令
\path\to\mc.exe --help
從來源安裝適用於開發人員和進階使用者,並且需要可運作的 Golang 環境。請參閱 如何安裝 Golang。
在終端環境中執行以下命令,以從來源安裝 mc
go install github.com/minio/mc@latest
mc update
不支援基於來源的安裝。
2) 為 S3 相容服務建立別名
重要
以下範例會暫時停用 bash 歷程記錄,以降低驗證憑證以純文字洩漏的風險。這是一個基本安全措施,並不能減輕所有可能的攻擊媒介。請參閱您的作業系統的最佳安全實務,以在命令列中輸入敏感資訊。
使用 mc alias set
命令將 Amazon S3 相容服務新增至 mc
組態。
bash +o history
mc alias set ALIAS HOSTNAME ACCESS_KEY SECRET_KEY
bash -o history
將
ALIAS
取代為與 S3 服務關聯的名稱。mc
命令通常需要ALIAS
作為引數,以識別要對哪個 S3 服務執行。將
HOSTNAME
取代為 S3 服務的 URL 端點或 IP 位址。將
ACCESS_KEY
和SECRET_KEY
取代為 S3 服務上使用者的存取金鑰和密碼金鑰。
將每個引數取代為所需的值。如果您省略 ACCESS_KEY
和 SECRET_KEY
,該命令會提示您在 CLI 中輸入這些值。
以下每個標籤都包含提供者特定的範例
mc alias set myminio https://minioserver.example.net ACCESS_KEY SECRET_KEY
mc alias set myS3 https://s3.{your-region-code}.amazonaws.com/endpoint ACCESS_KEY SECRET_KEY
mc alias set myGCS https://storage.googleapis.com/endpoint ACCESS_KEY SECRET_KEY
3) 測試連線
使用 mc admin info
命令測試與新新增的 MinIO 部署的連線
mc admin info myminio
如果成功,該命令會傳回 S3 服務的相關資訊。如果失敗,請檢查以下每一項
主機具有與 S3 服務 URL 的連線能力(即使用
ping
或traceroute
)。指定的
ACCESSKEY
和SECRETKEY
對應到 S3 服務上的使用者。使用者必須具有對服務執行動作的權限。對於 MinIO 部署,請參閱 存取管理,以取得有關使用者存取權限的更多資訊。對於其他 S3 相容服務,請參閱該服務的文件。
命令快速參考
下表列出 mc
命令
命令 |
描述 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
使用 |
|
|
|
|
|
MinIO 用戶端 |
|
|
|
|
|
|
|
|
|
|
|
|
組態檔
mc
使用 JSON
格式的組態檔,用於儲存特定類型的資訊,例如每個已設定的與 S3 相容之服務的 別名
。
對於 Linux 和 macOS,預設組態檔位置為 ~/.mc/config.json
。
對於 Windows,mc
會嘗試透過嘗試特定的環境變數來建構預設檔案路徑。如果變數未設定,mc
會移至下一個變數。如果所有嘗試都失敗,mc
會傳回錯誤。以下清單會依 mc
檢查順序描述每個可能的檔案路徑位置
HOME\.mc\config.json
USERPROFILE\.mc\config.json
HOMEDRIVE+HOMEPATH\.mc\config.json
您可以使用 --config-dir
憑證
MinIO 用戶端會將部署的憑證和 CA 儲存到下列路徑
Linux、macOS 和其他類 Unix 系統
~/.mc/certs/ # certificates
~/.mc/certs/CAs/ # Certificate Authorities
Windows 系統
C:\Users\[username]\mc\certs\ # certificates
C:\Users\[username]\mc\certs\CAs\ # Certificate Authorities
建立新的 別名時,MinIO 用戶端會提取對等憑證、計算公開金鑰指紋,並詢問使用者是否接受部署的憑證。如果您決定信任憑證,MinIO 用戶端會將憑證新增至上面列出的憑證授權單位路徑。
注意
在測試環境中,您可以傳遞 --insecure
旗標,略過所選 MinIO 用戶端命令的憑證檢查。
模式比對
某些命令和旗標允許模式比對。啟用時,模式可以包含下列其中一個萬用字元來進行字元取代
*
代表要比對的字串,無論是在中間或結尾。?
代表單一字元。
例如,請參閱下列範例,以瞭解萬用字元用法及其結果。
模式 |
文字 |
比對結果 |
---|---|---|
|
ab |
比對 |
|
abd |
不比對 |
|
abcd |
比對 |
|
abxxc |
比對 |
|
abxc |
比對 |
|
abxc |
比對 |
|
abc |
比對 |
|
abcxdd |
不比對 |
全域選項
所有 命令 都支援下列全域選項。您也可以使用 環境變數定義其中一些選項。
- --config-dir
用於儲存資料的
JSON
格式設定檔的路徑。mc 如何使用設定檔的詳細資訊,請參閱設定檔。或者,設定環境變數
MC_CONFIG_DIR
。
- --disable-pager, --dp
新增於 mc 版本:RELEASE.2024-04-29T09-56-05Z
停用 CLI 中 MinIO Client 的分頁器功能。使用時,輸出會改為列印到原始的
STDOUT
。
- --insecure
停用 TLS/SSL 憑證驗證。允許 TLS 連線到具有無效憑證的伺服器。對不受信任的 S3 主機使用此選項時請謹慎。
或者,設定環境變數
MC_INSECURE
。
- --json
啟用 JSON lines 格式的輸出至主控台。
例如,以下操作會將 JSON Lines 輸出加入
mc ls
指令mc --json ls play
或者,設定環境變數
MC_JSON
。
- --no-color
停用主控台輸出的內建色彩主題。適用於啞終端機。
或者,設定環境變數
MC_NO_COLOR
。
- --quiet
抑制主控台輸出。
或者,設定環境變數
MC_QUIET
。
- --resolve
新增於 mc 版本:RELEASE.2024-08-13T05-33-17Z
建立自訂 DNS 對應,將 HOST 解析為指定的 IP 位址。
使用以下語法
--resolve HOST[:PORT]=IP
例如
mc alias set --resolve myminio.example.com:9000=192.168.188.118 'myminio' 'https://myminio.example.com:9000' 'miniouser' 'miniosecret'
重複使用此旗標多次以新增其他自訂 DNS 對應。
- --version
顯示
mc
的目前版本。