下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文连接),有一些是你们熟悉的,有一些是很是有用的,有一些是鲜为人知的。这些工具都很是不错,但愿每一个人都知道。本篇文章还在Hacker News上被讨论,你能够过去看看。我以做者的原文中加入了官网连接和一些说明。php
iostat, vmstat, ifstat 三合一的工具,用来查看系统性能(我在《性能调优攻略》中提到过那三个xxstat工具)。html
官方网站:http://dag.wieers.com/rpm/packages/dstat/前端
你能够这样使用:linux
alias dstat='dstat -cdlmnpsy'
查看网络流量的一个工具ios
官方网站: Simple Linux Utility for Resource Managementgit
真正程序员的代码编辑器。程序员
你是否是常常须要 SSH 或者 telent 远程登陆到 Linux 服务器?你是否是常常为一些长时间运行的任务而头疼,好比系统备份、ftp 传输等等。一般状况下咱们都是为每个这样的任务开一个远程终端窗口,由于他们执行的时间太长了。必须等待它执行完毕,在此期间可不能关掉窗口或者断开连 接,不然这个任务就会被杀掉,一切半途而废了。github
Screen是 一个能够在多个进程之间多路复用一个物理终端的窗口管理器。Screen中有会话的概念,用户能够在一个screen会话中建立多个screen窗口,在 每个screen窗口中就像操做一个真实的telnet/SSH链接窗口那样。请参看IBM DeveloperWorks的这篇文章《使用 screen 管理你的远程会话》web
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是个用来实现同时监控多个文档、相似tail命令的功能的软件。他和tail的区别就是他会在控制台中打开多个窗口,这样使同时监控多个日志文档成为可能。他还能够看log文件的统计,合并log文件,过滤log文件,分屏,……。
官网:http://www.vanheusden.com/multitail/
终端下的PPT,要是在某某大会上用这个演示PPT,就太TMD的Geek了。
官网:http://www.ngolde.de/tpp.html
Executes tasks from input (even multithread).
xargs 是一个比较古老的命令,有简单的并行功能,这个不说了。对于GNU parallel ( online manpage )来讲,它不只可以处理本机上多执行绪,还能分散至远端电脑协助处理。而使用GNU parallel前,要先肯定本机有安装GNU parallel / ssh / rsync,远端电脑也要安装ssh。
Duplicity是使用rsync算法加密的高效率备份软件,Duplicity支持目录加密生产和格式上传到远程或本地文件服务器。
rsyncrypto 就是 rsync + encryption。对于rsync的算法可参看酷壳的rsync核心算法。
Encrypting backup tools.
NetHack(Wiki),20年历史的古老电脑游戏。没有声音,没有漂亮的界面,不过这个游戏真的颇有意思。网上有个家伙说:若是你一辈子只作一件事情,那么玩NetHack。 这句话很惹眼,但也让人以为这个游戏很复杂不容易上手。其实,这个游戏很虽然很复杂,却容易上手。虽然玩通关很难,但上手很容易。NetHack上有许多 复杂的规则,”the DevTeam thinks of everything”(开发团队想到了全部的事情)。各类各样的怪物,各类各样的武器….,有许多spoilers文件来讲明其规则。除了每次开始随机 生成的地图,每次玩游戏,你也都会碰到奇怪的事情: 由于喝了一种药水,变成了机器人;由于踢坏了商店的门被要求高价赔偿;你的狗为你偷来了商店的东西….. 这有点象人生,你不能彻底了解这个世界,但你仍然能够选择本身的面对方式。
网上有许多文章所这是最好的电脑游戏或最好的电脑游戏之一。也许是由于它开放的源代码让人赞扬,古老的历史让人宽容,复杂的规则让人敬畏。虽然它不是当前流行的游戏,但它比任何一个当前流行的游戏都更有可能再经受20年的考验。
Slash’EM 也是一个基于NetHack的经典游戏。
利用lftp命令行ftp工具进行网站数据的增量备份,镜像,就像使用rsync同样。
ack是一个perl脚本,是grep的一个可选替换品。其能够对匹配字符有高亮显示。是为程序员专门设计的,默认递归搜索,省提供多种文件类型供选。
calcurse是一个命令行下的日历和日程软件。remind + wyrd也很相似。关于日历,我不得不提一个Linux的Cycle日历,也是一个神器,呵呵。
newsbeuter 和 rsstail 是命令行下RSS的阅读工具。
作个环保的程序员,看看本身的电脑里哪些程序费电。PowerTOP 是一个让 Intel 平台的笔记本电脑节省电源的 Linux 工具。此工具由 Intel 公司发布。它能够帮助用户找出那些耗电量大的程序,经过修复或者关闭那些应用程序或进程,从而为用户节省电源。
ttyrec 是一个 tty 控制台录制程序,其所录制的数据文件可使用与之配套的 ttyplay 播放。不论是你在 tty 中的各类操做,仍是在 tty 中耳熟能详的软件,均可进行录制。
ipbt 是一个用来回放 ttyrec 所录制的控制台输入过程的工具。
经过SSH进行文件同步的经典工具(核心算法)
MTR – traceroute 2.0,其是把 traceroute 和 ping 集成在一块的一个小工具 用于诊断网络。
socat是一个多功能的网络工具,名字来由是” Socket CAT”,能够看做是netcat的N倍增强版。
netpipes 和socat同样,主要是用来在命令行来进行socket操做的命令,这样你就能够在Shell脚本下行进socket网络通信了。
iftop和iptraf能够用来查看当前网络连接的一些流量状况。
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 一个命令行下记账的小工具。
TaskWarrior 是一个基于命令行的 TODO 列表管理工具。主要功能包括:标签、彩色表格输出、报表和图形、大量的命令、底层API、多用户文件锁等功能。
下图是TaskWarrior 2.0的界面:
cURL是 一个利用URL语法在命令行下工做的文件传输工具,1997年首次发行。它支持文件上传和下载,因此是综合传输工具,但按传统,习惯称cURL为下载工 具。cURL还包含了用于程序开发的libcurl。cURL支援的通訊協定有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、 Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP三、SMTP和RTSP。
rTorrent 是一个很是简洁、优秀、很是轻量的BT客户端. 它使用了 ncurses 库以 C++ 编写, 所以它彻底基于文本并在终端中运行. 将 rTorrent 用在安装有 GNU Screen 和 Secure Shell 的低端系统上做为远程的 BT 客户端是很是理想的。
aria2 是 Linux 下一个不错的高速下载工具。因为它具备分段下载引擎,因此支持从多个地址或者从一个地址的多个链接来下载同一个文件。这样天然就大大加快了文件的下载速 度。aria2 也具备断点续传功能,这使你随时可以恢复已经中断的文件下载。除了支持通常的 http(s) 和 ftp 协议外,aria2 还支持 BitTorrent 协议。这意味着,你也可使用 aria2 来下载 torrent 文件。
TTYtter 是一个Perl写的命令行上发Twitter的工具,能够进行全部其余平台客户端能进行的事情,固然,支持中文。脚本控、CLI控、终端控、Perl控的最愛。
Earthquake也是一个命令行上的Twitter客户端。
Vifm 基于ncurses的文件管理器,DOS风格,用键盘操做。
Ranger用 Python 完成,默认为使用 Vim 风格的按键绑定,好比 hjkl(上下左右),dd(剪切),yy(复制)等等。功能很全,扩展/可配置性也很是不错。相似MacOS X下Finder(文件管理器)的多列文件管理方式。支持多标签页。实时预览文本文件和目录。
cowsay 不说了,以下所示,哈哈哈。还有xcowsay,你能够本身搜一搜。
sl是什么?ls?,呵呵,你会常常把ls 打成sl吗?若是是的话,这个东西可让你娱乐一下,你会看到一辆火车呼啸而过~~,至关拉风。你可使用sudo apt-get install sl 安装。
最后,再介绍一个命令中linuxlogo,你可使用 sudo apt-get install linuxlogo来安装,而后,就可使用linuxlogo -L
来看一下各类Linux的logo了
(全文完)