28個UNIX/LINUX的命令行神器

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

dstat & sar

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

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

你可以這樣使用:

1

alias dstat='dstat -cdlmnpsy'

28個UNIX/LINUX的命令行神器

slurm

查看網絡流量的一個工具

官方網站: Simple Linux Utility for Resource Management

28個UNIX/LINUX的命令行神器

vim & emacs

真正程序員的代碼編輯器。

28個UNIX/LINUX的命令行神器

screen, dtach, tmux, byobu

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

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

28個UNIX/LINUX的命令行神器

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

28個UNIX/LINUX的命令行神器

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

28個UNIX/LINUX的命令行神器

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

28個UNIX/LINUX的命令行神器

multitail

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

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

28個UNIX/LINUX的命令行神器

tpp

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

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

28個UNIX/LINUX的命令行神器

xargs & parallel

Executes tasks from input (even multithread).

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

28個UNIX/LINUX的命令行神器

duplicity & rsyncrypto

Duplicity是使用rsync算法加密的高效率備份軟件,Duplicity支持目錄加密生產和格式上傳到遠程或本地文件服務器。

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

Encrypting backup tools.

28個UNIX/LINUX的命令行神器

nethack & slash’em

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

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

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

28個UNIX/LINUX的命令行神器

lftp

利用lftp命令行ftp工具進行網站數據的增量備份,鏡像,就像使用rsync一樣。

28個UNIX/LINUX的命令行神器

ack

ack是一個perl腳本,是grep的一個可選替換品。其可以對匹配字符有高亮顯示。是為程序員專門設計的,默認遞歸搜索,省提供多種文件類型供選。

28個UNIX/LINUX的命令行神器

calcurse & remind + wyrd

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

28個UNIX/LINUX的命令行神器

newsbeuter & rsstail

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

28個UNIX/LINUX的命令行神器

powertop

做個環保的程序員,看看自己的電腦裡哪些程序費電。PowerTOP 是一個讓 Intel 平臺的筆記本電腦節省電源的 Linux 工具。此工具由 Intel 公司發佈。它可以幫助用戶找出那些耗電量大的程序,通過修復或者關閉那些應用程序或進程,從而為用戶節省電源。

28個UNIX/LINUX的命令行神器

htop & iotop

htop 和 iotop 用來查看進程,內存和IO負載。

28個UNIX/LINUX的命令行神器

ttyrec & ipbt

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

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

與此類似的還有Shelr 和 termrec

28個UNIX/LINUX的命令行神器

rsync

通過SSH進行文件同步的經典工具(核心算法)

28個UNIX/LINUX的命令行神器

mtr

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

28個UNIX/LINUX的命令行神器

socat & netpipes

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

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

28個UNIX/LINUX的命令行神器

iftop & iptraf

iftop和iptraf可以用來查看當前網絡鏈接的一些流量情況。

28個UNIX/LINUX的命令行神器

28個UNIX/LINUX的命令行神器

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。

參看:十個免費的Web壓力測試工具

28個UNIX/LINUX的命令行神器

ledger

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

28個UNIX/LINUX的命令行神器

taskwarrior

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

28個UNIX/LINUX的命令行神器

下圖是TaskWarrior 2.0的界面:

28個UNIX/LINUX的命令行神器

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。

28個UNIX/LINUX的命令行神器

rtorrent & aria2

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

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

28個UNIX/LINUX的命令行神器

ttytter & earthquake

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

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

28個UNIX/LINUX的命令行神器

28個UNIX/LINUX的命令行神器

vifm & ranger

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

28個UNIX/LINUX的命令行神器

Ranger用 Python 完成,默認為使用 Vim 風格的按鍵綁定,比如 hjkl(上下左右),dd(剪切),yy(複製)等等。功能很全,擴展/可配置性也非常不錯。類似MacOS X下Finder(文件管理器)的多列文件管理方式。支持多標籤頁。實時預覽文本文件和目錄。

28個UNIX/LINUX的命令行神器

cowsay & sl

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


28個UNIX/LINUX的命令行神器


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

28個UNIX/LINUX的命令行神器


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

來看一下各種Linux的logo了

28個UNIX/LINUX的命令行神器


相關推薦

推薦中...