首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构建shell/BBS服务器的推荐书籍

构建shell/BBS服务器的推荐书籍
EN

Stack Overflow用户
提问于 2011-06-21 05:45:10
回答 2查看 887关注 0票数 5

我正在为学校做一个独立的项目,我需要一些关于可能的资源的指导。基本上,我试图在C或C++中构建一个Unix样式的shell (以后可能移植到Windows)。我将以模块化的方式添加shell命令,同时添加功能。最后一步是添加一个" connect“命令,允许用户连接到我设计的telnet。BBS也只有基本的骨骼功能。例如,我可能会有新闻脱口,也许是一个基本的应用程序和一个基本的门游戏。

在编程方面,我真的不需要帮助(至少目前还不需要),但是我一直很难找到好的资源来帮助我。我要找的是一本关于shell编程的好书(不是编写脚本,而是从零开始编写shell,以及它与底层系统的各种交互),以及一本关于添加telnet功能的好书--我的意思是,我想使用我的计算机作为服务器,并允许其他几个用户连接,以测试我的系统是否正常工作。目前,我正在阅读Sans的“24小时内自学TCP/IP”,这对那些对CS、算法、数据结构有很好理解的人来说是相当有用的。我只是需要一些更具体的东西。

我是普渡大学二年级的计算机科学专业学生,我正在做这个独立的研究,以便把我迄今为止学到的许多概念联系起来。如果有人能指出一些真正优秀的资源,这将是非常感谢的。

请让我知道,如果你需要更多的细节或澄清,以指出我的适当资源。请注意,我愿意购买任何一本书,如果它证明是一个宝贵的资源。此外,我也尝试过搜索这些资源,但大多数问题似乎过于具体(通常是关于某些人在实现shell时遇到的问题,等等);我也希望得到该领域有经验的程序员的个人建议。

提前谢谢。-S

PS-为了澄清年轻程序员的"BBS“,这是互联网之前的情况。老派,拨号,文本为基础的公告板系统上的2400波特调制解调器。我显然不能准确地再现这一点,但我的希望是综合使用telnet或SSH的体验。有关telnet的更多信息,请参见http://www.telnetbbsguide.com/。我需要能够写我自己的软件,虽然,它只是一个真正的BBS功能的一小部分。但是,我不确定我需要搜索什么才能了解更多关于这方面的知识--我是否应该完全地查看服务器书籍、网络书籍或其他东西?

PPS-更多的澄清。我在BBS上看到的大部分书都是关于如何使用现有软件建立、运行和维护BBS作为sysop的书籍。我需要做的是自己编写软件。我可能会使用telnet,因为它似乎更容易使用该SSH (至少,编程-请纠正我,如果我错了这一点)。我的朋友建议我买一本关于模式的书,还有一本“实用程序员”。请让我知道,如果他是指向正确的方向,我想建设。另外,顺便提一句,我确实对编程、算法和数据结构有相当不错的(如果说是基本的)知识--但我绝对不了解网络或服务器,我也不太确定我到底需要知道多少才能开始这个项目的开发。嗯,我对网络有点了解,只是不是从程序员的角度。再次感谢大家。

EN

回答 2

Stack Overflow用户

发布于 2011-06-22 06:08:51

有一本关于unix编程的书!作者是ooc.pdf的杰出作者Axel Tobias-Schreiner,The“面向对象的C" PDF (Google it,但不要忘记他的名字!)

它被称为“使用带有诅咒、Lex和Yacc的C:为Unix构建一个窗口Shell”(,Prentice,1990);它实际上应该被认为是从K&R 开始的传奇故事的第3部分--“C编程语言”,并在K&P “UNIX编程环境”的后半部分继续进行。

这本书描述的外壳是一个流氓风格的“窗口系统”,它在终端内部工作(使用诅咒),它包括一个文本文件查看器和一个在这些"windows“中运行命令的命令语言解释器。命令语言使用lex和yacc来实现lexer/解析器。因此,这本书是关于如何做这些事情的介绍,它是C语言中的一个大型读写程序,是使用诅咒、复杂选项处理和使用广受欢迎的标准unix工具实现编程语言的代码片段的金矿。

票数 3
EN

Stack Overflow用户

发布于 2011-06-21 12:56:06

我从来没有看过一本关于shell编程的书,尽管我很高兴地发现这样的事情存在。

但是,实际上,编写一个shell难道不是您将要实现的特征清单是如何解释用户输入的计算的顺序吗?你可以在“经典壳牌编程”、罗宾斯和比比以及“C壳牌领域指南”( Andersons)和其他方面看到一个很好的评估顺序。

当然,通过深入了解shell、bash、z shell、ksh的可用源代码,您将学到很多东西。

对不起,我对你问题的BBS服务器部分没有任何想法。当您发现SAMS的书很有帮助时,我建议您看看理查德·史蒂文斯的网络编程系列丛书,它是99%的Unix网络编程,可能不是您想要的。

(最后,考虑更改bash或zsh的推荐标记,因为S.O.的许多定期撰稿人通过搜索“他们”标签来检查新问题。那些能更好地回答你问题的人可能不是在读)

我希望这能帮到你。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6420868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档