「Linux 基础」背景
UNIX和Linux的关系
Linux 是一个类 Unix 的操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Unix 要早于 Linux。
两者之间的区别:
UNIX 系统大多是与硬件配套的,也就是说,大多数 UNIX 系统如 AIX、HP-UX 等是无法安装在 x86 服务器和个人计算机上的,而 Linux 则可以运行在多种硬件平台上
UNIX 是商业软件,而 Linux 是开源软件,是免费、公开源代码的
系统结构
UNIX/Linux系统可以粗糙地抽象为三个层次:
硬件 -> [ 内核层 -> Shell层 -> 应用层 ] -> 用户
1)内核层(Kernel)
内核层是 UNIX/Linux 系统的核心和基础,它直接附着在硬件平台之上,控制和管理系统内各种资源(硬件资源和软件资源),有效地组织进程的运行,从而扩展硬件的功能,提高资源的利用效率,为用户提供方便、高效、安全、可靠的应用环境。
2)shell层
命令解释层。用户输入的命令行由shell解释执行并输出相应结果。
3)应用层
应用层提供基于 X Window 协议的图形环境。X Window 协议定义了一个系统所必须具备的功能(就如同 TCP/IP 是一个协议,定义软件所应具备的功能)
现在大多数的 UNIX 系统上(包括 Solaris、HP-UX、AIX 等)都可以运行 CDE (Common Desktop Environment,通用桌面环境,是运行于 UNIX 的商业桌面环境)的用户界面;而在 Linux 上广泛应用的有 Gnome、KDE 等。
X Window 与微软的 Windows 图形环境有很大的区别:
- UNIX/Linux 系统与 X Window 没有必然捆绑的关系,也就是说,UNIX/Linux 可以安装 X Window,也可以不安装;而微软的 Windows 图形环境与内核捆绑密切。
- UNIX/Linux 系统不依赖图形环境,依然可以通过命令行完成 100% 的功能,而且因为不使用图形环境还会节省大量的系统资源。作为服务器部署,绝大多数 Linux 并不安装或并不启用图形环境
Linux命令
Linux命令在系统中有两种类型:内置Shell(外壳)命令和Linux命令。
Linux的发行版
即将Linux内核与应用软件进行打包。目前市面上较知名的有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、TurboLinux、BluePoint、RedFlag、Xterm、SlackWare等。
Linux应用领域
在服务器领域应用广泛。通常服务器使用LAMP(Linux + Apache + MySQL + PHP)或LNMP(Linux + Nginx+ MySQL + PHP)组合。