28個linux命令列神器
轉自:http://blog.csdn.net/freeking101/article/details/70228140?locationNum=10&fps=1
下面是Kristóf Kovács收集的28個Unix/Linux下的28個命令列下的工具,有一些是大家熟悉的,有一些是非常有用的,有一些是不為人知的。這些工具都非常不錯,希望每個人都知道。本篇文章還在Hacker News上被討論,你可以過去看看。
dstat & sar
iostat, vmstat, ifstat 三合一的工具,用來檢視系統性能。
官方網站: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。
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
rsync
通過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。