当我刚开始使用 Linux 的时候我很不喜欢命令行。用了一段时间以后,我才渐渐意识到命令行事实上是非常有用的。于是我开始深入的研究我究竟能用命令行来干什么。
在这个过程中我意识到一个问题,就是当你有 GUI 环境的时候,你很难去学习命令行来替代图形界面。仅仅使用命令行完成一部分任务是不能让你非常熟练的掌握命令行工具的。像 Ubuntu 这样的发行版正在努力让用户远离命令行。我渐渐意识到,如果我真的想要成为命令行大师,我必须在纯命令行的环境下工作。所以我创造了一个命令行挑战的任务。
这个想法很简单。在纯命令行环境下工作一段时间。把它当做一个游戏,不同的级别如下:
- 简单:1天
- 中等:1周
- 难:1个月
- 疯狂:6个月
我从简单的开始,过渡到一周。为了让你能在命令行下顺利的工作,你可能需要以下软件。
浏览器
我使用 lynx 和 elinks 。lynx 有更多的选项,也更强大,但是 elinks 的显示效果更好。
文本编辑
Vim ,它几乎可以满足你所有的文本编辑需求。
Email
我强烈推荐 mutt 。它很快速,高度可配置,并且可以在命令行工作。另外有一个挑战就是 mutt 是否能做 Gmail 能做的一切。我个人的感觉是 mutt 比 Gmail 更强大。这里有一个 教程 关于如何同步 mutt 和你的 Gmail 账户。
音乐播放器
这里有很多软件可以选择。我最喜欢的是 cmus 。它和 Vim 的快捷键类似。当然你还可以选择 moc ,mp3blaster ,mpd 等等。
聊天
由于别人跟你讲了一个笑话,你对着黑白屏幕哈哈大笑让你的同事看起来你是神经病。但是命令行下的聊天工具是很强大的。你可以使用 Irssi 在 irc 频道里面聊天,你也可以通过 bitlbee 来对接各种 IM 协议。所以你可以把所有的对话都集中到 irc 里面。你不喜欢这种方式的话,可以选择 pidgin 的命令行版本 Finch。
图片
是的,你可以在命令行下面看图片。我们可以使用 caca labs 开发的 libcaca 。它是个图形库,可以输出文本而不是像素,所以它可以在较老的显卡和文字终端工作。
视频
视频只是不断切换的图片,所以也是支持的。你可以使用著名的 mplayer 和 vlc 。
文件管理
使用命令行并不意味着你就没有文件管理器了。很多人在图形环境下都使用 midnight commander 。我偏向于使用和vim更接近的 ranger 。
窗口管理
没有窗口怎么管理?试试 Tmux 吧。这里有一个非常好的 教程 ,还有 一本书 专门讲这个的。
游戏
作为一名极客,你必须体验一把命令行游戏。Nethack 是一个非常有名的地牢游戏。如果你想要简单一点的游戏的话,你可以试试 emacs 的 tetris。它可以在emacs下,通过“M-x tetris”命令开启。
这些是我的一些建议,也许能让你的命令行之旅不那么痛苦。命令行真正的迷人之处在于 bash ,如何编写脚本来自动化重复的工作,理解在 UNIX 世界中一个命令可以抵过上百次的鼠标点击。
那么,你接受挑战吗?
原文链接,OSChina.NET 原创编译