标签 终端 下的文章

你知道20世纪末的那些古老的诺基亚手机上最棒的东西是什么吗? 贪食蛇)! 我以前在这个看似无聊但却让人上瘾的游戏上花费了大把的时间。在古老的诺基亚手机被智能手机取代的同时,贪食蛇也被另外的无聊但却令人上瘾的游戏取代了,比如说:神庙逃亡。但是,贪食蛇本身的魅力仍在。

在Android,iOS以及Web上有很多可以玩的贪食蛇游戏。另外,在Linux终端上也有类似的游戏。对,你没有听错,Linux终端上真的有。

nSnake: Linux终端上的经典贪食蛇游戏

nSnakeAlexandre Dantas开发的经典游戏——贪食蛇的Linux终端版本。差不多在所有的Linux发行版中,你都可以获取nSnake,但是在这篇文章中我们只介绍如何在Ubuntu以及与Ubuntu相似的发行版中安装它。

要在Ubuntu或者Linux Mint中安装nSnake, 你只需要打开终端,然后使用下面的命令:

sudo apt-get install nsnake

一旦安装成功,你就可以使用下面的命令来运行游戏了:

nsnake

在终端中运行起来的nSnake就类似于下面截图中的内容。如果你很纠结,为什么我的Ubuntu终端和Ubuntu默认的紫红色终端不一样呢?那是因为我用了Numix主题。更多优秀的Ubuntu主题

Play Snake game in Linux terminal with nSnake

玩nSnake是非常简单的。你可以从开始界面选择游戏速度以及是否开启边框。游戏开始后,使用方向键控制贪吃的小蛇蛇,P键暂停游戏,Q键退出游戏。

你觉得nSnake怎么样? 你以前玩过吗? 你还玩过其他的Linux终端游戏吗? 来跟我们分享一下吧!


via: http://itsfoss.com/nsnake-play-classic-snake-game-linux-terminal/

译者:intermerlin 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Linux 终端不仅是一个键入命令的地方。如若你能熟谙这些基础技巧,那么你会在绝大多数 Linux 发行版的默认使用的 Bash shell中游刃有余。

这是howtogeek.com 网站特供给初级用户升级打怪时不能忘记携带的七种武器——

1.Tab 补全

这样能节省时间,并且对于输入那些你不很确定其具体名称的文件和命令来说很方便。比如,当前目录下有一个名为“really long file name”的文件,你想要删除它。你可以输入完整的文件名,但是你必须确保正确地输入了空格和每个字母。若当前目录下还有许多以字母“r”开头的文件,(如果你没有正确地输入字符) Bash 将不知道你想要删除哪一个文件。

如果在当前目录下存在着另一个名为“really very long file name”的文件,你敲击了Tab键。Bash 将为所有以“r”开头的文件自动补充“really\ ”部分。此时继续敲击Tab键,你将得到匹配所有文件名的列表。

2.管道机制

这种机制允许你把一条命令的输出传送到另一条命令。按照 UNIX 哲学,每个程序都足够小,只做一件事并将之做到最好。例如,ls命令列出当前目录下的所有文件,grep命令搜索输入其中的指定检索项。

你可以通过管道机制(|字符)把二者结合起来,在当前目录下搜索文件。以下给出的命令(在当前文件夹下)搜索关键字为“word”的文件:

ls | grep word

3.通配符

“*”(星号)字符是一种匹配任意长度字符的通配符。比如,你想删除当前文件夹下名为“really long file name”和“really very long file name”的两个文件,你可以运行以下命令:

rm really*name

这条命令会删除所有以“really”开头以“name”结尾的文件。但是,如果你运行的是 rm * 这条命令,你将会删除文件夹下的所有文件。(译注:使用通配符时要小心,尤其是你的rm没有-f确认时!)

4.输出重定向

“>”字符可以把一条命令的输出重定向到一个文件或另一条命令。比如,下面这行命令执行完 ls 后会列出当前文件夹下的所有文件,其结果不是在终端显示,而是输出到当前文件夹下一个名为“file1”的文件中去:

ls > file1

5.历史记录

Bash 能记住你以前输入过的命令,上、下方向键可以逐行调出它们。使用 history 命令打印历史记录,以管道机制 grep 选择性地输出你想要的结果。

~
. 
..

“~”,也叫做波浪符,用来表示当前用户的主目录。相比通过 cd /home/name 到达你的主目录,你可以输入 cd ~ 来达到相同效果。这点也可以在相关路径上使用:比如 cd ~/Desktop 能够到达当前用户的 Desktop 目录。

同样,“.”代表当前目录,“..”代表当前目录的父目录。使用 cd .. 可以返回上一级目录。它们也可以用在相关路径上,举例说明:你当前处在 Desktop 文件夹下,通过 cd ../Documents 命令,你可以转到与 Desktop 共有同一父文件夹的 Documents 文件夹去。

(译注:“-”代表前一个目录,cd - 可以返回到前一个工作目录。)

6.后台命令

Bash 默认情况下会在当前终端下执行你键入的每条命令。通常这样是没有问题的,但是如果你想要在启动某个应用后继续使用终端呢?通过输入 firefox 启动火狐浏览器,你的终端将被错误提示等各种信息输出占据,直到你关闭火狐浏览器为止。在 Bash 中你可以通过在命令结尾添加“&”操作符来后台执行程序。

firefox &

7.条件执行

Bash 也可以连续执行两条命令。 第二条命令仅在第一条命令成功执行后才会开始执行。如要如此,你可以通过键入“&&”,也就是两个“&”字符进行分隔,在同一行输入两条命令。下面给出的命令会在等待 5 秒后运行 gnome-screenshot 工具:

sleep 5 && gnome-screenshot 

via: http://www.efytimes.com/e1/fullnews.asp?edid=123564

译者:SteveArcher 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

让GUI都玩儿蛋去!鼠标是你的敌人!只有键盘才是你唯一的朋友!

如果把Vim和Tmux结合在一起会发生什么?你将拥有完美的编程环境!下面是我多年来珍藏的一些不传之秘,有了这些,你立刻就能轻松打造出属于你的Vim开发环境。

Tmux相关

  • Tmux速成班,这个不错,可以让你快速掌握如何开始使用Tmux。
  • 这是我的tmux.conf配置文件,它有一个定制状态栏,可以大大改进颜色主题、优化可读性,里面还有一个必不可少的操作:重设快捷将,因为Ctrl+bVim要用,因此它帮你改为了Ctrl+a。
  • 其实,构建优化IDE就像写一个bash脚本一样简单。链接内的例子展示了如何编写一个.sh脚本来运行你自己的编程环境。

Vim插件

  • Vundle,Vim的插件管理器,用它可以跟踪.vimrc文件中的所有插件,还可以进行脚本的一键安装、更新或删除。额,我会告诉你用它还可以直接在Vim里搜索插件吗?总之,这个插件扩展绝对是居家旅行、杀人越货之Vim必备佳品。
  • Syntastic 可以检测语法是否正确,写代码的时候要想避免低级错误,这个工具必不可少,它的确能大大提高你的代码编写速度。
  • Supertab,这款插件可以帮助你使用实现自动补全。它会搜索当前文档中的所有字符串,然后给出所有的匹配项建议。对写代码带来的好处不只是提升速度,还可以避免很多拼写错误。如果有兴趣,在本文最后一部分用户推荐,有此插件的替代品。
  • Ack,99%的用户会选择用它代替grep。它完美集成在Vim里,用户可以直接用它搜索项目文件,搜索结果则显示在一个独立的窗口里。在本文最后一部分用户推荐,也有此插件的替代品。
  • CtrlP 能够极快的模糊搜索全路径文件、缓冲区、“最近使用”(MRU)和标签等等,纯粹用VimL写成,专为Vim搜索。
  • NERDTree 可以帮你浏览整个文件系统、打开文件或目录。它以树形结构显示整个文件系统,支持键盘操作和简单的文件系统操作。
  • Sparkup可以帮助你更快的编写HTML代码。支持类CSS语法完整的HTML扩展代码。在本文最后一部分用户推荐,也有此插件的替代品。

小贴士

  • Vimux可以帮你在Vim中与Tmux进行交互。例如在不需要离开Vim的情况下进行测试、编写脚本、建立任务等。
  • 《自动安装Vundle》这篇文章介绍了在.vimrc配置文件中只需添加几行VimL脚本,这样每次你在一个新环境中运行Vim的时候,它就能自动安装Vundle及所有关联包。在你拷贝Vim配置文件到一个新环境或新的服务器时,这是非常有用的。
  • 一名开发者的成功故事介绍了他是如何告别他曾经最信任的MacBook Pro,并改用iPad + Linode在云上开始开发工作。

用户推荐

  • YouCompleteMe,由Reddit用户hnasarat推荐。它安装起来稍微麻烦一些,但是支持非常强大的语法补全,包括C、Ruby、Python、PHP等许多语言。
  • Ag,由gckjk推荐,大多数Reddit用户都知道它,这是升级版的ack,速度快了3到5倍。它能读取.gitignore和.hgignore,或者.agignore,从而忽略一些被版本控制软件所忽略的匹配文件(译注:不加入版本库的文件,我想你大多数时候没有搜索它的意图)。
  • Emmet,由另一个资深reddit用户damnated推荐。这是一款Sparkup的替代品,可以非常方便快速地用标签标记字符串。链接里有示例演示视频。
  • Unite由网友 basetta推荐,它可以作为前面多个插件的集大成者。你可以用它搜索文件(就像CtrlP),搜索文档内容(就像ack或ag),还可以在下拉历史或缓冲区间进行自由移动和切换。所有这些功能都集成在了这一个插件里,非常方便!

via: http://devcharm.com/pages/18-vim-is-your-new-ide

译者:Mr小眼儿 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

有些时候你可能想要记录一个终端会话,也许是为了保存一个复杂的命令行操作为将来使用的参考,或者是为了知识分享。你可能也希望记录的文件尺寸尽可能的小一点,并且希望当播放记录文件时可以做一个快速回放。在这个文章中我们将讨论两个命令行工具( ttyrecttyplay )来让你记录、保存和播放终端会话。

ttyrec & ttyplay

看名字就知道ttyrec命令是用来记录终端会话的,ttyplay是用来播放ttyrec记录的会话的。

这里是这些工具的man截图:

> ttyrec

> ttyplay

测试环境

  • 系统 – Ubuntu 13.04
  • Shell – Bash 4.2.45
  • 应用 – ttyrec 1.0.8-5 & ttyplay 1.0.8-5

简明教程

下面告诉你怎么用这些命令来记录和播放一个终端会话。

步骤-1

开始记录一个终端会话,只需要运行下面的命令:

$ ttyrec [文件名] 

参数 [文件名] (上面显示的命令)是一个选项,可以指定你想要的任何名字。这个记录文件将会用这个名字保存下来。如果你没有指定一个文件名,ttyrec就会用 ttyrecord 作为缺省文件名。

步骤-2

当你想要记录的时候你就可以运行这个命令,就开始记录会话了。ttyrec命令甚至可以记录命令行类似vi,nano,emacs,lynx等这些命令行工具的会话。

步骤-3

到你想要结束终端会话的时候,只需要运行 exit 命令,这个会话记录就会结束。记录文件将会保存在当前文件夹下。

你可以运行下面的命令播放这个文件:

$ ttyplay [文件名] 

参数 [文件名] 就是记录文件名,就是上面通过 ttyrec 命令给定参数的那个名字。如果没有指定文件名,那么缺省文件名就是 ttyrecord

当你运行ttyplay,回放会话记录就会开始。这里给出一些当你回放会话的时候你可以用的快捷键。

  • ‘+’或‘f’键可以加速到两倍正常播放速度。
  • ‘-’或‘s’键可以减慢到一般正常播放速度。
  • ‘0’可以暂停。
  • ‘1’可以回到正常播放速度。

这有一些其它ttyrec和ttyplay命令支持的选项:

> ttyrec

ttyplay

还有另一个小工具 ttytime 可以用来显示用ttyrec工具会话记录的时间。很容易使用并且只需要记录文件名作为命令行参数。

举一个例子:

$ ttytime record_file
 29 record_file 

这样你就可以看到ttytime命令显示会话记录文件record\_file的时间。

这有一个ttyrec和ttyplay命令的很有用的视频:

下载/安装/配置

这有一些关于这些工具的重要的链接:

你可以使用任何命令行下载管理器比如apt-get或者yum来下载ttyrec,ttyplay和ttytime。Ubuntu用户也可以通过Ubuntu软件中心下载安装这些工具。

优点

  • 轻量级并且易用
  • 可以记录多种流行的命令行工具比如vi,nano,lynx等
  • 没有学习曲线。

缺点

  • 不能在IRIX6.4下工作(译注:这还算事吗?)
  • 依赖终端尺寸
  • 大多数Linux发行版没有预装。

结论

如果你正在找一些Linux轻量级命令行工具用来记录播放终端会话,那么ttyrec和ttyplay是理想的工具。我真的喜欢使用它们带来的轻松。试一下这些工具,你不会失望的。

你使用过ttyrec,ttyplay或者其它的终端记录/播放 工具?分享你的经历给我们吧。


via: http://mylinuxbook.com/ttyrec-ttyplay-record-and-play-terminal-sessions-in-linux/

译者:flsf 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

时常,某个程序或软件并没有语法错误,并且你检查它的相关内容也确实没有发现问题。这是因为你用普通文本编辑器软件来查看的时候,有许多字符没有显示出来,但在终端使用cat命令可以很容易地检测出是否存在这些字符。

首先,我们创建一个简单的文本文件,写入一些特殊字符。打开终端,运行命令:

printf 'testing\012\011\011testing\014\010\012more testing\012\011\000\013\000even more testing\012\011\011\011\012' > /tmp/testing.txt

现在用不同的编辑器软件打开,显示的结果会不同。用简单的cat打开将显示:

$ cat /tmp/testing.txt 
testing
        testing

more testing

even more testing

如果用nano或者vim打开,将会看到:

testing
            testing^L^H

more testing
    ^@^K^@even more testing

现在我们给cat加上一些选项参数,以便能显示出特殊字符来。

用cat -T命令来显示TAB键的字符^I

cat -T /tmp/testing.txt
testing
^I^Itesting

more testing
^I
  even more testing
^I^I^I

用cat -E命令来显示行尾的结束字符$

$ cat -E /tmp/testing.txt
testing$
        testing
  $
more testing$

even more testing$
            $

用简单的cat -A命令就可以显示所有不可见的字符:

$ cat -A /tmp/testing.txt
testing$
^I^Itesting^L^H$
more testing$
^I^@^K^@even more testing$
^I^I^I$

via: http://linuxaria.com/pills/linux-terminal-seeing-the-unseen-characters-with-cat?lang=en#more-7645

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:runningwater 校对:Caroline

你可能知道,可以在你的浏览器里进行互联网速度测试。不过这篇Make Tech Easier教程给我们展示了如何在终端窗口中做同样的事情,非常适合你的树莓派或家用服务器上做。

打开一个终端,只需要运行下面命令:

wget -O /dev/null http://speedtest.wdc01.softlayer.com/downloads/test10.zip

这个测试是使用wget命令从远程仓库服务器下载一个10MB文件(译者注:其实你可以下载任何一个其它的较大文件)。当文件下载完成,下载速度就会显示在终端,你就可以知道你正在连接的网络速度有多快了(译者注:其实这也与你所下载的文件所在的带宽有关,并非全面的测试)。

任何运行linux的PC(译者注:一般,我们所说的PC是指'IBM PC兼容机',此架构中的中央处理器采用英特尔或超微等厂商所生产的中央处理器)能够运行wget命令。WindowsMac用户需要下载这个程序,但是功能差不多是一样的。点击下述链接可以了解更多。

怎样从终端测试你的网速 | Make Tech Easier

via: http://lifehacker.com/how-to-test-your-internet-speed-with-a-terminal-command-1364123567

译者:flsf 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出