linux系统知识
体系结构
Linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。
Linux内核
Linux 将内存划分为容易处理的“内存页”,提供了对 4KB 缓冲区的抽象,例如 slab 分配器。
进程实际是某特定应用程序的一个运行实体,进程调度控制进程对CPU的访问。Linux 中常见的进程间通讯机制有信号、管道、共享内存、信号量和套接字等。
内核通过 SCI 提供了一个API来创建一个新进程(fork、exec 或 POSⅨ),停止进程(kill、exit),并在它们之间进行通信和同步(signal 或者 POSⅨ 机制)。
Linux 操作系统将独立的文件系统组合成了一个层次化的树形结构,并且由一个单独的实体代表这一文件系统。
由于 Linux 支持许多不同的文件系统,并且将它们组织成了一个统一的虚拟文件系统.设备驱动程序提供一组操作系统可理解的抽象接口完成和操作系统之间的交互,而与硬件相关的具体操作细节由设备驱动程序完成。
Linux内核的网络部分由BSD套接字、网络协议层和网络设备驱动程序组成。 网络设备驱动程序负责与硬件设备通讯,每一种可能的硬件设备都有相应的设备驱动程序。
Linux 文件系统
Linux系统能支持多种目前流行的文件系统,推荐用EXT4。
Linux下面的文件类型主要有:
1) 普通文件,分为纯文本和二进制。
2) 目录文件,存储文件的地方。
3) 链接文件,指向同一个文件或目录的的文件。
4) 设备文件,分为块设备和字符设备。
5)管道文件,提供进程间通信
6)套接字文件,与网络通信有关
Linux使用标准的目录结构,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。
目录名 | 简要说明 |
---|---|
/media | 用于挂载设备文件的目录 |
/opt | 放置第三方的软件 |
/srv | 一些网络服务的数据文件目录 |
/lost+found | 当文件系统发生错误时,将一些丢失的文件片段存放在这里 |
/boot | 开机所需文件—内核、开机菜单以及所需配置文件等 |
/bin | 二进制可执行命令 |
/dev | 以文件形式存放任何设备与接口 |
/etc | 系统管理和配置文件 |
/etc/rc.d | 启动的配置文件和脚本 |
/home | 用户主目录的基点,比如用户abc的主目录就是/home/user,可以用~abc表示 |
/lib | 标准程序设计库, 开机时用到的函数库,以及/bin与/sbin下面的命令要调用的函数 |
/sbin | 系统管理命令,这里存放的是系统管理员使用的管理程序 |
/tmp | 公用的临时文件存储点 |
/root | 系统管理员的主目录 |
/mnt | 系统提供这个目录是让用户临时挂载其他的文件系统。 |
/lost+found | 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件 |
/proc | 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。虚拟文件系统,例如系统内核、进程、外部设备及网络状态等 |
/var | 某些大文件的溢出区,比方说各种服务的日志文件 |
/usr | 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含: /usr/X11R6 存放X window的目录 /usr/bin 众多的应用程序 /usr/sbin 超级用户的一些管理程序 /usr/doc linux文档 /usr/include linux下开发和编译应用程序所需要的头文件 /usr/lib 常用的动态链接库和软件包的配置文件 /usr/man 帮助文档 /usr/src 源代码,linux内核的源代码就放在/usr/src/linux里 /usr/local 用户自行安装的软件 /usr/local/bin 本地增加的命令 /usr/local/lib 本地增加的库 |
Linux Shell 及命令
vim编辑器
系统环境变量
# 注意所有系统环境变量都是大写 |
特殊权限
SUID
set UID 简称 SUID 这个UID代表User的ID,表示文档的拥有者
有这个权限代表只能拥有者和root能操作
比如/usr/bin/passwd
SGID
set GID 简称 SGID
这个GID 代表Group 的ID,表示文档的拥有组
这个权限代表只能拥有组和ROOT能操作
Strick Bit
比如/tmp的权限”drwxrwxrwt”
仅有该档案/目录建立者与 root 能够删除自己的目录或档案
proc目录下文件详解
/proc/cmdline 载入 kernel 时所下达的相关参数!查阅此档案,可了解系统是如何启动的! |