Closed. This question is off-topic。它目前不接受答案。
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
三年前关闭。
我正在为学校做一个独立的项目,我需要一些关于可能的资源的指导。基本上,我试图在C或C++中构建一个UNIX风格的shell(可能移植到Windows)。我将以模块化的方式添加shell命令,同时添加功能。最后一步是发布一个“connect”命令,允许用户连接到我设计的telnet BBS。BBS也将只具有基本的骨架功能。例如,我可能会有新闻简介,可能是一个基本的应用程序和一个基本的门游戏。
我并不真的需要编程方面的帮助(至少现在还不需要),但是我一直很难找到好的资源来帮助我。我要找的是一本关于shell编程的好书(不是编写脚本,而是从头开始编程shell,以及它与底层系统的各种交互),以及一本关于添加telnet功能的好书——我的意思是,我想将我的计算机用作服务器,允许其他一些用户连接以测试我的系统是否正常工作。我目前正在阅读Sans“24小时自学TCP/IP”,这对理解CS、算法、数据结构等的人来说是相当有用的。我只需要一些更具体的东西。
只是一点背景-我是普渡大学计算机科学二年级的学生,我做这项独立的研究是为了把我学到的许多概念联系起来。如果有人能给我推荐一些真正优秀的资源,我将不胜感激。
请让我知道,如果你需要更多的细节或澄清,以便我指向适当的资源。请注意,我愿意购买任何可用的书,如果它被证明是一个宝贵的资源。另外,我也试过在上面搜索这些资源,但是大多数问题似乎太具体了(通常是关于某人在实现shell时遇到的问题等);我也更喜欢该领域经验丰富的程序员的个人建议。
提前谢谢。
-S公司
PS-为年轻程序员澄清“BBS”——这就是互联网之前存在的东西。古老的学校,拨号,2400波特调制解调器上的文本公告板系统。显然我不能完全重新创建,但我的希望是综合使用telnet或SSH的经验。有关telnet BBS的更多信息,请参见on-topic。我需要能够编写自己的软件,虽然,这只是一个真正的BBS功能的一小部分。但是,我不确定我需要寻找什么来了解更多关于这方面的信息-我应该看看服务器书籍,网络书籍,还是其他什么?
PPS-更多说明。我在BBS上看到的大部分书籍都是关于如何使用预先存在的软件来安装、运行和维护BBS作为一个SysOP的书籍。我需要做的是自己写软件。我可能会使用telnet,因为它似乎更容易使用SSH(至少,编程-请纠正我,如果我错了这一点)。我的朋友建议我买一本关于模式的书,还有一本《实用程序员》。请让我知道,如果他是指我在正确的方向,我想建设。另外,作为补充说明,我对编程、算法和数据结构有相当不错的(如果是基本的)知识——但绝对没有网络或服务器方面的知识,我也不确定为了开始这个项目的开发,我到底需要知道多少。嗯,我对网络有点了解,只是不是从程序员的角度。再次感谢大家。
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
三年前关闭。
我正在为学校做一个独立的项目,我需要一些关于可能的资源的指导。基本上,我试图在C或C++中构建一个UNIX风格的shell(可能移植到Windows)。我将以模块化的方式添加shell命令,同时添加功能。最后一步是发布一个“connect”命令,允许用户连接到我设计的telnet BBS。BBS也将只具有基本的骨架功能。例如,我可能会有新闻简介,可能是一个基本的应用程序和一个基本的门游戏。
我并不真的需要编程方面的帮助(至少现在还不需要),但是我一直很难找到好的资源来帮助我。我要找的是一本关于shell编程的好书(不是编写脚本,而是从头开始编程shell,以及它与底层系统的各种交互),以及一本关于添加telnet功能的好书——我的意思是,我想将我的计算机用作服务器,允许其他一些用户连接以测试我的系统是否正常工作。我目前正在阅读Sans“24小时自学TCP/IP”,这对理解CS、算法、数据结构等的人来说是相当有用的。我只需要一些更具体的东西。
只是一点背景-我是普渡大学计算机科学二年级的学生,我做这项独立的研究是为了把我学到的许多概念联系起来。如果有人能给我推荐一些真正优秀的资源,我将不胜感激。
请让我知道,如果你需要更多的细节或澄清,以便我指向适当的资源。请注意,我愿意购买任何可用的书,如果它被证明是一个宝贵的资源。另外,我也试过在上面搜索这些资源,但是大多数问题似乎太具体了(通常是关于某人在实现shell时遇到的问题等);我也更喜欢该领域经验丰富的程序员的个人建议。
提前谢谢。
-S公司
PS-为年轻程序员澄清“BBS”——这就是互联网之前存在的东西。古老的学校,拨号,2400波特调制解调器上的文本公告板系统。显然我不能完全重新创建,但我的希望是综合使用telnet或SSH的经验。有关telnet BBS的更多信息,请参见on-topic。我需要能够编写自己的软件,虽然,这只是一个真正的BBS功能的一小部分。但是,我不确定我需要寻找什么来了解更多关于这方面的信息-我应该看看服务器书籍,网络书籍,还是其他什么?
PPS-更多说明。我在BBS上看到的大部分书籍都是关于如何使用预先存在的软件来安装、运行和维护BBS作为一个SysOP的书籍。我需要做的是自己写软件。我可能会使用telnet,因为它似乎更容易使用SSH(至少,编程-请纠正我,如果我错了这一点)。我的朋友建议我买一本关于模式的书,还有一本《实用程序员》。请让我知道,如果他是指我在正确的方向,我想建设。另外,作为补充说明,我对编程、算法和数据结构有相当不错的(如果是基本的)知识——但绝对没有网络或服务器方面的知识,我也不确定为了开始这个项目的开发,我到底需要知道多少。嗯,我对网络有点了解,只是不是从程序员的角度。再次感谢大家。
最佳答案
有一本关于编程unixshell的书!由Axel Tobias Schreiner撰写,他是ooc.pdf“面向对象的C”pdf的杰出作者(Google it,但别忘了他的名字!).
它被称为“用C和Curses,Lex和Yacc:为Unix系统V构建一个窗口Shell”,Prentice Hall,1990;它确实应该被视为K&R“C编程语言”开始的传奇故事的第3部分,并在K&P“Unix编程环境”的下半部分继续。
这本书描述的外壳是一个流氓风格的“窗口系统”,在终端内部工作(使用光标),它包括一个文本文件查看器和一个命令语言解释器,在这些“窗口”中运行命令。命令语言使用lex和yacc来实现lexer/解析器。因此,这本书是做这些事情的入门书,是一个C语言的大型有文化的程序,是使用诅咒、复杂选项处理和使用备受推崇的标准unix工具实现编程语言的代码片段的金矿。
08-05 18:46