cmdp 命令行和單文件快捷提示、上傳、下載、執行工具(遠程同步)

demo

簡介

cmdp至關於git中的一個小功能,能夠能夠搜索,記錄,提交,上傳,下載,執行本身的或他人的1行文字,或者1個文件php

cmdp至關於wget,能夠下載1個文件,能夠經過關鍵詞,下載1個文件java

cmdp至關於alias,能夠記錄大量的命令別名,遠程同步,只要登陸cmdp帳號,就可使用和執行本身或他人的命令別名mysql

cmdp至關於man,能夠製做和查看各類語言的helplinux

cmdp至關於小云盤,能夠儲存1行文字或1個文件git

功能

單行文本 (command,code,path,content...)
  • 上傳記錄命令,代碼,路徑,文本等,並可添加關鍵詞,註釋。
  • 搜索本身或他人添加的命令,代碼,路徑,文本等。(支持全局模糊搜索,包括內容,關鍵詞,註釋)
  • 快速執行本身或他人添加的命令。
單個文件(.yaml.md,.txt,.sh,.js,.java,.py,.php,Vagrantfile,Dockerfile...)
  • 上傳單個文件,並可添加關鍵詞,註釋。
  • 搜索本身或他人上傳的單個文件。(支持全局模糊搜索,包括關鍵詞,註釋)
  • 下載本身或他人上傳的單個文件。(根據關鍵詞)
  • 快速執行本身或他人文件命令。(文件內容是命令時)

使用場景

若是你也常常遇到下述場景,那麼cmdp,就能夠幫助你快速解決此類問題,而且會成爲你常常使用的一個命令行工具!github

命令行參數太多,太難記,日常可能會爲了1條命令,新建一個筆記,來記錄,查詢麻煩。golang

// 快速建立筆記,並本身上傳此命令到你的帳號中
cmdp c "docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=secret -d mysql" mysql

// 搜索和mysql相關的全部命令
cmdp s mysql

// 快速執行
// 至關於執行了docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=secret -d mysql
cmdp e mysql

// 若是本身不想建立筆記,能夠直接搜索或者當即執行官方或其餘大神建立的筆記
cmdp s docker/mysql
cmdp s dashen/mysql
cmdp e docker/mysql 
cmdp e dashen/mysql
複製代碼

常常要在雲盤或筆記中收藏各類shell腳本,bash命令,沒有地方快速收藏,快速執行。spring

// 上傳shell腳本文件
cmdp p my.sh
// 上傳markdown筆記文件
cmdp p my.md
// 上傳單個代碼文件,好比全國城市村鎮的json
cmdp p country.json

// 搜索全部和mysql相關的個人文件
cmdp f mysql

// 執行shell腳本文件
cmdp e my.sh
// 下載markdown筆記文件
cmdp l my.md
// 下載全國城市村鎮的json
cmdp l country.json

// 若是本身不想上傳文件,能夠直接搜索或者下載或者當即執行官方或其餘dashen上傳的文件
cmdp s office/a.sh
複製代碼

雖然linux有ctrl+R查詢,但對於常常建立linux系統,使用不一樣的服務器,不一樣的電腦的人來講,命令提示不能同步到全部電腦。sql

// 搜索如何解壓tar文件命令
cmdp s tar 

// 搜索如何快速顯示全部目錄的總大小命令
cmdp s du

// 搜索本身建立的docker命令
cmdp s docker
複製代碼

docker建立容器的命令太長,規則太多。常常須要在筆記中記錄如何建立,或者記錄下命令。docker

// 搜索本身建立並記錄的全部和docker相關的命令
cmdp s docker
// 直接執行命令,建立mysql容器
cmdp e dockerMysql
複製代碼

Dockerfile,docker-compose.yaml等容器配置文件,若是想多臺電腦通用,老是得收藏,或放到雲盤,或多臺電腦同步文件

// 下載java spring服務器容器的Dockerfile
cmdp l java
// 下載官方或dashen上傳的java spring服務器容器的Dockerfile
cmdp l office/java
cmdp l dashen/java
複製代碼

Vagrantfile容器文件常常要放到本身的雲盤

// 下載適用windows的hyperV專用的centos7的Vagrantfile
// 並啓動容器
cmdp l centos7 && vagrant up
複製代碼

.gitignore.npmignore,package.json,各類config文件,常常要複製,粘貼

// 下載本身的.gitgnore文件
cmdp l .git

// 下載官方或dashen提供的.gitgnore文件
cmdp l dashen/.gitgnore
複製代碼

常常要分享同一個文件,配置文件給不一樣的同事或合做夥伴。

cmdp l xiaoming/config.json
複製代碼

等等

安裝

方式一:go安裝

先安裝golang

而後,可直接使用下面命令安裝

go get github.com/yurencloud/cmdp
複製代碼

方式二: wget 直接安裝 (僅限linux)

以管理員身份執行下述命令

若正常輸出版本號,即爲安裝成功cmdp version 2.0.0

wget https://github.com/yurencloud/cmdp/releases/download/v2.1.0/cmdp.linux.tar.gz && tar -zxvf cmdp.linux.tar.gz && rm -rf cmdp.linux.tar.gz && chmod +x cmdp && mv cmdp /bin/cmdp && cmdp version
複製代碼

方式二:直接下載

建議儘可能先安裝golang,而後使用go get github.com/yurencloud/cmdp命令安裝,這樣無需設置環境變量或執行權限等問題

點擊下載地址

解壓後,工具能夠直接使用,但建議將命令工具所在目錄添加到系統路徑PATH

//windows
設置環境變量
點擊Path,編輯
假設cmdp在C:\tool\cmdp,只要在Path中添加一條C:\tool

//linux,mac
假設cmdp在/home/tool/cmdp
vi ~/.bash_profile 或.bashrc
添加export PATH=$PATH:/home/tool
source ~/.bash_profile
複製代碼

在mac或linux若出現Permission denied問題,請用下面方法添加可執行權限

chmod +x cmdp
複製代碼

快速使用

$ cmdp help
NAME:
   cmdp - A new cli application

USAGE:
   cmdp [global options] command [command options] [arguments...]

VERSION:
   2.1.0

COMMANDS:
     search, s       search command, code, account, text, etc.
     version, v      show version
     create, c       create command to remote
     delete, d       delete command by id
     exec, e         exec command
     register        user register
     login           login by username and password
     logout          logout
     reset           reset password
     info            update user introduction
     push, p         push your file to remote
     pull, l, pl, P  pull your file from remote
     find, f         find your files from remote by keyword
     remove, r       remove your remote file by id
     star            star other user
     update          update cmdp version
     user, u         search users, order by stars count desc, cmds count desc, files count desc
     help, h         Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h     show help
   --version, -v  print the version

複製代碼
如下均以linux下操做爲例,windows下也差很少
複製代碼

註冊

cmdp register USERNAME PASSWORD
複製代碼

註冊後自動在HOME目錄下生成.cmdp/.cmdp_token文件,請不要刪除,token有效期1年

登陸

若已經註冊,或切換登陸,或token過時,或token刪除,請使用登陸功能,會生成新的token

cmdp login USERNAME PASSWORD
複製代碼

修改用戶簡介

他人關注你時,簡介會顯示在他的關注列表

cmdp info CONTENT
cmdp info "我是tom,專門添加shell命令提示和bash腳本收藏"
複製代碼

修改用戶登陸密碼

cmdp reset NEW_PASSWORD
cmdp reset 654321
複製代碼

搜索已經註冊的全部用戶!!

搜索結果按star,cmds,files數量依次排序

其中cmds,files僅統計公開的數量

cmdp user KEYWORD(可選) [user,u]

// 搜索全部用戶
cmdp u

// 搜索用戶簡介info中,包含shell的用戶,他可能精通shell
cmdp u shell

// 搜索指定用戶名的用戶,好比cmdp做者mackwang
cmdp u mackwang
複製代碼

image

搜索這些用戶幹什麼用呢?

好比你想獲取大量和docker有關的命令或文件

你就能夠先搜索

cmdp u docker
複製代碼

而後根據排名,關注第一個用戶,例如叫mackwang

cmdp star mackwang
複製代碼

而後查看他的全部的cmds和files,這樣你就能夠直接使用他的全部公開的命令或文件啦

// 注意,/符號不能少,符號左邊是用戶名,符號右邊是關鍵詞,留空時,默認搜索所有
cmdp s mackwang/
cmdp f mackwang/
複製代碼

其餘參數

--page,-p 設置頁數

--size,-s 設置每頁顯示條數,默認20

--all,-a 顯示所有
複製代碼

添加單行文本

cmdp create CONTENT KEYWORD(可選) COMMENT(可選) [create,c]
//示例
cmdp c "docker start mysql"
cmdp c "docker start mysql" dockerMysql "使用docker啓動mysql容器"
複製代碼

安全:你建立的全部東西,默認都是隱私的,保密的,只有你可見,若想公開,能夠添加--public,-p參數

cmdp c "docker start mysql" -p
複製代碼

搜索單行文本

cmdp search CONTENT [search,s] 
//示例
cmdp s docker
複製代碼

顯示結果,彩色

docker start mysql |  使用docker啓動mysql容器 id:2
mysql -uroot -p |    docker登入mysql id:31
total:2, size:20, page:1/1
複製代碼

其餘參數

--page,-p 設置頁數
--size,-s 設置每頁顯示條數,默認20
--all,-a 顯示所有
複製代碼

搜索他人的單行文本

// CONTENT中若是包含"/"符號的,左邊爲他人用戶名,右邊爲搜索內容
// 只會顯示他人公開的內容
cmdp s mackwang/docker
// 搜索他人的所有內容, 右邊爲空便可
cmdp s mackwang/
複製代碼

執行單行文本命令

cmdp exec KEYWORD [exec,e]
// 示例
// 執行本身建立的命令
cmdp e dockerMysql
// 執行他人建立的命令,注意,由於執行他人命令是一件很是危險的事情,因此默認只是顯示文本,若想執行,須要添加--force,-F參數
// 只有他人公開的內容,你纔可見
cmdp e tom/dockerMysql --force
複製代碼

刪除單選文本

先查詢,後根據結尾顯示的id進行刪除

cmdp delete ID 
cmdp d 14
複製代碼

上傳單個文件

cmdp push PATH KEYWORD(可選) COMMENT(可選) [push,p]
//示例
// 若不寫keyword,默認keyword爲文件名
cmdp p test.sh
cmdp p test.sh test "快速單元測試"
複製代碼

安全:你建立的全部東西,默認都是隱私的,保密的,只有你可見,若想公開,能夠添加--public,-p參數

cmdp p test.sh -p
複製代碼

查找單個文件

cmdp find CONTENT [find,f] 
//示例
cmdp f dockerfile
複製代碼

顯示結果,彩色

dockerfile start mysql |  使用docker啓動mysql容器 id:2
mysql -uroot -p |    docker登入mysql id:31
total:2, size:20, page:1/1
複製代碼

其餘參數

--page,-p 設置頁數
--size,-s 設置每頁顯示條數,默認20
--all,-a 顯示所有
複製代碼

查找他人的單個文件

// CONTENT中若是包含"/"符號的,左邊爲他人用戶名,右邊爲搜索內容
// 只會顯示他人公開的內容
cmdp f mackwang/dockerfile
// 搜索他人的所有內容, 右邊爲空便可
cmdp s mackwang/
複製代碼

下載單個文件

cmdp pull KEYWORD [pull,l,pl,P]
// 示例
cmdp l dockerfile
// 下載他人的單個文件
cmdp l tom/dockerfile
默認會下載到當前目錄
複製代碼

僅打印文件內容,不下載

cmdp l dockerfile -p
複製代碼

執行單個文件命令

cmdp exec KEYWORD [exec,e]
// 示例
// 執行本身建立的單個文件命令(單個文件內容得是可執行命令),注意添加--file,-f參數,默認是執行單行文本命令
cmdp e dockerMysql -f
// 執行他人建立的單個文件命令,注意,由於執行他人命令是一件很是危險的事情,因此默認只是顯示單個文件的文本,若想執行,須要添加--force,-F參數
// 只有他人公開的文件纔可下載或執行
cmdp e tom/dockerMysql -f --force
複製代碼

刪除單個文件

先查找,後根據結尾顯示的id進行刪除

cmdp remvoe ID [remove,r]
cmdp r 14
複製代碼

關注或收藏他人(其餘用戶,組織,官方帳號)

cmdp star USERNAME
// 示例
cmdp star mackwang
複製代碼

顯示全部的關注或收藏列表

// 不添加任務參數,就會顯示全部已關注或收藏的列表
cmdp star
複製代碼

取消關注

先找到該關注的id,再取消
cmdp star -d ID
// 示例
cmdp start -d 12
複製代碼

快速升級cmdp到最新版本

cmdp update
複製代碼
相關文章
相關標籤/搜索