Linux系统和内核目录

Linux系统目录

在根目录下有多个子目录,在各个子目录下又有相应的子目录等等
在这里插入图片描述
bin:存放着最经常使用的命令。
boot:存放的是启动Linux时使用的核心文件,包括一些链接文件和镜像文件。
dev :Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
etc:存放所有的系统管理所需要的配置文件和子目录。
home:用户的主目录。每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
lib:存放着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
mnt:系统提供该目录是为了让用户临时挂载别的文件系统,可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
opt:给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下,默认是空的。
proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。目录的数据在内存中,包含进程等信息,如系统核心,外部设备,网络状态等
root:该目录为系统管理员,也称作超级权限者的用户主目录。
sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
srv:该目录存放一些服务启动之后需要提取的数据。
sys:文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
tmp:这个目录是用来存放一些临时文件的。
usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
var:存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

Linux内核目录

内核在系统目录下的路径,一般为:/usr/src/

root@tronlong-virtual-machine:/home/tronlong/ZYNQ/Kernel/Linux-4.9.0# ls
arch     CREDITS        firmware  ipc      lib              mm               net             scripts     tools    vmlinux.o
block    crypto         fs        Kbuild   localversion-rt  modules.builtin  README          security    usr
certs    Documentation  include   Kconfig  MAINTAINERS      modules.order    REPORTING-BUGS  sound       virt
COPYING  drivers        init      kernel   Makefile         Module.symvers   samples         System.map  vmlinux
一级目录二级目录
arch包含了一个Kconfig文件,它用于设置这个目录里的源代码编译所需的一系列设定。每个支持的处理器架构都在它相应的文件夹中,如arm64、arm32、x86、mips等。
/boot:内核需要的特定平台代码;
/boot/dts:设备树文件;
/lib:通用函数在特定体系结构的文件;
/math-emu:模拟FPU的代码,在ARM中,使用/math-xxx代替;
/mm:特定体系结构的内存管理文件;
/include:特定体系的头文件;
block包含块设备驱动程序的代码,该目录用于实现块设备的基本框架和块设备的I/O调度算法。块设备是以数据块方式接收和发送的数据的设备。数据块都是一块一块的数据而不是持续的数据流。
crypto包含许多加密算法的源代码。存放加密、压缩、CRC校验等算法相关代码
Documentation存放相关说明文档,很多实用文档,包括驱动编写等
driversLinux 内核设备驱动程序源码。驱动源码在 Linux 内核源码中占了很大比例,常见外设几乎都有可参考源码,对驱动开发而言,该目录非常重要。该目录包含众多驱动,目录按照设备类别进行分类,如char、block、input、i2c、spi、pci、usb等
firmware保存用于驱动第三方设备的固件。
fs这是文件系统的文件夹。理解和使用的文件系统所需要的所有的代码就在这里。在这个文件夹里,每种文件系统都有自己的文件夹。例如,ext4文件系统的代码在ext4文件夹内。 在fs文件夹内,开发者会看到一些不在文件夹中的文件。这些文件用来控制整个文件系统。例如,mount.h中会包含挂载文件系统的代码。文件系统是以结构化的方式来存储和管理的存储设备上的文件和目录。每个文件系统都有自己的优点和缺点。这是由文件系统的设计决定的。
include存放内核所需、与平台无关的头文件,与平台相关的头文件已经被移动到 arch 平台的include 目录,如 ARM 的头文件目录<arch/arm/include/asm/>
init包含内核初始化代码,init文件夹包含了内核启动的处理代码(INITiation)。main.c是内核的核心文件,这是用来衔接所有的其他文件的源代码主文件。
ipc存放进程间通信代码, 此文件夹中的代码是作为内核与进程之间的通信层。内核控制着硬件,因此程序只能请求内核来执行任务。假设用户有一个打开DVD托盘的程序。程序不直接打开托盘,该程序通知内核,然后,内核给硬件发送一个信号去打开托盘。
kernel这个文件夹中的代码控制内核本身。
lib包含了内核需要引用的一系列内核库文件代码。
mmmm文件夹中包含了内存管理代码。内存并不是任意存储在RAM芯片上的。相反,内核小心地将数据放在RAM芯片上。内核不会覆盖任何正在使用或保存重要数据的内存区域。
netnet文件夹中包含了网络协议代码。这包括IPv6、AppleTalk、以太网、WiFi、蓝牙等的代码,此外处理网桥和DNS解析的代码也在net目录。
samples文件夹包含了程序示例和正在编写中的模块代码
srcipts这个文件夹有内核编译所需的脚本。最好不要改变这个文件夹内的任何东西。否则,您可能无法配置或编译内核。
security这个文件夹是有关内核安全的代码。它对计算机免于受到病毒和黑客的侵害很重要。否则,Linux系统可能会遭到损坏。
sound这个文件夹中包含了声卡驱动,存放声音系统架构相关代码和具体声卡的设备驱动程序
tools编译过程中一些主机必要工具,这个文件夹中包含了和内核交互的工具。
usr早期用户空间代码(所谓的initramfs)
virt内核虚拟机KVM
  • 22
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值