在图1-1中,我试图为你提供Linux操作系统的高级概述,并给出了对应本书的章节。
图1-1:Linux操作系统及本书相应章节
在其核心,任何Linux发行版都有内核,提供API,其他一切都是在此基础上构建的。文件、网络和可观测性这三个核心主题处处都会涉及,你可以将它们视为内核之上最基本的构建块。从纯使用的角度来看,你很快就会了解到你将经常处理shell(这个应用程序的输出文件在哪里?)和与访问控制相关的事情(为什么这个应用程序会崩溃?啊,这个目录是只读的)。
顺便说一句:我在第9章收集了一些有趣的主题,从虚拟机到现代发行版。我称这些主题为“进阶主题”,主要是因为我认为它们是可选的。也就是说,你可以不去学习它们。但是,如果你诚心诚意地想从现代Linux所提供的全部功能中受益,那么我强烈建议你阅读第9章。我想不用说,按照设计,本书的其余部分,即第2章到第8章,都是你最应该学习和应用的重要内容。
在本书中,我们会不时地遇到POSIX这个术语,它是Portable Operating System Interface(可移植操作系统接口)的缩写。在形式上,POSIX是定义UNIX操作系统服务接口的IEEE标准。其动机是提供不同实现之间的可移植性。因此,如果你读到“POSIX兼容”之类的东西,请考虑一组与官方上下文特别相关而与日常使用不太相关的正式规范。
Linux被构建为与POSIX兼容以及与UNIX系统V接口定义(SVID)兼容,这使它成为具有老式AT&T UNIX系统的风格,而不是Berkeley Software Distribution(BSD)风格的系统。
如果你想了解更多关于POSIX的知识,请查看“POSIX Abstractions in Modern Operating Systems: The Old,the New,and the Missing”( https://oreil.ly/DO04h ),其中很好地介绍和评论了这个主题的相关应用和挑战。