歡迎光臨
每天分享高質量文章

28個Unix/Linux的命令列神器

來自:酷 殼 – CoolShel,作者:陳皓

連結 | http://coolshell.cn/articles/7829.html

下麵是Kristóf Kovács收集的28個Unix/Linux下的28個命令列下的工具,有一些是大家熟悉的,有一些是非常有用的,有一些是不為人知的。這些工具都非常不錯,希望每個人都知道。本篇文章還在Hacker News上被討論,你可以過去看看。我以作者的原文中加入了官網連結和一些說明。


dstat & sar

iostat, vmstat, ifstat 三合一的工具,用來檢視系統效能(我在《效能調優攻略》中提到過那三個xxstat工具)。


官方網站:http://dag.wieers.com/rpm/packages/dstat/


你可以這樣使用:

alias dstat=’dstat -cdlmnpsy’


slurm

檢視網路流量的一個工具


官方網站:  Simple Linux Utility for Resource Management


vim & emacs

真正程式員的程式碼編輯器.


screen, dtach, tmux, byobu

你是不是經常需要 SSH 或者 telent 遠端登入到 Linux 伺服器?你是不是經常為一些長時間執行的任務而頭疼,比如系統備份、ftp 傳輸等等。通常情況下我們都是為每一個這樣的任務開一個遠端終端視窗,因為他們執行的時間太長了。必須等待它執行完畢,在此期間可不能關掉視窗或者斷開連線,否則這個任務就會被殺掉,一切半途而廢了。


Screen是一個可以在多個行程之間多路復用一個物理終端的視窗管理器。Screen中有會話的概念,使用者可以在一個screen會話中建立多個screen視窗,在每一個screen視窗中就像操作一個真實的telnet/SSH連線視窗那樣。請參看IBM DeveloperWorks的這篇文章《使用 screen 管理你的遠端會話》

dtach 是用來模擬screen的detach的功能的小工具,其可以讓你隨意地attach到各種會話上 。下圖為dtach+dvtm的樣子。


tmux是一個優秀的終端復用軟體,類似GNU Screen,但來自於OpenBSD,採用BSD授權。使用它最直觀的好處就是,透過一個終端登入遠端主機並執行tmux後,在其中可以開啟多個控制檯而無需再“浪費”多餘的終端來連線這臺遠端主機;當然其功能遠不止於此。與screen相比的優點:可以橫向和縱向分割視窗,且窗格可以自由移動和調整大小。可在多個緩衝區進行複製和貼上,支援跨視窗搜尋;非正常斷線後不需重新detach;……  有人說——與tmux相比,screen簡直弱爆了。


byobu是Ubuntu開發的,在Screen的基礎上進行包裝,使其更加易用的一個工具。最新的Byobu,已經是基於Tmux作為後端了。可透過“byobu-tmux”這個命令列前端來接受各種與tmux一模一樣的引數來控制它。Byobu的細節做的非常好,效果圖如下:



multitail

MultiTail是個用來實現同時監控多個檔案、類似tail命令的功能的軟體。他和tail的區別就是他會在控制臺中開啟多個視窗,這樣使同時監控多個日誌檔案成為可能。他還可以看log檔案的統計,合併log檔案,過濾log檔案,分屏,……。


官網:http://www.vanheusden.com/multitail/


tpp

終端下的PPT,要是在某某大會上用這個演示PPT,就太TMD的Geek了。


官網:http://www.ngolde.de/tpp.html


xargs & parallel

Executes tasks from input (even multithread).


xargs 是一個比較古老的命令,有簡單的並行功能,這個不說了。對於GNU parallel ( online manpage )來說,它不僅能夠處理本機上多執行緒,還能分散至遠端電腦協助處理。而使用GNU parallel前,要先確定本機有安裝GNU parallel / ssh / rsync,遠端電腦也要安裝ssh。


duplicity & rsyncrypto

Duplicity是使用rsync演演算法加密的高效率備份軟體,Duplicity支援目錄加密生產和格式上傳到遠端或本地檔案伺服器。


rsyncrypto 就是 rsync + encryption。對於rsync的演演算法可參看酷殼的rsync核心演演算法。


Encrypting backup tools.


nethack & slash’em

NetHack(Wiki),20年曆史的古老電腦遊戲。沒有聲音,沒有漂亮的介面,不過這個遊戲真的很有意思。網上有個傢伙說:如果你一生只做一件事情,那麼玩NetHack。這句話很惹眼,但也讓人覺得這個遊戲很複雜不容易上手。其實,這個遊戲很雖然很複雜,卻容易上手。雖然玩通關很難,但上手很容易。NetHack上有許多複雜的規則,”the DevTeam thinks of everything”(開發團隊想到了所有的事情)。各種各樣的怪物,各種各樣的武器….,有許多spoilers檔案來說明其規則。除了每次開始隨機生成的地圖,每次玩遊戲,你也都會碰到奇怪的事情: 因為喝了一種藥水,變成了機器人;因為踢壞了商店的門被要求高價賠償;你的狗為你偷來了商店的東西….. 這有點象人生,你不能完全瞭解這個世界,但你仍然可以選擇自己的面對方式。


網上有許多文章所這是最好的電腦遊戲或最好的電腦遊戲之一。也許是因為它開放的原始碼讓人贊賞,古老的歷史讓人寬容,複雜的規則讓人敬畏。雖然它不是當前流行的遊戲,但它比任何一個當前流行的遊戲都更有可能再經受20年的考驗。


Slash’EM 也是一個基於NetHack的經典遊戲。


lftp

利用lftp命令列ftp工具進行網站資料的增量備份,映象,就像使用rsync一樣。


ack

ack是一個perl指令碼,是grep的一個可選替換品。其可以對匹配字元有高亮顯示。是為程式員專門設計的,預設遞迴搜尋,省提供多種檔案型別供選。


calcurse & remind + wyrd

calcurse是一個命令列下的日曆和日程軟體。remind + wyrd也很類似。關於日曆,我不得不提一個Linux的Cycle日曆,也是一個神器,呵呵。


newsbeuter & rsstail

newsbeuter 和 rsstail 是命令列下RSS的閱讀工具。


powertop

做個環保的程式員,看看自己的電腦裡哪些程式費電。PowerTOP 是一個讓 Intel 平臺的膝上型電腦節省電源的 Linux 工具。此工具由 Intel 公司釋出。它可以幫助使用者找出那些耗電量大的程式,透過修複或者關閉那些應用程式或行程,從而為使用者節省電源。


htop & iotop

htop 和 iotop  用來檢視行程,記憶體和IO負載。


ttyrec & ipbt

ttyrec 是一個 tty 控制檯錄製程式,其所錄製的資料檔案可以使用與之配套的 ttyplay 播放。不管是你在 tty 中的各種操作,還是在 tty 中耳熟能詳的軟體,都可進行錄製。


ipbt 是一個用來回放 ttyrec 所錄製的控制檯輸入過程的工具。


與此類似的還有Shelr 和 termrec 


rsyn

透過SSH進行檔案同步的經典工具(核心演演算法)


mtr

MTR – traceroute 2.0,其是把 traceroute 和 ping 整合在一塊的一個小工具 用於診斷網路。


socat & netpipes

socat是一個多功能的網路工具,名字來由是” Socket CAT”,可以看作是netcat的N倍加強版。


netpipes 和socat一樣,主要是用來在命令列來進行socket操作的命令,這樣你就可以在Shell指令碼下行進socket網路通訊了。


iftop & iptraf

iftop和iptraf可以用來檢視當前網路連結的一些流量情況。


siege & tsung

Siege是一個壓力測試和評測工具,設計用於WEB開發這評估應用在壓力下的承受能力:可以根據配置對一個WEB站點進行多使用者的併發訪問,記錄每個使用者所有請求過程的相應時間,併在一定數量的併發訪問下重覆進行。


Tsung 是一個壓力測試工具,可以測試包括HTTP, WebDAV, PostgreSQL, MySQL, LDAP, and XMPP/Jabber等伺服器。針對 HTTP 測試,Tsung 支援 HTTP 1.0/1.1 ,包含一個代理樣式的會話記錄、支援 GET、POST 和 PUT 以及 DELETE 方法,支援 Cookie 和基本的 WWW 認證,同時還支援 SSL。


ledger

ledger 一個命令列下記帳的小工具。


taskwarrior

TaskWarrior 是一個基於命令列的 TODO 串列管理工具。主要功能包括:標簽、彩色表格輸出、報表和圖形、大量的命令、底層API、多使用者檔案鎖等功能。

下圖是TaskWarrior 2.0的介面:


curl

cURL是一個利用URL語法在命令列下工作的檔案傳輸工具,1997年首次發行。它支援檔案上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱cURL為下載工具。cURL還包含了用於程式開發的libcurl。cURL支援的通訊協定有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。


rtorrent & aria2

rTorrent 是一個非常簡潔、優秀、非常輕量的BT客戶端. 它使用了 ncurses 庫以 C++ 編寫, 因此它完全基於文字併在終端中執行. 將 rTorrent 用在安裝有 GNU Screen 和 Secure Shell 的低端系統上作為遠端的 BT 客戶端是非常理想的。


aria2 是 Linux 下一個不錯的高速下載工具。由於它具有分段下載引擎,所以支援從多個地址或者從一個地址的多個連線來下載同一個檔案。這樣自然就大大加快了檔案的下載速度。aria2 也具有斷點續傳功能,這使你隨時能夠恢復已經中斷的檔案下載。除了支援一般的 http(s) 和 ftp 協議外,aria2 還支援 BitTorrent 協議。這意味著,你也可以使用 aria2 來下載 torrent 檔案。


ttytter & earthquake

TTYtter 是一個Perl寫的命令列上發Twitter的工具,可以進行所有其他平臺客戶端能進行的事情,當然,支援中文。指令碼控、CLI控、終端控、Perl控的最愛。


Earthquake也是一個命令列上的Twitter客戶端。


vifm & ranger

Vifm 基於ncurses的檔案管理器,DOS風格,用鍵盤操作。

Ranger用 Python 完成,預設為使用 Vim 風格的按鍵系結,比如 hjkl(上下左右),dd(剪下),yy(複製)等等。功能很全,擴充套件/可配置性也非常不錯。類似MacOS X下Finder(檔案管理器)的多列檔案管理方式。支援多標簽頁。實時預覽文字檔案和目錄。


cowsay & sl

cowsay  不說了,如下所示,哈哈哈。還有xcowsay,你可以自己搜一搜。

 sl是什麼?ls?,呵呵,你會經常把ls 打成sl嗎?如果是的話,這個東西可以讓你娛樂一下,你會看到一輛火車呼嘯而過~~,相當拉風。你可以使用sudo apt-get install sl 安裝。

最後,再介紹一個命令中linuxlogo,你可以使用 sudo apt-get install linuxlogo來安裝,然後,就可以使用linuxlogo -L


來看一下各種Linux的logo了


(全文完)



●本文編號448,以後想閱讀這篇文章直接輸入448即可

●輸入m獲取到文章目錄

推薦↓↓↓

駭客技術與網路安全

更多推薦18個技術類公眾微信

涵蓋:程式人生、演演算法與資料結構、駭客技術與網路安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

贊(0)

分享創造快樂