我的生產力工具推薦-終端01篇


俗話說工欲善其事,必先利其器。從本文開始,在分享技術文章的同時,打算加入一個新的主題,關於我的辦公(個人)電腦(生產力工具)的相關配置分享

希望能幫到大家~

1、關於電腦

如果你和我從事一樣的職業(such as a developers or about Linux),如果電腦是你的另一半,而且還在使用Windows的話,強烈建議嘗試使用類Unix系統,主要有以下三個途徑(來自我的親測經歷)

a、給自己的電腦安裝DeepinUbuntu等桌面版Linux操作系統,缺點是安裝操作系統后,相關應用的軟件包很少很難找

b、攢cuán一台配置稍好點的主機,安裝黑蘋果,缺點是驅動問題很難解決。就算安裝好了,一旦系統升級或因為某些原因導致諸多驅動不可用

c、攢zǎn錢換一台Mac,時至今日,Mac的價格其實也不貴,得益於其強大的操作系統、生態周邊以及應用商店,從我個人使用來看,帶給我的 “快樂” 比Windows不要太多

大四實習的那一年里,終於攢錢換上了夢寐以求的MBP,作為人生的第二台電腦,得到的那一刻無比興奮,可能這就是一個對電子產品無比熱愛的男孩的快樂吧~

我的電腦型號是MacBook Pro (15-inch, 2018)(A1990)

除此外還淘有一台Mac mini (Late 2012)

電腦細節我就不多做介紹了,回歸正題,還是講講如何優化電腦各種配置

2、終端介紹

作為一個長期使用終端(依賴患者)的 “工具” 人,擁有一個強大的終端工具是很有必要的,和linux操作系統的軟件包管理工具yumdebapt一樣,在Mac上用的最為普遍的是Homebrew,其次還有python的包管理工具pip,除了自帶的終端外,終端軟件可以選擇iTerm2SecureCRTRoyal TSXTermius等等,我用的較多的終端軟件是iTerm2SecureCRT,關於包管理工具Homebrewpip的安裝使用和終端軟件iTerm2的使用配置技巧這里也就不多介紹了,網絡上有很多很多文章供參考

3、終端工具推薦

到這里才是本文的正題,用上了方便的Homebrew以及配置酷炫的iTerm2后,可以借助以下增強工具來提高生產力,部分終端工具同樣可以安裝在服務器Linux操作系統上

3.1 fzf-模糊查找

fzf可以用來查找任何列表內容、文件、歷史命令、本機綁定的host、進程、Git分支、進程等。所有的命令行工具可以生成列表輸出的都可以再通過管道pipefzf上進行搜索和查找

安裝命令

brew install fzf

安裝完后還需要安裝鍵盤映射和模糊提示

$(brew --prefix)/opt/fzf/install

兩大用法:ctrl + t查找目錄下的條目、ctrl +r優化歷史記錄選擇

目前我使用最多的是利用其進行歷史記錄的模糊查找,比傳統的ctrl+r顯示效果更好,效果如下

3.2 autojump-快速跳轉

autojump提供了一種快速進行文件目錄導航的方式。其效果就是實現目錄間快速跳轉,想去哪個目錄直接j+ 目錄名(甚至不用輸全),不用頻繁的cd

安裝命令

brew install autojump

修改 ~/.zshrc 文件,添加到plugins配置列表並在尾部追加如下內容,配置完后source生效

plugins=(
  git
  autojump
)

...

[ -f /usr/local/etc/profile.d/autojump.sh ] && . /usr/local/etc/profile.d/autojump.sh

用法很簡單,想要跳轉到哪個目錄下直接使用j + 目錄名跳轉,甚至可以模糊輸入,前提是有通過cd進入過這個目錄,例如從任何目錄跳轉進入到git-workspace目錄下

j git-workspace
或者模糊跳轉
j git

3.3 tmate-終端遠程

這個工具可以認為是終端版本teamviewer,在有網絡的情況下遠程終端連接並監視或操作

安裝命令

brew install tmate

使用方法,例如要從A機器遠程到B機器,在B機器上安裝並運行tmate啟動

# tmate
Tip: if you wish to use tmate only for remote access, run: tmate -F                  [0/0]
To see the following messages again, run in a tmate session: tmate show-messages
Press <q> or <ctrl-c> to continue
---------------------------------------------------------------------
Connecting to ssh.tmate.io...
Note: clear your terminal before sharing readonly access
web session read only: https://tmate.io/t/ro-xmVWpRRN6GGJrR4zWLMKrSt7T
ssh session read only: ssh ro-xmVWpRRN6GGJrR4zWLMKrSt7T@sfo2.tmate.io
web session: https://tmate.io/t/3PwVRseDmXpG74X43EQG9hBYq
ssh session: ssh 3PwVRseDmXpG74X43EQG9hBYq@sfo2.tmate.io

[tmate] ssh session: ssh 3PwVRseDmXpG74X43EQG9hBYq@sfo2.tmate.io

然后在A上就可以通過上面四種方式連接到B機器:web會話和ssh會話,分為只讀和讀寫兩種

具體原理可以查看官方文檔

3.4 hadolint-對Dockerfile語法檢查

Hadolint可以幫助進行Dockerfile語法檢查,實現的是Dockerfile linter,其實現依據來自於Docker官網推薦的Dockerfile最佳實踐

安裝命令

brew install hadolint

使用

hadolint node.Dockerfile
node.Dockerfile:21 DL3007 Using latest is prone to errors if the image will ever update. Pin the version explicitly to a release tag
# 提示說鏡像的tag使用latest不是最佳的,因為一旦鏡像升級,下次再拉取的latest鏡像可能就不是當前的版本了,應該明確具體的版本號

3.5 speedtest-測網速

speedtest是一個測網速的工具,其也有圖形化工具

安裝命令

brew tap teamookla/speedtest
brew update
brew install speedtest --force

使用

# speedtest

   Speedtest by Ookla

     Server: Beijing Unicom - Beijing (id = 5145)
        ISP: China Unicom Beijing
    Latency:     3.57 ms   (0.88 ms jitter)
   Download:    93.43 Mbps (data used: 44.5 MB)
     Upload:    93.37 Mbps (data used: 42.2 MB)
Packet Loss:     0.0%
 Result URL: https://www.speedtest.net/result/c/aa6513eb-a9b3-466b-8edd-92f73c59267f

此外還有一個用python腳本實現的,項目地址https://github.com/sivel/speedtest-cli,作用同樣是測試網速,將此腳本下載並放到本地的bin目錄下添加執行權限即可使用

# speedtest-cli
Retrieving speedtest.net configuration...
Testing from China Unicom Beijing (114.246.34.169)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Beijing Broadband Network (Beijing) [1.72 km]: 4.659 ms
Testing download speed................................................................................
Download: 93.27 Mbit/s
Testing upload speed................................................................................................
Upload: 93.64 Mbit/s

3.6 glances-實時監控

類似於mac自帶的活動監視器,以客戶端/服務器端模式運行,遠程監控可以通過終端、Web接口或API(XML-RPC和RESTful)來實現。除此之外,數據還可以導出至文件或外部數據庫中。

采用Python開發,並使用了外部庫來從目標系統收集數據。該工具基於開源架構實現,開發者可以根據自己的需求來增加新的插件或導出模塊,可以監控的信息如下

  • CPU 使用率
  • 內存使用情況
  • 內核統計信息和運行隊列信息
  • 磁盤 I/O 速度、傳輸和讀/寫比率
  • 文件系統中的可用空間
  • 磁盤適配器
  • 網絡 I/O 速度、傳輸和讀/寫比率
  • 頁面空間和頁面速度
  • 消耗資源最多的進程
  • 計算機信息和系統資源

安裝命令

brew install glances

效果如下

3.7 lrzsz-終端上傳下載

lrzsz是一款在linux里可代替ftp上傳和下載的程序,可以直接在終端進行文件上傳下載,其傳輸協議是ZModem協議

安裝命令

brew install lrzsz

iTerm2上配置和使用lrzsz可以參考我之前的文章Mac下iTerm2配置lrzsz功能

3.8 neovim-增強版vim

neovim是一個增強版本的vim編輯器,其特性有異步任務和socket、內建terminal26位真彩色支持、浮動窗口等

安裝命令

brew install neovim

iTerm2上配置和使用可以參考Mac電腦iterm中配置neovim入門與實踐

4、小結

以上工具都極大提高了我日常工作和學習的效率,由於篇幅和時間關系,只列出了我對這些工具的常用用法,詳細內容可以參考工具開源地址

本文只推薦了一部分,后面有機會再繼續 ~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM