Linux系统中玩到让你停不下来的命令行游戏

Linux系统中玩到让你停不下来的命令行游戏,第1张

大家好,我是良许。

在使用 Linux 系统时,命令行不仅可以让我们在工作中提高效率,它还可以在生活上给我们提供各种 娱乐 活动,因为你可以使用它玩许多非常有意思的 游戏 ,这些 游戏 可都不需要使用专用显卡。

命令行 游戏 尽管比较简单,看上去只是一行行枯燥的代码,但有,还是有不少的 Linux 系统 游戏 却要复杂和有趣一些。实际上,命令行 游戏 一个重要的功能就是需要我们发挥想象力和创造力,在空白的纸上描绘出动人的景象,这非常有利于开发我们的大脑。

下面,我们将介绍几款可以在 Linux 系统中用命令行也能玩的 游戏 。

网络黑客 于1987年首次发布,这款 游戏 还在一直在不停的开发中(3.6.6版本于2020年3月8日发布)。

在一些网友眼中,这款 游戏 被看作是所有流氓类 游戏 的鼻父。尤其是近年来类似的 游戏 也大受欢迎,诸如超越光速、以撒的结合、盗贼遗产、节奏地牢、暗黑地牢等。

这类 游戏 围绕着 探索 和生存展开, 游戏 开始时,你要创造自己的角色,扮演一个传统的梦幻性角色,比如骑士或巫师,然后 游戏 会给你介绍你所扮演角色的主要目标,那就是在地牢的最底层找到尽可能多的护身符,剩下的目标取决于你自己了,可以任意地在 游戏 中任意发挥。

矮人要塞 是在这个名单中唯一一个没有开源的 游戏 ,不过我们任然选择把它放入此次名单中,因为它的影响力和受欢迎程度实在太大了。

在矮人要塞这个 游戏 中,你要么负责控制一个矮人玩要塞模式,挖地洞、种田、狩猎等,要么玩冒险模式,在一个随机产生的大世界里玩耍,这个世界是由首都、村庄、地下墓穴、迷宫、强盗营地等组成的。

要塞模式包括很多面,从手工生产到与邻居交易,再到防御敌人;冒险模式虽然依赖于传统的流氓 游戏 机制,但是其开发深度远远超过像网络黑客这样的 游戏 。

弗罗茨 其实并不是一款真正意义的 游戏 ,它是 Infocom 公司的 游戏 和其他 Z-machine 游戏 (如佐克)的解释器。 佐克 是有史以来最流行的文本冒险 游戏 之一,与上世纪80年代发布的其他文本冒险 游戏 不同,佐克可以解释相当复杂的文本命令(用水晶钥匙开门),就凭这个,它大大提高了 游戏 的可玩性,会给你带来栩栩如生的感觉。

佐克分为三部 游戏 (佐克 l:伟大的地下帝国,佐克 II:罗博兹的巫师,佐克 III:地牢大师),你可以直接从Infocom网站免费下载所有 游戏 。 为了找到更有趣的 Z-machine 游戏 ,下面介绍几场不容错过的 游戏 比赛:

迷路的猪 :是一款非常有趣的 游戏 , 游戏 难度适中。 游戏 大致的内容是你跟随一个兽人,你们必须找回一头逃走的猪。这款 游戏 于2007年发布,在2007年的互动小说大赛中名列第一。

蜘蛛网 :这个 游戏 大致是让你扮演一个被俘间谍的角色,你的目标是向审问者讲述一个似是而非的故事。可别小看这个 游戏 ,你在 游戏 中说的每一句话、每一个细节都会被质疑,你需要发挥聪明才智去和审问者博弈。

见证者 :这个 游戏 由 Infocom 公司创建,它是一个谋杀类的文本 游戏 ,充满神秘和冒险,故事发生在洛杉矶一个安静的郊区,玩家扮演一个侦探,负责调查一个叫 Freeman Linder 的有钱人,他害怕自己的生命受到威胁,玩家需要根据所提供的线索解开谜团。

当我们在等待程更新下载或者安装时,有几个简单的 游戏 来打发时间是很不错的,BSD 游戏 就是不错的选择。BSD 游戏 包含有一个数量相当大的 Linux 系统 游戏 命令行,它们有些最初是与一些BSD 游戏 一起分发的。

BSD 游戏 包括冒险,算术,双陆棋,五子棋,黑客,智力竞赛,俄罗斯方块等。

要启动任何包含在BSD 游戏 中的 游戏 包,只需在终端中输入其名称并按下 enter 键。

大灾变:黑暗之日 是一款基于回合制的生存 游戏 ,在这个 游戏 中,幸存者必须为看到另一个日出而战斗,因为僵尸、杀人机器人、巨型昆虫和其他致命的敌人无处不在。

游戏 以一种相当典型的流氓式的方式开始:你醒来时没有记忆,你的直接目标包括保证食物安全、 探索 你的周围环境等,你的目的是在这个过程中不被杀死。

大灾变:黑暗之日 可以在终端软件上玩,也可以用图形化的 tileset 玩。除了 Linux 系统,它还可在 Windows、macOS、iOS 和 Android 上运行。

2014年,意大利网络开发商加布里埃尔·西鲁利(Gabriele Cirulli)发布了《2048》,互联网立刻爱上了它,因为这个 游戏 虽然简单却让人着迷。这个 游戏 的目的是移动有编号的瓷砖,使两个具有相同编号的瓷砖相互接触,从而使它们合并为一个瓷砖,按照这个方式,直到玩家创建一个编号为2048的瓷砖。

GitHub 页面虽然提供了有关如何下载和安装2048客户端的说明,但实际上只需要两个命令:

​ 受最初投币 游戏 的启发,贪吃蛇是一款多人玩家的 Linux 系统命令行 游戏 , 游戏 屏幕上最多有四条由 游戏 玩家控制的蛇,其他的蛇是系统生成。​ 如果您的系统上安装了贪吃蛇,您可以在终端中输入以下命令开始 游戏 :

该 游戏 由 WASD 方向键或 vim 键绑定控制,您可以随时按 Escape 或 Ctrl+C 退出 游戏 。

Ext、Ext4、ReiserFS文件系统。

1、Ext

Ext是 GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计。

其单一文件大小与文件系统本身的容量上限与文件系统本身的簇大小有关,在一般常见的 x86电脑系统中,簇最大为 4KB,则单一文件大小上限为 2048GB,而文件系统的容量上限为 16384GB。

2、Ext4

Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4。Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只是增加了一个日志功能而已。

3、ReiserFS

是一种文件系统格式,作者是Hans Reiser及其团队Namesys,1997年7月23日他将ReiserFS文件系统在互联网上公布。Linux内核从2.4.1版本开始支持ReiserFS。

扩展资料

文件系统的安全:

在Linux系统中,如果黑客取得超级权限,那么他在 *** 作系统里面就不会再有任何的限制地做任何事情。在这种情况下,一个加固的文件系统将会是保护系统安全的最后一道防线。管理员可通过chattr命令锁定系统一些重要文件或目录。

文件权限检查与修改。如果 *** 作系统当中的重要文件的权限设置不合理,则会对 *** 作系统的安全性,产生最为直接的影响。所以,系统的运行维护人员需要及时的察觉到权限配置不合理的文件和目录,并及时修正,以防安全事件发生。

安全设定/tmp、/var/tmp、/dev/shm。在该 *** 作系统当中,其用于存放临时文件的目录,主要有两个,分别为/tmp与/var/tmp。它们有个共同特点,就是所有的用户可读可写和执行,这样就对系统产生了安全隐患。针对这两个目录进行设置,不允许这两个目录下执行应用程序。

参考资料来源:百度百科-文件系统

作为高性能WEB服务器,只调整Nginx本身的参数是不行的,因为Nginx服务依赖于高性能的 *** 作系统。

以下为常见的几个Linux内核参数优化方法。

net.ipv4.tcp_max_tw_buckets

对于tcp连接,服务端和客户端通信完后状态变为timewait,假如某台服务器非常忙,连接数特别多的话,那么这个timewait数量就会越来越大。

毕竟它也是会占用一定的资源,所以应该有一个最大值,当超过这个值,系统就会删除最早的连接,这样始终保持在一个数量级。

这个数值就是由net.ipv4.tcp_max_tw_buckets这个参数来决定的。

CentOS7系统,你可以使用sysctl -a |grep tw_buckets来查看它的值,默认为32768,

你可以适当把它调低,比如调整到8000,毕竟这个状态的连接太多也是会消耗资源的。

但你不要把它调到几十、几百这样,因为这种状态的tcp连接也是有用的,

如果同样的客户端再次和服务端通信,就不用再次建立新的连接了,用这个旧的通道,省时省力。

net.ipv4.tcp_tw_recycle = 1

该参数的作用是快速回收timewait状态的连接。上面虽然提到系统会自动删除掉timewait状态的连接,但如果把这样的连接重新利用起来岂不是更好。

所以该参数设置为1就可以让timewait状态的连接快速回收,它需要和下面的参数配合一起使用。

net.ipv4.tcp_tw_reuse = 1

该参数设置为1,将timewait状态的连接重新用于新的TCP连接,要结合上面的参数一起使用。

net.ipv4.tcp_syncookies = 1

tcp三次握手中,客户端向服务端发起syn请求,服务端收到后,也会向客户端发起syn请求同时连带ack确认,

假如客户端发送请求后直接断开和服务端的连接,不接收服务端发起的这个请求,服务端会重试多次,

这个重试的过程会持续一段时间(通常高于30s),当这种状态的连接数量非常大时,服务器会消耗很大的资源,从而造成瘫痪,

正常的连接进不来,这种恶意的半连接行为其实叫做syn flood攻击。

设置为1,是开启SYN Cookies,开启后可以避免发生上述的syn flood攻击。

开启该参数后,服务端接收客户端的ack后,再向客户端发送ack+syn之前会要求client在短时间内回应一个序号,

如果客户端不能提供序号或者提供的序号不对则认为该客户端不合法,于是不会发ack+syn给客户端,更涉及不到重试。

net.ipv4.tcp_max_syn_backlog

该参数定义系统能接受的最大半连接状态的tcp连接数。客户端向服务端发送了syn包,服务端收到后,会记录一下,

该参数决定最多能记录几个这样的连接。在CentOS7,默认是256,当有syn flood攻击时,这个数值太小则很容易导致服务器瘫痪,

实际上此时服务器并没有消耗太多资源(cpu、内存等),所以可以适当调大它,比如调整到30000。

net.ipv4.tcp_syn_retries

该参数适用于客户端,它定义发起syn的最大重试次数,默认为6,建议改为2。

net.ipv4.tcp_synack_retries

该参数适用于服务端,它定义发起syn+ack的最大重试次数,默认为5,建议改为2,可以适当预防syn flood攻击。

net.ipv4.ip_local_port_range

该参数定义端口范围,系统默认保留端口为1024及以下,以上部分为自定义端口。这个参数适用于客户端,

当客户端和服务端建立连接时,比如说访问服务端的80端口,客户端随机开启了一个端口和服务端发起连接,

这个参数定义随机端口的范围。默认为32768 61000,建议调整为1025 61000。

net.ipv4.tcp_fin_timeout

tcp连接的状态中,客户端上有一个是FIN-WAIT-2状态,它是状态变迁为timewait前一个状态。

该参数定义不属于任何进程的该连接状态的超时时间,默认值为60,建议调整为6。

net.ipv4.tcp_keepalive_time

tcp连接状态里,有一个是established状态,只有在这个状态下,客户端和服务端才能通信。正常情况下,当通信完毕,

客户端或服务端会告诉对方要关闭连接,此时状态就会变为timewait,如果客户端没有告诉服务端,

并且服务端也没有告诉客户端关闭的话(例如,客户端那边断网了),此时需要该参数来判定。

比如客户端已经断网了,但服务端上本次连接的状态依然是established,服务端为了确认客户端是否断网,

就需要每隔一段时间去发一个探测包去确认一下看看对方是否在线。这个时间就由该参数决定。它的默认值为7200秒,建议设置为30秒。

net.ipv4.tcp_keepalive_intvl

该参数和上面的参数是一起的,服务端在规定时间内发起了探测,查看客户端是否在线,如果客户端并没有确认,

此时服务端还不能认定为对方不在线,而是要尝试多次。该参数定义重新发送探测的时间,即第一次发现对方有问题后,过多久再次发起探测。

默认值为75秒,可以改为3秒。

net.ipv4.tcp_keepalive_probes

第10和第11个参数规定了何时发起探测和探测失败后再过多久再发起探测,但并没有定义一共探测几次才算结束。

该参数定义发起探测的包的数量。默认为9,建议设置2。

设置和范例

在Linux下调整内核参数,可以直接编辑配置文件/etc/sysctl.conf,然后执行sysctl -p命令生效。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7347217.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存