命令行应用盘点
自大约18年前诞生以来,Linux 图形桌面已经有了巨大的改进。系统配置必须使用命令行的日子已经一去不复返了。Ubuntu 世代在一个命令行使用是可选的世界中成长起来。虽然许多人仍然选择磨练他们的控制台技能,但也有同样多的人不这样做。
然而,命令行远非无关紧要。无论您是想充分利用旧系统,还是想通过 SSH 从任何地方访问您的应用程序,控制台仍然是 Linux 用户工具箱中最强大的工具之一。从传统的系统实用程序到 Web 和多媒体应用程序,我们桌面应用有很多 CLI(命令行界面)版本。这里有一些我最喜欢的、至今仍流行的应用。
许多 Web 应用程序在 Linux shell 上运行。专用的下载和 torrent 应用程序是在命令行上运行的自然选择。借助诸如 screen 或 dtach 之类的工具,长时间的下载可以在始终在线的机器上远程运行。同样,基于文本的浏览器可以用于执行那些过于深入地隐藏在 curl 或 wget 重定向之后的下载。控制台浏览器也是测试网站可访问性或避免有害广告的宝贵工具——尤其是在资源有限的机器上。
rTorrent (libtorrent.rakshasa.no)
rTorrent 是一款流行的基于文本的 BitTorrent 客户端,拥有令人印象深刻的功能集。它支持多文件 torrent 的部分下载和会话保存,并且可以与 screen 或 dtach 一起使用。rTorrent 还具有内置的 XMLRPC 接口,并提供许多第三方基于 Web 的前端。这与 rTorrent 监视指定目录中 torrent 文件出现的能力相结合——并在找到时执行它们——允许用户轻松创建强大的远程 torrent 工具。
Wget (www.gnu.org/software/wget)
当然,如果您只需要下载一两个 ISO 而不想被打断,那么带有基于 Web 的前端的 torrent 服务器有点过度工程了。Wget 是一个通过 HTTP、HTTPS 和 FTP 下载文件的简单实用程序。它包含在大多数 Linux 发行版中。Wget 可用于下载单个文件或镜像整个网站。它支持通过代理下载、恢复部分下载和各种形式的身份验证。
Curl (curl.haxx.se)
Curl 是另一个简单的下载器,既是一个工具,也是一个通过一系列协议传输数据的库。当然,Curl 支持 HTTP、HTTPS 和 FTP,但它与 Wget 的不同之处在于它还支持 LDAP、POP3 和 DICT 等。Curl 还支持通过代理下载、恢复部分下载和各种形式的身份验证。
w3m (w3m.sourceforge.net)
类似于less或more用于 HTML 文件的分页器,w3m 支持渲染本地 HTML 文件和远程 URL。它支持通过代理、cookie 和 SSL 运行。由于它被设计为充当文件分页器或查看器,因此必须使用远程 URL 或本地文件作为参数来调用 w3m。
ELinks (elinks.or.cz)
如果您正在寻找功能更丰富的东西,ELinks 是一款功能极其丰富的文本模式浏览器。它能够显示表格和框架,并且从 0.10 版本开始,ELinks 可以渲染 CSS 并支持多达 256 种颜色。ELinks 是一款强大的下载工具。它能够一次下载多个文件并在您浏览时执行后台文件传输。
在 screen 会话中运行客户端在 IRC 用户中仍然非常流行。在通过 SSH 访问的远程服务器上运行 IRC 可以从受限网络访问 IRC,并允许将消息留在您的客户端中,以便您在返回时阅读。聊天日志保存在一个地方,而不是分散在您使用的每台计算机上。并且,出于所有相同的原因,即时消息传递可以受益于在控制台运行。
Irssi (www.irssi.org)
Irssi 是控制台非常流行的 IRC 客户端。功能包括日志记录、自定义格式和主题、可配置的按键绑定以及许多其他功能。Irssi 提供了一个强大的 Perl 脚本接口,Irssi.org 提供了许多贡献的脚本。Irssi 使用窗口界面,允许一次打开和访问数十个服务器连接、频道和消息窗口。
Finch (pidgin.im)
如果您使用过 Pidgin,您会发现 Finch 非常熟悉。Finch 是一个 CLI 即时消息程序,它是 Pidgin 代码库的一部分,并使用 libpurple 即时消息库。Finch 的用户界面尽可能接近 ncurses 允许的 Pidgin 建模。它们都会将其配置保存到同一目录 (~/.libpurple),如果您的机器上已经配置了 Pidgin,Finch 将自动拾取其设置。Finch 支持在 libpurple 包含的所有协议上聊天:AIM、MSN、Yahoo! 和 Jabber,仅举几例。
naim (naim.n.ml.org)
naim 支持 AIM、ICQ、Lily 和 IRC,如果您不需要 libpurple 的所有协议,naim 是 Finch 的优雅替代方案。naim 使用非常简单的命令驱动界面。所有以 / 开头的文本都被视为命令,所有其他文本都作为消息发送到当前活动窗口。naim 支持同时连接到多个网络和 IRC 服务器,每个“窗口”都显示在可以使用 Tab 键调出的滑动列表中。
尽管有云服务,但仍有一小部分狂热的少数人仍然喜欢通过控制台访问电子邮件。无论是文本模式客户端的公认速度,还是通过 SSH 访问某人的电子邮件和日历的能力,命令行效率应用程序仍然拥有令人惊讶的强大追随者。
Mutt (www.mutt.org)
Mutt 是一款电子邮件客户端,支持读取本地 UNIX 邮件假脱机和通过 POP 或 IMAP 检索远程邮件。它能够处理人们对电子邮件客户端的期望以及更多。一些值得注意的功能包括完全自定义邮件标头中包含的信息的能力,以及根据当前文件夹或电子邮件收件人存储不同配置设置的能力。
Alpine (www.washington.edu/alpine)
Alpine 是原始作者华盛顿大学对流行的 Pine 电子邮件客户端的完整重写。它增加了对 Unicode 的支持以及其他新功能,并且以开源而不是免费软件许可证发布。Alpine 支持 POP、IMAP、SMTP 和 LDAP。与 Mutt 不同,Alpine 使用菜单驱动的界面进行配置,有些人可能会觉得更容易使用。使用 Nano 作为编辑器的人将有一个良好的开端,因为 Nano 是 Pico 编辑器的端口,Pico 编辑器包含在 Pine 中,并在 Alpine 中重新实现。当然,任何其他 UNIX 编辑器都可以设置为 Alpine 的编写界面。
pal (palcal.sourceforge.net)
pal 是一款功能强大的日历程序。它充分利用终端颜色支持来突出显示事件。支持待办事项风格的事件,HTML 和 LaTeX 生成允许您创建用于打印的日历文件。作者建议的一个巧妙技巧是将 pal 添加到 shellrc 文件中,以便在您每次打开终端时都显示它。
有点违反直觉的是,基于控制台的多媒体播放器享有广泛的欢迎。命令行音乐播放器可用于利用另一台机器上更好的扬声器,或为大型、多系统、分布式家庭媒体解决方案提供基础。即使是控制台上的图像编辑,通过旨在从脚本操作批量图像的工具,也出奇地功能齐全。
MOC (moc.daper.net)
MOC(控制台音乐播放器)是一款 CLI 音乐播放器,对于 Midnight Commander 的用户来说,它将具有熟悉的界面。MOC 支持 Ogg Vorbis、MP3 和 FLAC 等。它输出到 ALSA、OSS 或 JACK,并且可以创建和加载 M3U 播放列表。MOC 利用客户端/服务器架构,允许用户将 MOC 从其图形界面分离,以回收其控制终端以供其他用途,同时让播放列表仍在后台运行。
cdparanoia (xiph.org/paranoia)
cdparanoia 是一款 CD 抓取工具,它秉承 UNIX 的哲学,即做好一项任务并将其做得非常好。cdparanoia 旨在成为一款高质量的抓取工具,对 CD 硬件具有出色的了解,cdparanoia 和基于它的工具以在其他工具失败的地方取得成功而闻名。cdparanoia 将从音乐 CD 读取原始数据,并将其作为 WAV 或 16 位 PCM 输出到文件或 stdout。编码为更可用的格式并填充该格式的元数据将需要使用不同的工具来实现。cdparanoia 通过在其状态输出中有意义地包含笑脸字符来弥补这种极简主义。真可爱!
Music Player Dæmon (freshmeat.net/projects/mpd)
Music Player Dæmon (MPD) 是一款网络感知音乐服务器。它充当一系列客户端的后端服务,以本地或通过网络访问。它也可以充当音乐转换器,能够利用各种音频输入插件并输出到不同的输出插件。MPD 维护一个音乐数据库或库。出于安全原因,仅本地客户端支持播放数据库中未包含的本地文件。
如果不看一下传统的 UNIX 文本编辑器,那么命令行盘点就不完整。无论您是记笔记、构建网站、编辑系统配置文件还是编写 Linux 内核补丁,都有一款适合该任务的控制台编辑器。
Vi/Vim (www.vim.org)
Vi 系列编辑器在 2009 年读者选择奖中被 Linux Journal 用户评为最喜欢的编辑器,自 1970 年代中期以来一直存在。Vim 的设计适合系统管理任务,重点是轻松地在复杂文件中移动并进行小的精确编辑。Vim 特有的增强功能将简陋的编辑器变成了一个强大的编程工具,支持上下文相关的完成、语法突出显示以及比较和合并功能。Vi 也成为了许多 UNIX 用户的核心宗教戒律,他们的神圣教义谈到了 Vim-im-again 的到来,他将击败虚假的 GNU 头的神 Emacs。
GNU Emacs (www.gnu.org/software/emacs)
Emacs 系列编辑器也可以声称拥有悠久的传统,它们的发展也始于 1970 年代。虽然大多数用户使用 X11,但 Emacs 在命令行中功能齐全。Emacs 具有强大的可扩展性,具有强大的记录宏功能,并且它包含一个用于其自身 Lisp 编程语言方言的解释器。Emacs 不满足于仅仅成为一个有能力的程序员编辑器,插件可用于将 Emacs 用于 IRC、Web 浏览、电子邮件和新闻,仅举几例。Emacs 经常在与其主要敌人 Vi 的神圣编辑器战争中被作为战士。Emacs 用户经常对此感到困惑,因为他们中的大多数人准备承认 Vi 是一款出色的文本编辑器,但对于 Vi 用户来说,Emacs 应该是更好的操作系统,这一点也应该很清楚。
Nano (www.nano-editor.org)
Nano 基于 Pine 电子邮件客户端附带的编辑器 Pico,因其成为周围最用户友好的控制台编辑器之一而赢得了广泛的欢迎。Nano 支持多种语言的语法突出显示、可自定义的按键绑定以及在屏幕底部舒缓地显示最常用命令的按键绑定。Nano 唯一可以更友好的方式是在屏幕顶部用大而友好的字体显示“不要惊慌”字样。
Jes Fraser 是新西兰 Open Systems Specialists 的 IT 顾问。她热衷于在企业中推广开源和 Linux。