在這裡推薦10款強大的命令行工具和6款虛擬終端軟體,文末有「驚喜」。

專註Python、AI、大數據 @七步編程


命令行工具

1.跳轉神器:autojump

為什麼第一名給了autojump?因為實在太實用了,我們在Linux下開發時會頻繁的切換工作目錄,要一步一步的cd,pwd實在太麻煩了,autojump通過衛華命令行中使用最多的目錄並給定相應權重的數據塊來進行工作,不需要完全輸入目錄名,甚至輸錯目錄名都沒問題。

使用方法:

跳轉到包含foo的路徑只需下面這個命令即可,autojump會通過維護的資料庫進行跳轉,

j foo

wting/autojump?

github.com圖標

2.終端記錄器:script

很多時候,為了安全,需要對工作內容進行備份和保存。而script就是一個隱藏的記錄器,它可以記錄終端會話的所有內容,形成文件,對總是忘記工作內容的同學真是福音。

使用方法:

在終端輸入script,

$ script

會顯示:

Script started, file is typescript

接著可以開始自己的操作,想退出輸入exit即可,當前目錄下會生成一個名為trypescript的文件,裡面記錄了剛才的操作。

3.標記語言轉換工具:Pandoc

這是一個強大的命令行標記語言轉換工具,可以輕鬆把LaTeX、markdown、html等幾十種文檔格式轉化成其他格式。

使用方法:

pandoc test1.md -f markdown -t html -s -o test1.html
pandoc -s --toc -c pandoc.css -A footer.html MANUAL.txt -o example3.html

jgm/pandoc?

github.com圖標

4.樹形目錄:tree

剛接觸非桌面Linux的同學大多數會感覺Linux沒有Windows或Mac那麼直觀,的確,我們面對的就是一行行命令,文件夾、應用圖標什麼的都沒有,自然不直觀。但是可以藉助一些工具來增強目錄的直觀性,這裡推薦的就是tree,可以以類似於圖像的樹狀圖排列目錄和文件。

# tree #以樹狀圖列出當前目錄結構
. #當前目錄結構
|-- README
|-- examples.desktop
|-- file
|-- file.new
|-- index.htm
|-- test
| |-- README
| |-- file
| |-- testfile
| |-- testfile1

5.命令手冊:tldr

用Linux的過程中難免會和各種參數打交道,距離比如ps -aux、tar -jxvf、find -name,每個"-"後面的就是各種命令參數,大家比較熟悉的查看命令解釋的方法有"command ?" "man command",就是命令後面加?或者man加命令。以man為例,解釋很詳細,但是帶來的問題就是冗餘,有很多信息是我們不想看到的,所以tldr就凸顯出它的優點,簡潔、實用。

tldr-pages/tldr?

github.com圖標

6.git替代工具:tig

Tig是一個基於ncurses的git文本模式介面。它的功能主要是作為一個Git存儲庫瀏覽器,但也可以幫助在塊級別上分段提交更改,並充當各種Git命令輸出的分頁器。

jonas/tig?

github.com圖標

7.代碼統計工具:cloc

cloc計算許多編程語言中源代碼的空行、注釋行等。

AlDanial/cloc?

github.com圖標

8.視頻下載工具:you-get

You-Get是一個很小的命令行實用程序,用於從Web下載媒體內容(視頻、音頻、圖像),支持YouTube、嗶哩嗶哩、愛奇藝、央視、芒果TV、騰訊視頻、秒拍、抖音、快手、網易等幾十種網站視頻下載。同時,you-get還可以把視頻導入到自己的播放器進行播放。

$ you-get https://www.youtube.com/watch?v=jNQXAC9IVRw
site: YouTube
title: Me at the zoo
stream:
- itag: 43
container: webm
quality: medium
size: 0.5 MiB (564215 bytes)
# download-with: you-get --itag=43 [URL]

Downloading Me at the zoo.webm ...
100% ( 0.5/ 0.5MB) ├██████████████████████████████████┤[1/1] 6 MB/s

Saving Me at the zoo.en.srt ... Done.

此外,如果你不想下載視頻,還可以選擇指定播放器在線播放,這樣和網頁端有什麼區別?可以去廣告!而且緩衝速度非常快!

you-get -p vlc https://www.youtube.com/watch?v=jNQXAC9IVRw

舉個例子,以youku為例,這個視頻需要觀看75秒廣告,

本地應用打開能直接觀看。

soimort/you-get?

github.com

9.命令行糾錯工具:the fuck

這是一款控制檯命令糾錯工具。

nvbn/thefuck?

github.com圖標

10.分屏文檔對照:icdiff

對比兩個文檔的差異性常用的就是diff file1 file2,這樣可視化效果較差,icdiff可以分屏對比icdiff,直觀效果更好。

jeffkaufman/icdiff?

github.com圖標

虛擬終端工具

1.命令行工具:cmder

推薦理由:全面的linux命令、好看的界面和字體

習慣於用linux的同學可能會有一種感受,當用過了命令和鍵盤操作,突然回到windows下感覺cmd和powershell命令很差勁,而且界面很醜陋,這裡給大家推薦一款cmder,常用的linux命令都有,而且集成的有git、putty等。

http://cmder.net/?

cmder.net

2.全能終端神器:mobaxterm

推薦理由:全能

可能有的人喜歡用putty遠程伺服器,我更喜歡用mobaxterm,支持SFTP文件傳輸、支持xserver,能夠彈出伺服器窗口,支持宏錄製等等,全面而強大。

MobaXterm free Xserver and tabbed SSH client for Windows?

mobaxterm.mobatek.net圖標

3.強大的安全終端模擬軟體:Xshell

推薦理由:功能全面,操作流程

它支持SSH1, SSH2, 以及Microsoft Windows 平臺的TELNET 協議,Xshell可以在Windows界面下用來訪問遠端不同系統下的伺服器,從而比較好的達到遠程控制終端的目的。除此之外,其還有豐富的外觀配色方案以及樣式選擇。

https://xshell.en.softonic.com/?ex=DSK-1262.7?

xshell.en.softonic.com

4.分散式版本控制系統:Git Bash

推薦理由:分散式版本控制

經常用到github之類的版本控制的可以選擇Git Bash,它不僅支持Git各種命令,而且經過適當的調整配色,也可以作為一個終端命令行工具。

Git for Windows?

gitforwindows.org圖標

5.輕量終端神器:putty

推薦理由:輕量、便捷

PuTTY是一款集成虛擬終端、系統控制檯和網路文件傳輸為一體的自由及開放源代碼的程序。它支持多種網路協議,包括SCP,SSH,Telnet,rlogin和原始的套接字連接。它也可以連接到串列埠。

a free SSH and telnet client for Windows?

www.putty.org

6.簡介強大的命令行神器:ConEmu

推薦理由:集成、全面

小巧而簡潔,但不失強大的功能,可以更換字體、縮放字體、更改背景色或背景圖片、設置透明度、複製+粘貼。

ConEmu?

www.fosshub.com圖標

更多我的作品

Jackpop:有哪些堪稱「神器」,卻鮮為人知的APP?

Jackpop:Windows 下有什麼用過之後就離不開的冷門軟體?

Jackpop:你讀過哪些令你有跪感的書?

Jackpop:你的研究生導師是什麼樣的?


重要通知:

域名變更為:d.supjohn.com 了, v2en.co 以後就棄用了。伺服器搬美國去了,可能速度下降了一些,請見諒。

原回答裏所有用到 v2en.co 這個域名的地方都請替換為 d.supjohn.com 哈,如果用 bash script 就方便很多了,把腳本里的域名改一下就可以。快捷操作依然可行。

HTTPS 也保持了,各位放心使用。

------ 以下為原回答 -------

工程師裝逼必備,命令行查單詞:

$ curl v2en.co/cool
╔══════════════════════════════════
║ _____ ____ ____ _
║ / ____| / __ / __ | |
║ | | | | | || | | || |
║ | | | | | || | | || |
║ | |____ | |__| || |__| || |____
║ \_____| \____/ \____/ |______|

║──────────────────────────────────
║ ku:l(英)| kul(美)
║──────────────────────────────────
║ cooled(過去式)| cooled(過去分詞)| cooling(現在分詞)
║ cools(第三人稱單數)
║ cooler(更)| coolest(最)
║──────────────────────────────────
║ adj. 冷靜的、涼爽的、一流的、孤傲冷漠的
║ vt. vi. (使)變涼、(使)冷靜,使冷卻、變涼,冷卻、平息
║ n. 涼氣,涼快的地方、涼爽,涼爽的空氣
║──────────────────────────────────
║ Try curl v2en.co/:help for more commands.
╚══════════════════════════════════

查中文:

$ curl v2en.co/涼爽的
╔══════════════════════════════════
║ 涼爽的
║──────────────────────────────────
║ 解釋:
║ cool、pleasantly cool
║──────────────────────────────────
║ Try curl v2en.co/:help for more commands.
╚══════════════════════════════════

查英文片語:

$ curl v2en.co/cool%20down
╔═════════════════════════════════════════════
║ _____ ____ ____ _ _____ ____ __ __ _ _
║ / ____| / __ / __ | | | __ / __ / /| | |
║ | | | | | || | | || | | | | || | | | / / / | | |
║ | | | | | || | | || | | | | || | | | / / / | . ` |
║ | |____ | |__| || |__| || |____ | |__| || |__| | / / | | |
║ \_____| \____/ \____/ |______| |_____/ \____/ / / |_| \_|

║─────────────────────────────────────────────
║ 發音:
║ ku:l daun(英)| kul da?n(美)
║─────────────────────────────────────────────
║ 解釋:
║ (使)變涼、冷靜下來、消氣、降溫
║─────────────────────────────────────────────
║ Try curl v2en.co/:help for more commands.
╚═════════════════════════════════════════════

原答案的 bash 和 zsh 腳本不是最佳版本,已刪除;現在顯示的是 @拆封 提供的腳本:

v2() {
declare q="$*";
curl --user-agent curl "https://v2en.co/${q// /%20}";
}

v2-sh() {
while echo -n "v2en&> ";
read -r input;
[[ -n "$input" ]];
do v2 "$input";
done;
}

v2-sh 可以直接進入交互模式,不用重複輸入 v2 前綴

現在,你可以開始裝逼了:

$ v2 cool down
╔═════════════════════════════════════════════
║ _____ ____ ____ _ _____ ____ __ __ _ _
║ / ____| / __ / __ | | | __ / __ / /| | |
║ | | | | | || | | || | | | | || | | | / / / | | |
║ | | | | | || | | || | | | | || | | | / / / | . ` |
║ | |____ | |__| || |__| || |____ | |__| || |__| | / / | | |
║ \_____| \____/ \____/ |______| |_____/ \____/ / / |_| \_|

║─────────────────────────────────────────────
║ 發音:
║ ku:l daun(英)| kul da?n(美)
║─────────────────────────────────────────────
║ 解釋:
║ (使)變涼、冷靜下來、消氣、降溫
║─────────────────────────────────────────────
║ Try curl v2en.co/:help for more commands.
╚═════════════════════════════════════════════

$ v2-sh
v2en&> cool down
╔═════════════════════════════════════════════
║ _____ ____ ____ _ _____ ____ __ __ _ _
║ / ____| / __ / __ | | | __ / __ / /| | |
║ | | | | | || | | || | | | | || | | | / / / | | |
║ | | | | | || | | || | | | | || | | | / / / | . ` |
║ | |____ | |__| || |__| || |____ | |__| || |__| | / / | | |
║ \_____| \____/ \____/ |______| |_____/ \____/ / / |_| \_|

║─────────────────────────────────────────────
║ 發音:
║ ku:l daun(英)| kul da?n(美)
║─────────────────────────────────────────────
║ 解釋:
║ (使)變涼、冷靜下來、消氣、降溫
║─────────────────────────────────────────────
║ Try curl v2en.co/:help for more commands.
╚═════════════════════════════════════════════
v2en&> niubility
╔═════════════════════════════════════════════
║ _ _ _____ _ _ ____ _____ _ _____ _______ __ __
║ | | ||_ _|| | | || _ |_ _|| | |_ _||__ __| / /
║ | | | | | | | | || |_) | | | | | | | | | \_/ /
║ | . ` | | | | | | || _ &< | | | | | | | | / ║ | | | _| |_ | |__| || |_) | _| |_ | |____ _| |_ | | | | ║ |_| \_||_____| \____/ |____/ |_____||______||_____| |_| |_| ║ ║───────────────────────────────────────────── ║ 解釋: ║ 牛逼;牛B ║───────────────────────────────────────────── ║ Try curl v2en.co/:help for more commands. ╚═════════════════════════════════════════════

好玩不忘點贊擴散哇!


以下命令可以看到更多的功能

$ v2 :help

Enjoy~


推薦幾個堪稱神器的命令行軟體,記得看完哈,越到後面越精彩!

  1. WordGrinder:它是一款使用起來很簡單,但擁有足夠的編寫和發布功能的文字編輯器。它支持基本的格式和樣式,並且你可以將你的文字以 Markdown、ODT、LaTeX 或者 HTML 等格式導出;

2. Proselint:它是一款全能的實時檢查工具。它會找出行話、大話、不正確日期和時間格式、濫用的術語等等。它也很容易運行並忽略文本中的標記;

3. GNU Aspell:它能夠互動式地檢測文本文檔,能高亮顯示拼寫錯誤,還能在拼寫錯誤的上方提供正確的拼寫建議。Aspell 在進行拼寫檢查的時候,同樣能夠忽略許多語法標記;

4. tldr:你能通過這個工具,快速查看查看各種命令的常用命令行例子:

5. Alex:它是一個簡單但很有用的小工具。適用於明文文本或者格式為 Markdown 或 HTML 的文檔。Alex 會對「性別偏好、極端主義、種族相關、宗教,或者文章中其他不平等的措辭」產生警告。如果你想要試試看 Alex,這裡有一個在線 demo;

6. nmon:它能夠幫你進行電腦的性能監控,包括 CPU,內存,磁碟 IO,網路 IO,並且界面很炫酷,是不是很像黑客,快去試試吧 nmon for Linux | Main

7. axel:多線程斷點下載工具,非常好用。例如下圖中這樣,指定了 8 個線程同時下載。

8. SpaceVim:這是一個 vim 插件,使你的 Vim 變成帶代碼自動補全等功能的更加強大的代碼編輯器!

9. thefuck:你 git branch 打成 branch 了,然後命令行報錯,你是不是心裡會冒出一句 fuck?那你就在命令行裏輸入 fuck 然後回車!咦,成功了!

apt-get update 打成 aptget update 報錯?輸入 fuck 然後回車!就解決了!爽吧哈哈哈

我的其他相關回答:

  • 什麼能力很重要,但大多數人卻沒有?
  • 程序員如何用專業技術來表白?
  • 程序員最大的悲哀是什麼?
  • 有哪些命令行的軟體堪稱神器?
  • 為什麼祖傳代碼被稱為屎山?
  • 有哪些新手程序員不知道的小技巧?
  • 程序員如何用專業來表白?
  • 程序員如何高效讀代碼?
  • 學習編程照著別人的代碼敲進去有效率嗎?
  • 程序員如何心平氣和的坐在電腦面前長時間寫代碼?


熟練使用命令行,是成為一個老司機必備的技能。

這裡有一份入門進階指南,名字叫「命令行的藝術」,在GitHub收穫了5萬標星

技巧覆蓋面廣,且富含具體的例子。主要為Linux所寫,卻也有Mac和Windows的專用章節。

項目作者Joshua Levy說:

文章並不長,但當你掌握這裡列出的所有技巧時,你就學會很多關於命令行的東西了。

他還說了:

這份資源不僅能幫助剛接觸命令行的新手,對有經驗的人也大有裨益。

從誕生之初到今天,項目被翻成了16種語言。就是說,如果感覺中文有翻譯腔,可以回去看英文原版 (手動狗頭) 。

那麼,先來觀察一下,老司機是怎樣煉成的。

基礎篇 日常篇

這份資源主要專註在互動式 Bash,但也有許多技巧可以用在其他shell和普通Bash腳本里。

基礎篇

所以,萌新就從Bash的基礎知識開始學習。然後:

要熟悉一種基於文本的編輯器;學會用man命令閱讀文檔。

還有,用apropos查找文檔。要知道有些命令不對應可執行文件,而是Bash內置好的。可以用help和help-d來獲得幫助信息。另外,要學會用&>和&……

包括Bash中的任務管理工具,文件管理工具,網路管理工具等等,都要在這一篇裏熟絡起來。

此篇共分12條技能,算是比較短的一篇了。

基礎打好之後,進入:

日常使用篇

顧名思義,這裡實現的是一些日常技巧。

比如,為了方便長命令的編輯,用ctrl-x ctrl-e打開一個編輯器,來輸入當前正編輯的命令;

比如,用xargs (或parallel)。這個非常給力。你可以控制每行的參數個數 (-L) 和最大並行數 (-P) 。如果不確定它會不會照你想的做,就先用xargs echo查一下。另外,用-I{}也很方便。比如,對ssh設置做些小優化可能很有用,比如這個~/.ssh/config文件包含了防止特定網路環境下連接斷開、壓縮數據、多通道等選項:

1TCPKeepAlive=yes
2 ServerAliveInterval=15
3 ServerAliveCountMax=6
4 Compression=yes
5 ControlMaster auto
6 ControlPath /tmp/%r@%h:%p
7 ControlPersist yes

注意,日常部分有44條技能。請君堅持修鍊完成,然後前往下一章節。

各類專門技巧

首先,是文件及數據處理技能,一共33條:

比如,用ag在源代碼或數據文件裏檢索 (grep -r 同樣可以做到,但相比之下 ag 更加先進) 。

比如,將HTML 轉為文本:lynx -dump -stdin。比如,當你要處理棘手的 XML 時候,xmlstarlet 算是上古流傳下來的神器了。……

後面還有系統調試技巧20條,和單行腳本技巧7條 (每條都有例子) 。

以及別忘了,冷門但有用的工具,是一個大大大大大列表。

至此,各種技巧已分類仔細,就算是老司機也可以按照自己的需要,找到一些好用的方法了。

還有更多

學到這裡,Linux用戶可能已經喫飽了。

項目裏還有Mac的專用技巧,以及Windows的專用技巧,決定先不詳述,大家可以自行探索。

最後,作者毫不吝惜地列舉了其他人類出品的各種命令行指南:

各路資源排山倒海向你湧來,再不學習可能就要被淹了。

傳送門:

https://github.com/jlevy/the-art-of-command-line/blob/master/README-zh.md

量子位 · QbitAI?? ? 追蹤AI技術和產品新動態量子位?

www.zhihu.com圖標

歡迎大家關注我們,以及訂閱我們的知乎專欄


awk 沒有之一
推薦閱讀:
相關文章