1.历史Linux操作系统诞生于1991年,是典型的Unix克隆系统。它是一个基于POSIX和Unix的多用户、多任务、多线程和多CPU操作系统。同时,Linux继承了Unix以网络为中心的设计思想,也是一个性能稳定的多用户网络操作系统。Linux最初是由FinnLinusTorvalds设计的。当时,由于Unix的商业化,AndrewTannebaum教授开发了Minix操作系统,目的是为教学和研究提供一个不受AT&T许可协议约束的操作系统。它当时发布在互联网上,全世界的学生都可以免费获得。Minix具有更多的Unix特性,但它并不完全兼容Unix。1991年10月5日,LinusTorvalds编写了一个“类Minix”操作系统,以便为Minix用户设计一个更有效的UnixPC版本。当时的原始内核版本是0.02。Linus将它发送到Minix新闻组并得到了快速响应。Linus扩展了这种简单的任务切换机制,并在众多热心支持者的帮助下,开发并推出了第一个稳定工作的Linux版本。1991年11月推出Linux0.10版,1991年12月推出0.11版,当时是在网上免费发布,供人们使用。当Linux非常接近可靠、稳定的系统时,Linus决定将0.13版本称为0.95版本。1994年3月,正式的Linux1.0出现了,这几乎是正式的独立宣言。到那时,它的用户群已经有了相当大的增长,并且已经建立了一个核心Linux开发团队。开源、开放、免费是Linux的魅力所在。Linux诞生后,在互联网的帮助下,在全世界计算机爱好者的共同努力下,成为了世界上用户最多的类Unix操作系统。在Linux操作系统的诞生、成长和发展过程中,它在Unix操作系统、GNU项目、POSIX标准和Internet中发挥了重要作用。Linux也有很好的可移植性。Linux被编译为可以在具有不同体系结构约束和要求的大量处理器和平台上运行。经过30年的发展,Linux操作系统已经成为广泛应用于服务器、嵌入式系统和个人电脑等诸多方面的操作系统。2.内核介绍Linux是一个集成内核(MonolithicKernel)系统。“内核”是指提供硬件抽象层、磁盘和文件系统控制、多任务处理等功能的系统软件。内核不是完整的操作系统。一个完整的基于Linux内核的操作系统称为Linux操作系统,即GNU/Linux。设备驱动程序可以完全访问硬件。Linux中的设备驱动程序可以方便地以模块化的形式建立起来,在系统运行时可以直接加载或卸载。内核是Linux操作系统最重要的部分。从最初的0.95版本到现在的4.9.4版本,Linux内核已经发展了30年,其架构一直非常稳定。Linux内核的编号采用如下编号格式。major.minor.revision然而,在2.6.x系列中,从2.6.8.1内核开始一直到2.6.11,次要内核漏洞和安全补丁被赋予了次要版本号,例如2.6.11.1。在LinuxTerminal下,查看本地内核信息的命令如下。root@kali:~#uname-aLinuxZYB-KALI-VM4.0.0-kali1-amd64#1SMPDebian4.0.4-1+kali2(2015-06-03)x86_64GNU/Linux加载内核模块的命令是:insmodfilename命令删除内核模块是:rmmodfilename,其中filename是用户准备的模块文件,需要添加到内核中。检查系统已加载的内核模块(部分)如下。root@kali:~#lsmodModuleSizeUsedbycfg802114546560binfmt_misc204801nfnetlink_queue245760nfnetlink_log204800Bluetooth4259840nfnetlink163842nfnetlink_log,nfnetlink_queueRfkill204803cfg80211,bluetoothvmw_vsock_vmci_transport286722vsock327683vmw_vsock_vmci_transportsnd_ens1371245764snd_rawmidi286721snd_ens1371snd_seq_device163841snd_rawmidisnd_ac97_codec1187841snd_ens1371snd_pcm901122snd_ac97_codec,snd_ens1371snd_timer286721snd_pcmsnd6963214snd_ac97_codec,snd_timer,snd_pcm,snd_rawmidi,snd_ens1371,snd_seq_deviceppdev204800soundcore163841sndac97_bus163841snd_ac97_codec3.发行版本Linux的发行版本众多,曾有人收集过超过300种的发行版本,其中主要有3个著名发行VersionsofFedora,SUSE,andDebian,asshowninFigure1.Figure1LinuxdistributionversionFedoraisbasedonthecommunityversionofRHEL,CentOS,ScientificLinuxandOracleLinux.FedorapacksmorepackagesthanRHEL.CentOSisusedforevents,demos,andexperimentsbecauseitisfreelyavailabletoendusersandhasalongerreleasecyclethanFedora(typicallyanewversionisreleasedeverysixmonthsorso).TherelationshipbetweenSUSE,SUSELinuxEnterpriseServer(SLES),andopenSUSEissimilartothatofFedora,RedHatEnterpriseLinux,andCentOS.DebianisupstreamformanydistributionsincludingUbuntu,whichinturnisupstreamforLinuxMintandothers.Debian在服务器和桌面计算机领域都有广泛的应用。它是一个纯粹的开源项目,专注于一个关键点——稳定性。它还为用户提供了最大、最完整的软件资源库。KaliLinux是基于Debian开发的。其他发行版包括Magela、Manjaro、Arch、Elementary和GentooLinux。4、文件系统Linux的文件组织结构与Windows不同。Linux不使用磁盘分区符号来访问文件系统,而是将整个文件系统表示为树状结构。Linux系统每增加一个文件系统,都会被添加到这棵树中。在操作系统文件结构的开头,只有一个顶级目录结构,称为根目录。一切都从“根”开始,用“/”表示,并延伸到子目录。DOS/Windows下的文件系统按磁盘分区的概念分类,目录存放在分区上。Linux则是通过“挂载”的方式,将所有分区放在“根”下的各个目录下。KaliLinux系统的文件结构如下。root@kali:/#ls-ltotal96-rw-r--r--1rootroot0Aug1120150drwxrwxr-x2rootroot4096May162016bindrwxr-xr-x3rootroot4096May162016bootdrwxr-xr-x18rootroot3200Feb2618:35devdrwxr-xr-x182rootroot12288Feb2618:40etcdrwxr-xr-x2rootroot4096Jul232015homelrwxrwxrwx1rootroot34Apr282016initrd.img->/boot/initrd.img-4.0.0-kali1-amd64drwxr-xr-x20rootroot4096Apr282016libdrwxr-xr-x2rootroot4096May162016lib64drwxr-xr-x2rootroot4096Aug112015live-builddrwx------2rootroot16384Apr282016lost+founddrwxr-xr-x4rootroot4096May182016mediadrwxr-xr-x3rootroot4096May162016mntdrwxr-xr-x3rootroot4096Aug112015optdr-xr-xr-x147rootroot0Feb2618:34procdrwxr-xr-x16rootroot4096Feb2618:38rootdrwxr-xr-x29rootroot880Feb2618:40rundrwxr-xr-x2rootroot12288May162016sbindrwxr-xr-x3rootroot4096Aug112015srvdr-xr-xr-x13rootroot0Feb2618:34sysdrwxrwxrwt13rootroot4096Feb2618:40tmpdrwxr-xr-x14rootroot4096Aug112015usrdrwxr-xr-x13rootroot4096Apr282016var还可以使用tree命令来直观显示文件目录树结构如下。root@ZYB-KALI-VM:~#tree├──桌面├──文档├──下载├──音乐├──图片├──公开├──模板└──视频,0个文件,目录
