/arch
包含和硬件体系结构相关的代码,每种平台占一个相应的目录。在arch目录下,存放各平台芯片对Linux内核进程调度、内存管理、中断等的支持,以及每个具体的SoC和板级支持代码。
/block
存放块设备驱动程序I/O调度。
/crypto
常用加密和散列算法(AES、SHA等),还有一些压缩和CRC校验算法。
/Documentation
内核各部分的通用解释和注释。
/driver
设备驱动程序,每个不同的驱动占用一个子目录。
/firmware
存放处理器相关的一些特殊固件。
/fs
所支持的各种文件系统,如EXT、FAT、NTFS、JFFS2等。
/include
头文件,与系统相关的头文件放置在include/linux子目录下
/init
内核初始化代码。
/ipc
进程间通信代码。
/kernel
内核最核心部分,包括内核调度、定时器等模块,与平台相关的一部分存放在 arch/*/kernel 目录下。
/lib
库文件代码。
/mm
内存管理代码,和平台相关的一部分代码存放在arch/*/mm目录下。
/net
网络相关代码,实现各种常见的网络协议。
/samples
存放提供的一些内核编程范例,如kfifo;后者相关用户态编程范例,如hidraw
/scripts
用于配置内核的脚本文件。
/security
存放安全相关代码。
/sound
ALSA、OSS音频设备的驱动核心代码和常用设备驱动。
/tools
存放编译过程中一些主机必要工具
/usr
实现用于打包和压缩的cpio。
/virt
内核虚拟机KVM
/bin
bin是Binaries的缩写,包含基本命令,例如ls、cp、mkdir等。
sbin
包含系统命令,例如:modprobe、hwclock、ifconfig等,大多涉及系统管理的命令,一些服务器的配置文件也存放在此目录,这个目录下的文件都是可执行的,通常由系统管理员使用,用于系统维护。
/dev
Linux设备文件存储目录,应用程序通过对这些文件的读写和控制一访问实际的设备。
/etc
etc是Etcetera(等等)的缩写,该目录下存放的所有系统管理所需要的配置文件,例如:用户账户及密码配置文件。busybox的启动脚本也存放在此目录。
/lib
系统库文件存放目录,需要共享的函数库与kernel模块、系统kernel启动所使用的函数库
/mnt
用于存放挂载存储设备的挂载目录,例如cdrom等目录。
/opt
opt是optional(可选)的缩写,主机安装额外软件时存放在此目录。
/proc
操作系统运行时,进程及内核信息(cpu、硬盘分区、内存信息等)存放在此。
/tmp
存放系统临时文件。
/usr
/usr/bin
存放日常应用程序。
/usr/include
C程序语言编译使用的标准头文件。
/usr/lib
存放一些函数库、执行文件及链接文件。
/usr/local
个人安装的软件的默认存放位置,通常需要手动指定;
/usr/sbin
管理员使用的非系统必须的可执行文件存放目录。此目录相当于根文件系统下的对应目录(/sbin,保存系统管理程序的二进制文件,并且这些文件不是系统启动或文件系统挂载 /usr 目录或修复系统所必需的。
/usr/share
存放共享文件的目录。
/usr/src
内核源代码存放路径。
/var
var是Variable(变量)的缩写,此目录存放的文件经常变动,一般将经常被修改的文件放置在此目录下,例如日志文件/var/log。
/sys
该目录放置Linux2.6内核中出现的新的文件系统sysfs。
/srv
改目录存放一些服务启动之后需要提取的数据。
🥠
😋
🚍