多年来,我一直是 Linux 用户。最近,我每天都在使用它。我正在为媒体寻找建议;商业书籍、免费信息、在线视频等将帮助我更深入地了解操作系统。请您提出建议。
Kar*_*zke 16
理解 Linux 的最好方法是严重破坏它,然后修复它。
Eva*_*son 10
我不确定,当你说一个“更深层次”时,你是在谈论更多地进入命令行(有些人永远不会离开他们的发行版附带的 GUI,如果你能想象的话),或者真的坚韧不拔的低级东西,例如编写内核驱动程序。我将更多地假设前者而不是后者。
我建议您为使用 Linux 和在 Linux 上运行的应用程序(运行 Web 服务器、向 Windows 主机提供文件、提供 DHCP、运行图形桌面等)设定合理的目标。我坚信只有在“做”的时候才能学习。一旦你心中有了目标,就去追求它。这意味着阅读手册页(大量的手册页)、“HOWTO”文档、邮件列表档案、随机的博客文章,当然,还有您正在安装或编译以在您的计算机上运行的各种程序附带的文档。盒子。
教了几年IT认证课程的课堂,我相信我可以有一定的权威性说,我看到的进步最大的学生是那些自己设计的疯狂项目,坐在座位上学习的学生他们的裤子。
正如我之前所说,手册页、“HOWTO”文档(http://tldp.org/docs.html以及“网络”上的许多其他地方)和邮件列表档案都是您的朋友。我会避开任何讨论内核内部结构的书籍,至少在现阶段是这样。你不需要那种深入的知识就可以开始。
与其他人交谈。Server Fault 看起来似乎是一个获得好的建议的好地方。在这里提问,不要认为你这样做会显得很愚蠢。如果您可以与熟悉 Linux 的人进行一些“面谈”,那就去吧。(尽管我建议您尝试将意见与事实分开。Linux 社区中关于如何做事的不同意见的“圣战”与任何其他社区一样多——也许更多,考虑到社区的性质.)
要真正“深入”了解 Linux 的 Unix 遗产,您可以阅读一些较旧的 Unix 特定管理或参考手册。我会尽早避开这些(至少直到您能够理解 Linux 与某些 Unix 派生的操作系统相比的“未采用的路径”的历史性质)。
不知道你的整体技能水平是什么,我会大声疾呼一本书,我的或可能不会。我强烈推荐“TCP/IP Illustrated”(http://www.amazon.com/Illustrated-Volumes-Addison-Wesley-Professional-Computing/dp/0201776316)。它根本不是特定于 Linux 的,但是您将做很多处理 TCP/IP 的事情,知道它“冷”是不费吹灰之力的。
我想,简而言之,我是说没有魔法书或书籍,没有“大师”从中学到的超级秘密视频,但如果你坚持下去并且不害怕,你可以学到的东西绝对没有限制弄脏你的手。
Dav*_*ley 10
只有多年使用单个组件的经验才能让您深入了解。话虽如此,如果您不是傻瓜并且有超过 24 小时的时间,那么绝大多数 Oreilly Press 的书籍都写得非常好且完美。:)
有一个名为Linux From Scratch的项目,它向您展示了如何从无到有构建 Linux 发行版。你可能会发现做一次很有教育意义。这将非常耗时,因为您需要从源代码编译所有内容,最后将其全部丢弃。
我发现LWN.net的内核页面对于在高层次上跟上内核中的工作方式是非常宝贵的。
除了每天使用它(我认为这是一件很棒的事情!),我建议您开始考虑可以在 linux 机器上为您的网络实现的服务。开始基于 Linux 服务设计它,准备好后进行研究和实施。在此过程中可能会出现错误,而这种经验将帮助您更深入地了解操作系统。
您可以在 Linux 文档项目的指南页面找到几个免费指南。这是我从那里挑选的一个简短列表,但您应该滚动页面以找到您需要的内容。
您应该为您感兴趣的主题寻找特定的HOWTO。另一个日期排序的 HOWTO 列表。
最后,这是一本在线小书——Linux Kernel in a Nutshell。它是 2007 年版的 PDF 格式。
您应该仅将这些参考资料用作开始自己搜索所需内容的触角。
对于一般 Unix 哲学和对命令行的出色介绍,有 Brian Kernighan 和 Rob Pike 的经典The Unix Programming Environment。
此外,IBM 的DeveloperWorks网站在其 Linux 部分有 900 多篇文章。您可以浏览文章列表以查找您感兴趣的主题。
最后,一旦你准备好进入细节,就去源头。在kernel.org 获取您正在使用的内核版本的源代码(您的发行版也将包含您可以安装的内核源包)并查看文档目录。你会发现很多关于内核内部和配置设置的参考资料。