Shell腳本命令文件跨平臺(tái)收藏、搜索和同步【推薦工具cmdp】

官方網(wǎng)站 | 使用文檔 | 用戶排名 |

歡迎到官方網(wǎng)站上查看官方推薦、用戶排名、個(gè)人中心 可以快速查看他人和自己的命令或文件,以及可視化創(chuàng)建命令及文件。

一、安裝

方式1:支持各平臺(tái)直接下載使用

mac | windows |linux64 | linux32

方式2:支持go安裝

go get github.com/yurencloud/cmdp

方式3:支持shell腳本一鍵安裝(僅限linux平臺(tái))

wget https://github.com/yurencloud/cmdp/releases/download/v3.0.0/cmdp.linux.v3.0.0.tar.gz && tar -zxvf cmdp.linux.v3.0.0.tar.gz && rm -rf cmdp.linux.v3.0.0.tar.gz && chmod +x cmdp && mv cmdp /bin/cmdp && cmdp version && echo "install success"

NEW已經(jīng)公開cmdp服務(wù)端程序,允許自行搭建cmdp服務(wù)端

包含cmdp服務(wù)端的接口文檔和搭建教程

cmdp服務(wù)端搭建教程

二、快速使用

搜索自己收藏的所有和mysql相關(guān)的shell命令或腳本文件全文模糊搜索

cmdp s mysql
*** 輸出 ***
docker exec -it mysql bash |  docker進(jìn)入mysql容器 private id:9
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD={{password}} -d mysql | docker-mysql docker快速創(chuàng)建mysql容器 public id:120
...

快速執(zhí)行創(chuàng)建docker mysql 容器命令

cmdp e docker-mysql
# 相當(dāng)于執(zhí)行 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD={{password}} -d mysql

支持參數(shù)替換

cmdp e docker-mysql 123456
# 或 cmdp e docker-mysql password=123456
# 相當(dāng)于執(zhí)行 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

支持執(zhí)行他人公開的命令

cmdp e someone/docker-mysql

支持上傳和下載腳本文件

cmdp p updateYumToAliyun.sh yum "快速切換yum源為阿里云源腳本"
cmdp l yum # 下載

支持執(zhí)行遠(yuǎn)程腳本文件

cmdp e yum -f
cmdp e someone/yum -f -F # 執(zhí)行他人的公開的腳本文件
# 相當(dāng)于直接執(zhí)行遠(yuǎn)程的 updateYumToAliyun.sh 腳本文件

其他特性

  • 支持關(guān)注他人
  • 支持fork他人命令或文件
  • 支持多平臺(tái)登錄
  • 支持遠(yuǎn)程同步命令
  • 支持模糊搜索
  • 支持循環(huán)嵌套支持命令
  • 更多特性見下文...
demo

二、詳細(xì)文檔

$ cmdp help
NAME:
   cmdp - A new cli application

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

VERSION:
   3.0.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
     forkcmd, fc     fork command, code, account, text, etc.
     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
     forkfile, ff    fork file.
     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下也差不多

注冊(cè)

cmdp register USERNAME PASSWORD

注冊(cè)后自動(dòng)在HOME目錄下生成.cmdp/.cmdp_token文件,請(qǐng)不要?jiǎng)h除,token有效期1年

登錄

若已經(jīng)注冊(cè),或切換登錄,或token過期,或token刪除,請(qǐng)使用登錄功能,會(huì)生成新的token

cmdp login USERNAME PASSWORD

修改用戶簡(jiǎn)介

他人關(guān)注你時(shí),簡(jiǎn)介會(huì)顯示在他的關(guān)注列表

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

修改用戶登錄密碼

cmdp reset NEW_PASSWORD
cmdp reset 654321

搜索已經(jīng)注冊(cè)的所有用戶!!

搜索結(jié)果按star,cmds,files數(shù)量依次排序

其中cmds,files僅統(tǒng)計(jì)公開的數(shù)量

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

// 搜索所有用戶
cmdp u

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

// 搜索指定用戶名的用戶,比如cmdp作者mackwang
cmdp u mackwang
image

搜索這些用戶干什么用呢?

比如你想獲取大量和docker有關(guān)的命令或文件

你就可以先搜索

cmdp u docker

然后根據(jù)排名,關(guān)注第一個(gè)用戶,例如叫mackwang

cmdp star mackwang

然后查看他的所有的cmds和files,這樣你就可以直接使用他的所有公開的命令或文件啦

// 注意,/符號(hào)不能少,符號(hào)左邊是用戶名,符號(hào)右邊是關(guān)鍵詞,留空時(shí),默認(rèn)搜索全部
cmdp s mackwang/
cmdp f mackwang/

其他參數(shù)

--page,-p 設(shè)置頁數(shù)

--size,-s 設(shè)置每頁顯示條數(shù),默認(rèn)20

--all,-a 顯示全部

添加命令

cmdp create CONTENT KEYWORD(可選) COMMENT(可選) [create,c]
//示例
cmdp c "docker start mysql"
cmdp c "docker start mysql" dockerMysql "使用docker啟動(dòng)mysql容器"

安全:你創(chuàng)建的所有東西,默認(rèn)都是隱私的,保密的,只有你可見,若想公開,可以添加--public,-p參數(shù)

cmdp c "docker start mysql" -p

搜索命令

cmdp search CONTENT [search,s]
//示例
cmdp s docker

顯示結(jié)果,彩色

docker start mysql |  使用docker啟動(dòng)mysql容器 id:2
mysql -uroot -p |    docker登入mysql id:31
total:2, size:20, page:1/1

其他參數(shù)

--page,-p 設(shè)置頁數(shù)
--size,-s 設(shè)置每頁顯示條數(shù),默認(rèn)20
--all,-a 顯示全部

搜索他人的命令

// CONTENT中如果包含"/"符號(hào)的,左邊為他人用戶名,右邊為搜索內(nèi)容
// 只會(huì)顯示他人公開的內(nèi)容
cmdp s mackwang/docker
// 搜索他人的全部?jī)?nèi)容, 右邊為空即可
cmdp s mackwang/

執(zhí)行命令

cmdp exec KEYWORD [exec,e]
// 示例
// 執(zhí)行自己創(chuàng)建的命令
cmdp e dockerMysql
// 執(zhí)行他人創(chuàng)建的命令,注意,因?yàn)閳?zhí)行他人命令是一件非常危險(xiǎn)的事情,所以默認(rèn)只是顯示文本,若想執(zhí)行,需要添加--force,-F參數(shù)
// 只有他人公開的內(nèi)容,你才可見 [--force,-F]
cmdp e tom/dockerMysql --force

添加占位參數(shù)

{{PARAM_NAME}}
# docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD={{password}} -d mysql
# mysql -u{{username}} -p{{password}}

執(zhí)行命令時(shí)使用占位參數(shù)

// 如果mysql命令是mysql -u{{username}} -p{{password}}

cmdp e mysql root 123456
cmdp e mysql root password=123456
cmdp e mysql username=root password=123456
# 具名參數(shù)優(yōu)先替換,然后匿名參數(shù)依次替換

刪除命令

先查詢,后根據(jù)結(jié)尾顯示的id進(jìn)行刪除

cmdp delete ID
cmdp d 14

上傳單個(gè)文件

cmdp push PATH KEYWORD(可選) COMMENT(可選) [push,p]
//示例
// 若不寫keyword,默認(rèn)keyword為文件名
cmdp p test.sh
cmdp p test.sh test "快速單元測(cè)試"

安全:你創(chuàng)建的所有東西,默認(rèn)都是隱私的,保密的,只有你可見,若想公開,可以添加--public,-p參數(shù)

cmdp p test.sh -p

查找單個(gè)文件

cmdp find CONTENT [find,f]
//示例
cmdp f dockerfile

顯示結(jié)果,彩色

dockerfile start mysql |  使用docker啟動(dòng)mysql容器 id:2
mysql -uroot -p |    docker登入mysql id:31
total:2, size:20, page:1/1

其他參數(shù)

--page,-p 設(shè)置頁數(shù)
--size,-s 設(shè)置每頁顯示條數(shù),默認(rèn)20
--all,-a 顯示全部

查找他人的單個(gè)文件

// CONTENT中如果包含"/"符號(hào)的,左邊為他人用戶名,右邊為搜索內(nèi)容
// 只會(huì)顯示他人公開的內(nèi)容
cmdp f mackwang/dockerfile
// 搜索他人的全部?jī)?nèi)容, 右邊為空即可
cmdp s mackwang/

下載單個(gè)文件

cmdp pull KEYWORD [pull,l,pl,P]
// 示例
cmdp l dockerfile
// 下載他人的單個(gè)文件
cmdp l tom/dockerfile
默認(rèn)會(huì)下載到當(dāng)前目錄

僅打印文件內(nèi)容,不下載

cmdp l dockerfile -p

執(zhí)行單個(gè)文件命令

cmdp exec KEYWORD [exec,e]
// 示例
// 執(zhí)行自己創(chuàng)建的單個(gè)文件命令(單個(gè)文件內(nèi)容得是可執(zhí)行命令),注意添加--file,-f參數(shù),默認(rèn)是執(zhí)行單行文本命令
cmdp e dockerMysql -f
// 執(zhí)行他人創(chuàng)建的單個(gè)文件命令,注意,因?yàn)閳?zhí)行他人命令是一件非常危險(xiǎn)的事情,所以默認(rèn)只是顯示單個(gè)文件的文本,若想執(zhí)行,需要添加--force,-F參數(shù)
// 只有他人公開的文件才可下載或執(zhí)行
cmdp e tom/dockerMysql -f --force

單個(gè)文件添加占位參數(shù)(添加方式和命令一樣)

{{PARAM_NAME}}
# docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD={{password}} -d mysql
# mysql -u{{username}} -p{{password}}

刪除單個(gè)文件

先查找,后根據(jù)結(jié)尾顯示的id進(jìn)行刪除

cmdp remvoe ID [remove,r]
cmdp r 14

關(guān)注或收藏他人(其他用戶,組織,官方賬號(hào))

cmdp star USERNAME
// 示例
cmdp star mackwang

fork他人的命令

fork是復(fù)制拷貝,所以即使他人刪除此命令,你fork的命令仍然在。

cmdp forkcmd USERNAME/KEYWORD [forkcmd,fc]
// 示例
cmdp forkcmd mackwang/mysql
cmdp fc mackwang/mysql

fork他人的文件

fork是復(fù)制拷貝,所以即使他人刪除此文件,你fork的文件仍然在。

cmdp forkfile USERNAME/KEYWORD [forkfile,ff]
// 示例
cmdp forkfile mackwang/mysql.sh
cmdp ff mackwang/mysql.sh

顯示所有的關(guān)注或收藏列表

// 不添加任務(wù)參數(shù),就會(huì)顯示所有已關(guān)注或收藏的列表
cmdp star

取消關(guān)注

先找到該關(guān)注的id,再取消
cmdp star -d ID
// 示例
cmdp start -d 12

快速升級(jí)cmdp到最新版本

cmdp update

三、簡(jiǎn)介

cmdp相當(dāng)于git中的一個(gè)小功能,可以可以搜索,記錄,提交,上傳,下載,執(zhí)行自己的或他人的1行文字,或者1個(gè)文件

cmdp相當(dāng)于wget,可以下載1個(gè)文件,可以通過關(guān)鍵詞,下載1個(gè)文件

cmdp相當(dāng)于alias,可以記錄大量的命令別名,遠(yuǎn)程同步,只要登錄cmdp賬號(hào),就可以使用和執(zhí)行自己或他人的命令別名

cmdp相當(dāng)于man,可以制作和查看各種語言的help

cmdp相當(dāng)于小云盤,可以儲(chǔ)存1行文字或1個(gè)文件

四、功能

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

五、使用場(chǎng)景

如果你也經(jīng)常遇到下述場(chǎng)景,那么cmdp,就可以幫助你快速解決此類問題,并且會(huì)成為你經(jīng)常使用的一個(gè)命令行工具!

命令行參數(shù)太多,太難記,平??赡軙?huì)為了1條命令,新建一個(gè)筆記,來記錄,查詢麻煩。

// 快速創(chuàng)建筆記,并自己上傳此命令到你的賬號(hào)中
cmdp c "docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=secret -d mysql" mysql

// 搜索和mysql相關(guān)的所有命令
cmdp s mysql

// 快速執(zhí)行
// 相當(dāng)于執(zhí)行了docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=secret -d mysql
cmdp e mysql

// 如果自己不想創(chuàng)建筆記,可以直接搜索或者立即執(zhí)行官方或其他大神創(chuàng)建的筆記
cmdp s docker/mysql
cmdp s dashen/mysql
cmdp e docker/mysql 
cmdp e dashen/mysql

經(jīng)常要在云盤或筆記中收藏各種shell腳本,bash命令,沒有地方快速收藏,快速執(zhí)行。

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

// 搜索所有和mysql相關(guān)的我的文件
cmdp f mysql

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

// 如果自己不想上傳文件,可以直接搜索或者下載或者立即執(zhí)行官方或其他dashen上傳的文件
cmdp s office/a.sh

雖然linux有ctrl+R查詢,但對(duì)于經(jīng)常創(chuàng)建linux系統(tǒng),使用不同的服務(wù)器,不同的電腦的人來說,命令提示不能同步到所有電腦。

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

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

// 搜索自己創(chuàng)建的docker命令
cmdp s docker

docker創(chuàng)建容器的命令太長,規(guī)則太多。經(jīng)常需要在筆記中記錄如何創(chuàng)建,或者記錄下命令。

// 搜索自己創(chuàng)建并記錄的所有和docker相關(guān)的命令
cmdp s docker
// 直接執(zhí)行命令,創(chuàng)建mysql容器
cmdp e dockerMysql

Dockerfile,docker-compose.yaml等容器配置文件,如果想多臺(tái)電腦通用,總是得收藏,或放到云盤,或多臺(tái)電腦同步文件

// 下載java spring服務(wù)器容器的Dockerfile
cmdp l java
// 下載官方或dashen上傳的java spring服務(wù)器容器的Dockerfile
cmdp l office/java
cmdp l dashen/java

Vagrantfile容器文件經(jīng)常要放到自己的云盤

// 下載適用windows的hyperV專用的centos7的Vagrantfile
// 并啟動(dòng)容器
cmdp l centos7 && vagrant up

.gitignore.npmignore,package.json,各種config文件,經(jīng)常要復(fù)制,粘貼

// 下載自己的.gitgnore文件
cmdp l .git

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

經(jīng)常要分享同一個(gè)文件,配置文件給不同的同事或合作伙伴。

cmdp l xiaoming/config.json

等等

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,203評(píng)論 3 119
  • 在消費(fèi)時(shí)代,人們是用產(chǎn)品來定義自己的,選擇不一樣產(chǎn)品體現(xiàn)不一樣的能力、修養(yǎng)和地位。當(dāng)人們的生活普遍提高,消費(fèi)的門檻...
    人居環(huán)境學(xué)設(shè)計(jì)閱讀 286評(píng)論 0 0
  • 憶己之旅星際瑪雅圣殿調(diào)頻 9-Day6 2018年1月1日 周一 Kin223 藍(lán)色月亮的夜 關(guān)鍵詞:體驗(yàn)極致的喜...
    藍(lán)天白云晴閱讀 171評(píng)論 0 0
  • 漸漸會(huì)忘了曾許下第一個(gè)愿望 那個(gè)最初的最真的 最自由的愿望 于是會(huì)孤單于是想看一看大海 看一看最初的最真的最自...
    屬于你的我閱讀 334評(píng)論 1 2
  • 在微信上輸入想說的話卻不發(fā)給你,只希望你看到一直在顯示對(duì)方正在輸入時(shí),能懂我在等你
    流云1999閱讀 137評(píng)論 0 0

友情鏈接更多精彩內(nèi)容