簡介
MinIO Client (mc)為ls,cat,cp,mirror,diff,find等UNIX命令提供了一種替代方案。它支持文件系統和兼容Amazon S3的雲存儲服務(AWS Signature v2和v4)。
ls 列出文件和文件夾。
mb 創建一個存儲桶或一個文件夾。
cat 顯示文件和對象內容。
pipe 將一個STDIN重定向到一個對象或者文件或者STDOUT。
share 生成用於共享的URL。
cp 拷貝文件和對象。
mirror 給存儲桶和文件夾做鏡像。
find 基於參數查找文件。
diff 對兩個文件夾或者存儲桶比較差異。
rm 刪除文件和對象。
events 管理對象通知。
watch 監聽文件和對象的事件。
policy 管理訪問策略。
session 為cp命令管理保存的會話。
config 管理mc配置文件。
update 檢查軟件更新。
version 輸出版本信息。
安裝
wget http://dl.minio.org.cn/client/mc/release/linux-amd64/mc
chmod +x mc
#這里minio的文件加是我存放mc文件的路徑
vi ~/.bashrc
export PATH=$PATH:/opt/soft/minio
source ~/.bashrc
mc --help
通過提示,我們發現mc默認的配置目錄是在/home/admin/.mc
下
配置文件
vi /home/admin/.mc/config.json
根據你自己的minio賬號密碼去修改
測試
下文只演示部分命令
查看所有存儲桶
mc ls local
列出了本地全部的存儲桶.
創建存儲桶
在local中創建名為test的存儲桶
mc mb local/test
拷貝文件到存儲桶
#先創建一個文本文件
ps -ef | grep java > test.txt
#上傳text.txt文件到local的test存儲桶下面
mc cp test.txt local/test
Pipe到對象
pipe
命令拷貝stdin里的內容到目標輸出,如果沒有指定目標輸出,則輸出到stdout。
#將ps -ef | grep java的結果輸出到local/test存儲桶下面test2.txt文件中
ps -ef | grep java | mc pipe local/test/test2.txt
合並對象
cat
命令將一個文件或者對象的內容合並到另一個上。你也可以用它將對象的內容輸出到stdout。
mc cat local/test/test.txt
刪除存儲桶和對象
mc rm local/test/test.txt
#刪除存儲桶時,必須加上--recursive --force這兩個選項
mc rm --recursive --force local/test
存儲桶鏡像
在文件系統和對象存儲之間做同步
將一個本地文件夾鏡像到local/test存儲桶。
mc mirror /opt/apache-skywalking-apm-bin local/test
持續監聽本地文件夾修改並鏡像到local/test存儲桶。
mc mirror -w /opt/apache-skywalking-apm-bin local/test
查找文件和對象
find
命令通過指定參數查找文件,它只列出滿足條件的數據。
用法:
mc find PATH [FLAGS]
FLAGS:
--help, -h 顯示幫助。
--exec value 為每個匹配對象生成一個外部進程(請參閱FORMAT)
--name value 查找匹配通配符模式的對象。
...
...
實例:持續從local/test存儲桶中查找所有txt文件,並復制到minio "local/buc1"存儲桶
mc find local/test --name "*.txt" --watch --exec "mc cp {} local/buc1"
顯示差異
diff
命令計算兩個目錄之間的差異。它只列出缺少的或者大小不同的內容。
實例:顯示本地/opt/apache-skywalking-apm-bin/
與local/test
存儲桶的差異
mc diff /opt/apache-skywalking-apm-bin/ local/test
監聽文件和對象存儲事件
watch
命令提供了一種方便監聽對象存儲和文件系統上不同類型事件的方式。
用法:
mc watch [FLAGS] PATH
FLAGS:
--events value 過濾不同類型的事件,默認是所有類型的事件 (默認: "put,delete,get")
--prefix value 基於前綴過濾事件。
--suffix value 基於后綴過濾事件。
--recursive 遞歸方式監聽事件。
--help, -h 顯示幫助。
示例:
mc watch local/test
管理存儲桶策略
管理匿名訪問存儲桶和其內部內容的策略。
用法:
mc policy [FLAGS] PERMISSION TARGET
mc policy [FLAGS] TARGET
mc policy list [FLAGS] TARGET
PERMISSION:
Allowed policies are: [none, download, upload, public].
FLAGS:
--help, -h 顯示幫助。
設置可以下載
mc policy set download local/test/bin
查看策略:
mc policy list local/test/bin
刪除當前的匿名存儲桶策略
mc policy set none local/test/bin
管理配置文件
config host
命令提供了一個方便地管理~/.mc/config.json
配置文件中的主機信息的方式,你也可以用文本編輯器手動修改這個配置文件。
Copy用法:
mc config host COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]
COMMANDS:
add, a 添加一個新的主機到配置文件。
remove, rm 從配置文件中刪除一個主機。
list, ls 列出配置文件中的主機。
FLAGS:
--help, -h 顯示幫助。
添加MinIO服務的access和secret key到配置文件,注意,shell的history特性可能會記錄這些信息,從而帶來安全隱患。在bash
shell,使用set -o
和set +o
來關閉和開啟history特性。
set +o history
mc config host add myminio http://localhost:9000 minioadmin minioadmin
set -o history
軟件更新
從https://dl.min.io檢查軟件更新。Experimental標志會檢查unstable實驗性的版本,通常用作測試用途。
Copy用法:
mc update [FLAGS]
FLAGS:
--quiet, -q 關閉控制台輸出。
--json 使用JSON格式輸出。
--help, -h 顯示幫助。
示例: 檢查更新
mc update
顯示版本信息
mc --version