一、目录结构
1、经典树形目录
Linux系统设计中最优秀的特性之一就是将所有内容都以文件的形式展现出来,通过一个树形结构统一管理和组织这些文件。
整个文件系统有一个根,然后在整个根上分出很多树杈,每个树杈下又分出树杈。
整个Linux系统以文件的形式全部存放在根目录下,同时将所有文件分类,分级分层组织在一起,形成一个树形目录结构。
2、目录功能介绍
1)/etc目录
主要存放系统管理相关的配置文件以及子目录。
文件名和目录 | 主要作用 |
passwd | 用户库文件、每个用户的用户名、UID、GID和工作目录等都存放在此文件中 |
shadow | 存放用户密码的文件 |
group | 存储用户组信息 |
fstab | 系统开机启动自动挂载分区列表 |
systemd | 是CentOS7.x后新增目录,用来完成对整个系统的基本初始化配置 |
hosts | 设定用户自己的IP与名字的对应表 |
resolv.conf | 客户端DNS配置文件 |
systemd/system/*.wants | 是CentOS7.x后新增目录,包含所有服务启动脚本,开机时系统将自动启动这些服务 |
sysconfig/network-scripts/ifcfg-eth0 | IP地址配置文件 |
X11 | X-Window的配置文件 |
rsyslog.conf | 系统日志输出配置文件,CentOS5.x版本及之前版本中对应的文件是syslog.conf |
crontab | 系统级别的守护进程配置文件 |
sysctl.conf | 系统内核参数配置文件 |
services | 定义系统服务与端口的对应关系 |
profile | 系统全局环境变量配置文件 |
2)/usr目录
此目录主要用于存放应用程序和文件
文件或目录 | 主要作用 |
src | 该目录包含所有程序的源代码 |
local | 该目录存放本地安装的软件和其他文件 |
bin以及local/bin | 使用者可执行的二进制文件目录 |
lib以及local/lib | 32位操作系统使用的函数库目录 |
sbin以及local/sbin | 该目录存放系统管理员才能执行的指令 |
include | 此目录包含C语言的头文件,文件扩展名大多是.h |
share | 该目录存放共享的文件和数据库 |
lib64以及local/lib64 | 64位操作系统中的函数库目录 |
3)/var目录
此目录主要用于存放系统运行以及软件运行的日志信息
文件或目录 | 主要作用 |
log | 该目录存放各种应用程度的日志文件 |
lib | 该目录存放系统正常运行时需要改变的库文件 |
spool | 该目录是mail、new、打印机队列和其他队列输入、输出的缓冲目录 |
tmp | 该目录允许比/tmp存放更大的文件 |
lock | 该目录存放被锁定的文件 |
local | 该目录存放/usr/local中说安装程序的可变数据 |
account | 该目录存放已经格式化的man页 |
run | 该目录包含到下次系统启动前的系统信息 |
4)/dev目录
此目录包含系统所有的设备文件
设备名 | 具体含义 |
fd* | 代表软盘设备,fd0代表第一个软盘设备 |
audio* | 代表声卡设备 |
hd* | 代表IDE硬盘设备,hda代表第一块IDE硬盘 |
sd* | 代表SCSI设备,sda代表第一块SCSI硬盘 |
lp* | 代表并行串口 |
pty* | 代表网络中登录的远程终端设备 |
ram* | 代表系统内存 |
tty* | 代表Linux上的虚拟控制台。tty1代表第一个虚拟控制台。Linux上一共有6个虚拟控制台 |
ttyS* | 代表串行端口。ttys0代表串行端口1。类似Windows下的COM1 |
console | 代表系统控制台 |
null | 输出空设备 |
5)/proc目录
此目录是一个虚拟目录,目录中所有信息都是内存的映射
文件或目录 | 说明 |
cpuinfo | 关于系统CPU的详细信息 |
meminfo | 内存信息,包括物理内存和虚拟内存 |
filesystems | 当前系统支持的文件系统类型 |
devices | 内核中的设备驱动程序列表 |
net | 网络使用协议以及状态信息 |
dma | 当前使用的dma通道 |
ioports | 当前使用的I/O端口 |
modules | 当前系统加载的内核模块信息 |
stat | 系统的各种状态信息 |
uptime | 系统总的启动时间和空闲时间,以秒为单位 |
version | 内核版本信息 |
loadavg | 系统平均负载 |
kcore | 系统物理内存的映像,与物理内存大小完全一样 |
kmsg | 内核输出信息,同时被输出到rsyslog |
6)其他目录
/boot目录:该目录存放的是启动Linux时的一些核心文件,具体包含一些镜像文件和链接文件
/bin和/sbin目录:这两个目录存放的都是可执行的二进制文件。/bin目录下存放的是经常使用的Linux命令。/sbin目录存放的是只有超级用户才能执行的命令
/home目录:该目录是系统中每个用户的工作目录
/lib目录:该目录中存放的是共享程序库和映像文件
/root目录:该目录是Linux超级用户root的默认主目录
/run目录:该目录是外在设备的自动挂载点目录。在CentOS7.x中出现,7.x之前是/media目录。手动挂载目录/mnt目录
/lost+found目录:该目录用于保存丢失的文件
/tmp目录:该目录为临时文件目录,主要用于存放临时文件
二、系统核心组成
1)内存管理
内存管理主要完成的是如何合理有效地管理整个系统的物理内存,同时快速响应内核各个子系统对内存分配的请求
2)进程管理
进程管理主要是控制系统进程对CPU的访问,当需要某个进程运行时,由进程调度器根据基于优先级的调度算法启动新的进程,Linux支持多任务运行
3)进程间通信
进程间通信主要用于控制不同进程之间在用户空间的同步、数据共享和交换
4)虚拟文件系统
Linux内核中的虚拟文件系统用一个通用的文件模型表示各种不同的文件系统,这个文件模型屏蔽了很多具体文件系统的差异,使Linux内核支持很多不同的文件系统。虚拟文件系统可以分为逻辑文件和设备驱动程序。
5)网络接口
网络接口提供了对各种网络标准的实现和各种网络硬件的支持。网络接口一般分为网络协议和网络设备驱动程序。