28個(gè)Unix/Linux的命令行神器 |
發(fā)布時(shí)間: 2012/9/8 15:23:37 |
下面是Kristóf Kovács收集的28個(gè)Unix/Linux下的28個(gè)命令行下的工具,有一些是大家熟悉的,有一些是非常有用的,有一些是不為人知的。這些工具都非常不錯(cuò),希望每個(gè)人都知道。本篇文章還在Hacker News上被討論,你可以過去看看。 dstat & sar iostat, vmstat, ifstat 三合一的工具,用來查看系統(tǒng)(QQ:小默862693539)性能。 官方網(wǎng)站:http://dag.wieers.com/rpm/packages/dstat/ 你可以這樣使用: alias dstat='dstat -cdlmnpsy' slurm 查看網(wǎng)絡(luò)流量的一個(gè)工具 官方網(wǎng)站:Simple Linux Utility for Resource Management vim & emacs 真正程序員的代碼編輯器。 screen, dtach, tmux, byobu 你是不是經(jīng)常需要 SSH 或者 telent 遠(yuǎn)程登錄到 Linux 服務(wù)器?你是不是經(jīng)常為一些長時(shí)間運(yùn)行的任務(wù)而頭疼,比如系統(tǒng)(QQ:小默862693539)備份、ftp 傳輸?shù)鹊取MǔG闆r下我們都是為每一個(gè)這樣的任務(wù)開一個(gè)遠(yuǎn)程終端窗口,因?yàn)樗麄儓?zhí)行的時(shí)間太長了。必須等待它執(zhí)行完畢,在此期間可不能關(guān)掉窗口或者斷開連接,否則這個(gè)任務(wù)就會(huì)被殺掉,一切半途而廢了。 screen是一個(gè)可以在多個(gè)進(jìn)程之間多路復(fù)用一個(gè)物理終端的窗口管理器。screen中有會(huì)話的概念,用戶可以在一個(gè)screen會(huì)話中創(chuàng)建多個(gè)screen窗口,在每一個(gè)screen窗口中就像操作一個(gè)真實(shí)的telnet/SSH連接窗口那樣。請(qǐng)參看IBM DeveloperWorks的這篇文章《使用 screen 管理你的遠(yuǎn)程會(huì)話》 dtach 是用來模擬screen的detach的功能的小工具,其可以讓你隨意地attach到各種會(huì)話上 。下圖為dtach+dvtm的樣子。 tmux是一個(gè)優(yōu)秀的終端復(fù)用軟件,類似GNU Screen,但來自于OpenBSD,采用BSD授權(quán)。使用它最直觀的好處就是,通過一個(gè)終端登錄遠(yuǎn)程主機(jī)并運(yùn)行tmux后,在其中可以開啟多個(gè)控制臺(tái)而無需再“浪費(fèi)”多余的終端來連接這臺(tái)遠(yuǎn)程主機(jī);當(dāng)然其功能遠(yuǎn)不止于此。與screen相比的優(yōu)點(diǎn):可以橫向和縱向分割窗口,且窗格可以自由移動(dòng)和調(diào)整大小。可在多個(gè)緩沖區(qū)進(jìn)行復(fù)制和粘貼,支持跨窗口搜索;非正常斷線后不需重新detach;…… 有人說——與tmux相比,screen簡直弱爆了。 byobu是Ubuntu開發(fā)的,在Screen的基礎(chǔ)上進(jìn)行包裝,使其更加易用的一個(gè)工具。最新的Byobu,已經(jīng)是基于Tmux作為后端了?赏ㄟ^“byobu-tmux”這個(gè)命令行前端來接受各種與tmux一模一樣的參數(shù)來控制它。Byobu的細(xì)節(jié)做的非常好,效果圖如下: multitail multiTail是個(gè)用來實(shí)現(xiàn)同時(shí)監(jiān)控多個(gè)文檔、類似tail命令的功能的軟件。他和tail的區(qū)別就是他會(huì)在控制臺(tái)中打開多個(gè)窗口,這樣使同時(shí)監(jiān)控多個(gè)日志文檔成為可能。他還可以看log文件的統(tǒng)計(jì),合并log文件,過濾log文件,分屏,……。 官網(wǎng):http://www.vanheusden.com/multitail/ tpp 終端下的PPT,要是在某某大會(huì)上用這個(gè)演示PPT,就太TMD的Geek了。 官網(wǎng):http://www.ngolde.de/tpp.html xargs & parallel Executes tasks from input (even multithread). xargs 是一個(gè)比較古老的命令,有簡單的并行功能,這個(gè)不說了。對(duì)于GNU parallel(online manpage)來說,它不僅能夠處理本機(jī)上多執(zhí)行緒,還能分散至遠(yuǎn)端電腦協(xié)助處理。而使用GNU parallel前,要先確定本機(jī)有安裝GNU parallel/ssh/rsync,遠(yuǎn)端電腦也要安裝ssh。 duplicity & rsyncrypto duplicity是使用rsync算法加密的高效率備份軟件,Duplicity支持目錄加密生產(chǎn)和格式上傳到遠(yuǎn)程或本地文件服務(wù)器。 rsyncrypto 就是 rsync + encryption。 Encrypting backup tools. nethack & slash'em netHack(Wiki),20年歷史的古老電腦游戲。沒有聲音,沒有漂亮的界面,不過這個(gè)游戲真的很有意思。網(wǎng)上有個(gè)家伙說:如果你一生只做一件事情,那么玩NetHack。這句話很惹眼,但也讓人覺得這個(gè)游戲很復(fù)雜不容易上手。其實(shí),這個(gè)游戲很雖然很復(fù)雜,卻容易上手。雖然玩通關(guān)很難,但上手很容易。NetHack上有許多復(fù)雜的規(guī)則,”the DevTeam thinks of everything”(開發(fā)團(tuán)隊(duì)想到了所有的事情)。各種各樣的怪物,各種各樣的武器….,有許多spoilers文件來說明其規(guī)則。除了每次開始隨機(jī)生成的地圖,每次玩游戲,你也都會(huì)碰到奇怪的事情: 因?yàn)楹攘艘环N藥水,變成了機(jī)器人;因?yàn)樘邏牧松痰甑拈T被要求高價(jià)賠償;你的狗為你偷來了商店的東西….. 這有點(diǎn)象人生,你不能完全了解這個(gè)世界,但你仍然可以選擇自己的面對(duì)方式。 網(wǎng)上有許多文章所這是最好的電腦游戲或最好的電腦游戲之一。也許是因?yàn)樗_放的源代碼讓人贊賞,古老的歷史讓人寬容,復(fù)雜的規(guī)則讓人敬畏。雖然它不是當(dāng)前流行的游戲,但它比任何一個(gè)當(dāng)前流行的游戲都更有可能再經(jīng)受20年的考驗(yàn)。 Slash'EM 也是一個(gè)基于NetHack的經(jīng)典游戲。 lftp 利用lftp命令行ftp工具進(jìn)行網(wǎng)站數(shù)據(jù)的增量備份,鏡像,就像使用rsync一樣。 ack ack是一個(gè)perl腳本,是grep的一個(gè)可選替換品。其可以對(duì)匹配字符有高亮顯示。是為程序員專門設(shè)計(jì)的,默認(rèn)遞歸搜索,省提供多種文件類型供選。 calcurse & remind + wyrd calcurse是一個(gè)命令行下的日歷和日程軟件。remind + wyrd也很類似。關(guān)于日歷,我不得不提一個(gè)Linux的Cycle日歷,也是一個(gè)神器,呵呵。 newsbeuter & rsstail newsbeuter 和 rsstail 是命令行下RSS的閱讀工具。 powertop 做個(gè)環(huán)保的程序員,看看自己的電腦里哪些程序費(fèi)電。powerTOP 是一個(gè)讓 Intel 平臺(tái)的筆記本電腦節(jié)省電源的 Linux 工具。此工具由 Intel 公司發(fā)布。它可以幫助用戶找出那些耗電量大的程序,通過修復(fù)或者關(guān)閉那些應(yīng)用程序或進(jìn)程,從而為用戶節(jié)省電源。 htop & iotop htop 和 iotop用來查看進(jìn)程,內(nèi)存和IO負(fù)載。 ttyrec & ipbt ttyrec是一個(gè) tty 控制臺(tái)錄制程序,其所錄制的數(shù)據(jù)文件可以使用與之配套的 ttyplay 播放。不管是你在 tty 中的各種操作,還是在 tty 中耳熟能詳?shù)能浖,都可進(jìn)行錄制。 ipbt是一個(gè)用來回放 ttyrec 所錄制的控制臺(tái)輸入過程的工具。 與此類似的還有Shelr和termrec rsync 通過SSH進(jìn)行文件同步的經(jīng)典工具 mtr MTR – traceroute 2.0,其是把 traceroute 和 ping 集成在一塊的一個(gè)小工具 用于診斷網(wǎng)絡(luò)。 socat & netpipes socat是一個(gè)多功能的網(wǎng)絡(luò)工具,名字來由是” Socket CAT”,可以看作是netcat的N倍加強(qiáng)版。 netpipes 和socat一樣,主要是用來在命令行來進(jìn)行socket操作的命令,這樣你就可以在Shell腳本下行進(jìn)socket網(wǎng)絡(luò)通訊了。 iftop & iptraf iftop和iptraf可以用來查看當(dāng)前網(wǎng)絡(luò)鏈接的一些流量情況。 siege & tsung siege是一個(gè)壓力測(cè)試和評(píng)測(cè)工具,設(shè)計(jì)用于WEB開發(fā)這評(píng)估應(yīng)用在壓力下的承受能力:可以根據(jù)配置對(duì)一個(gè)WEB站點(diǎn)進(jìn)行多用戶的并發(fā)訪問,記錄每個(gè)用戶所有請(qǐng)求過程的相應(yīng)時(shí)間,并在一定數(shù)量的并發(fā)訪問下重復(fù)進(jìn)行。 Tsung是一個(gè)壓力測(cè)試工具,可以測(cè)試包括HTTP, WebDAV, PostgreSQL, MySQL, LDAP, and XMPP/Jabber等服務(wù)器。針對(duì) HTTP 測(cè)試,Tsung 支持 HTTP 1.0/1.1 ,包含一個(gè)代理模式的會(huì)話記錄、支持 GET、POST 和 PUT 以及 DELETE 方法,支持 Cookie 和基本的 WWW 認(rèn)證,同時(shí)還支持 SSL。 ledger ledger 是一個(gè)命令行下記帳的小工具。 taskwarrior taskWarrior 是一個(gè)基于命令行的 TODO 列表管理工具。主要功能包括:標(biāo)簽、彩色表格輸出、報(bào)表和圖形、大量的命令、底層API、多用戶文件鎖等功能。 下圖是TaskWarrior 2.0的界面: curl cURL是一個(gè)利用URL語法在命令行下工作的文件傳輸工具,1997年首次發(fā)行。它支持文件上傳和下載,所以是綜合傳輸工具,但按傳統(tǒng),習(xí)慣稱cURL為下載工具。cURL還包含了用于程序開發(fā)的libcurl。cURL支援的通訊協(xié)定有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。 rtorrent & aria2 rTorrent 是一個(gè)非常簡潔、優(yōu)秀、非常輕量的BT客戶端. 它使用了 ncurses 庫以 C++ 編寫, 因此它完全基于文本并在終端中運(yùn)行. 將 rTorrent 用在安裝有 GNU Screen 和 Secure Shell 的低端系統(tǒng)(QQ:小默862693539)上作為遠(yuǎn)程的 BT 客戶端是非常理想的。 aria2 是 Linux 下一個(gè)不錯(cuò)的高速下載工具。由于它具有分段下載引擎,所以支持從多個(gè)地址或者從一個(gè)地址的多個(gè)連接來下載同一個(gè)文件。這樣自然就大大加快了文件的下載速度。aria2 也具有斷點(diǎn)續(xù)傳功能,這使你隨時(shí)能夠恢復(fù)已經(jīng)中斷的文件下載。除了支持一般的 http(s) 和 ftp 協(xié)議外,aria2 還支持 BitTorrent 協(xié)議。這意味著,你也可以使用 aria2 來下載 torrent 文件。 ttytter & earthquake TTYtter 是一個(gè)Perl寫的命令行上發(fā)Twitter的工具,可以進(jìn)行所有其他平臺(tái)客戶端能進(jìn)行的事情,當(dāng)然,支持中文。腳本控、CLI控、終端控、Perl控的最愛。 Earthquake也是一個(gè)命令行上的Twitter客戶端。 vifm & ranger Vifm 基于ncurses的文件管理器,DOS風(fēng)格,用鍵盤操作。 Ranger用 Python 完成,默認(rèn)為使用 Vim 風(fēng)格的按鍵綁定,比如 hjkl(上下左右),dd(剪切),yy(復(fù)制)等等。功能很全,擴(kuò)展/可配置性也非常不錯(cuò)。類似MacOS X下Finder(文件管理器)的多列文件管理方式。支持多標(biāo)簽頁。實(shí)時(shí)預(yù)覽文本文件和目錄。 cowsay & sl cowsay 不說了,如下所示,哈哈哈。還有xcowsay,你可以自己搜一搜。 sl是什么?ls?呵呵,你會(huì)經(jīng)常把ls 打成sl嗎?如果是的話,這個(gè)東西可以讓你娛樂一下,你會(huì)看到一輛火車呼嘯而過~~,相當(dāng)拉風(fēng)。你可以使用sudo apt-get install sl 安裝。 最后,再介紹一個(gè)命令中l(wèi)inuxlogo,你可以使用 sudo apt-get install linuxlogo來安裝,然后,就可以使用linuxlogo -L來看一下各種Linux的logo。
本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |