Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。
特点
真正的多用户多服务
Linux系统允许多个用户在不同或相同的终端同时登录,并确保这些用户共同合理有效的使用统一主机资源。每个用户根据所拥有的不同的权限拥有自己独立的操作环境,且每个用户都感受不到其他用户的存在。
高度的安全性和稳定性
Linux采取了许多安全技术措施,包括对读、写控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。
良好的兼容性
将操作系统从一个平台转移到另一个平台使它仍然能挄其自身的方式运行的能力。Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。
完全免费
Linux是一款开源软件,其源代码可以免费获得并任意修改。
支持多平台
Linux可以运作在多种不同的硬件平台上,如X86,SPARC,Alpha等处理平台。作为一种嵌入式系统,Linux在掌上电脑,手机,机顶盒,游戏机,手持终端,各种规模的控制器上也表现优良,可提供强大而全面的系统功能。
强大的网络功能
Linux的基础网络功能由内核直接提供支持,因此用户可以进行更快速的网页浏览,文件传输,也可以更安全的完成远程登录。
美观的用户界面
Linux的用户界面分为图形界面和字符界面两类
Linux的组成
Linux有内核,shell,X Window和大量的应用程序组成,内核位于操作系统的最底层,中间是shell,最上层是X Window和应用程序。
内核
内核(kernel)是最基础和最重要的部分。
内核主要作用是运行程序和管理硬件。
内核包括几个主要部分:进程管理、内存管理、硬件设备驱动、文件系统驱动、网络管理和其他一些部分。
shell
shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令,并把它送入内核去执行。
shell实际上是一个命令解释器。
目前有如下主要版本的shell。
Bourne shell:贝尔实验室开发。
BASH: GNU开发。
Korn shell:针对Bourne shell的发展。
C shell:sun公司开发。
shell中的命令分为内部命令和外部命令。前者包含在shell之中,如cd、exit等,查看内部命令可用help命令。后者存于文件系统某个目录下的具体可操作程序,如cp等,查看外部命令的路径可用which。
文件系统
文件系统是文件存放在磁盘等存储设备上的组织方法。linux系统能支持多种目前流行的文件系统,如EXT2、 EXT3、 FAT、 FAT32、 VFAT和ISO9660。
应用程序
标准的linux系统一般都有一套都有称为应用程序的程序集,它包括文本编辑器、编程语言、X Window、办公套件、Internet工具和数据库等。
Linux的功能
- 文件管理
- 进程管理
- 内存管理
- 用户和组群管理
- 设备管理
Linux硬盘分区
在Linux系统中,磁盘的分区主要分为主分区(primary partion)和扩展分区(extension partion)两种,基本分区和扩展分区的数目之和不能大于四个。
- 主分区可以马上被使用但不能再分区。
- 扩展分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。由扩展分区再分下去的是逻辑分区(logical partion),况且逻辑分区没有数量上限制。
- 一块硬盘上可能出现的分区有swap分区,主分区,扩展分区,和逻辑分区四类。
- swap分区
虚拟内存,相当于缓存,其存取效率比其他硬盘分区快,以便与内存的存取相匹配,该分区存储的是物理内存中暂时不能运行的进程,因此不允许用户对其修改 - 主分区(primary)
主分区是用来进行数据存储的物理空间,最多有四个 - 扩展分区(extended)
在一块硬盘上最多只能有一个扩展分区,如果无需过多分区,甚至不用划分扩展分区。 - 逻辑分区(Logical)
逻辑分区位于扩展分区内,一个扩展分区可以分为多个逻辑分区,这些逻辑分区的容量总和与扩展分区容量相同。
Linux的操作界面
分为字符型界面和图形化界面,主要说图形化界面
- X Window
X系统由3个相关的部分组合起来的.X Server,X Client,X 协议。
1.服务端(Server)
Server是控制显示器和输入设备(键盘和鼠标)的软件。Server可以创建视窗,在视窗中绘图和文字,回应Client程序的”需求”(requests),但它不会自己完成,只有在Client程序提出需求后才完成动作。
2.客户端(Client)
Client是使用系统视窗功能的一些应用程序。在X下的应用程序称做Client,原因是它是Server的客户,要求Server回应它的请求完成特定动作。
Client无法直接影响视窗行为或显示效果,它们只能送一个请求(request)给Server,由Server来完成这些的请求。典型的请求通常是”在某个视窗中写’Hello World’的字符串”,或者从A到B划一条直线。
用户可以通过不同的途径使用Client程序:通过系统提供的程序使用;通过第三方的软件使用;或者用户为了某种特殊应用而自己编写的Client程序来使用。
3.X 协议
是X Server和X Client之间传送信息所用的协议,目前支持TCP/IP等