Linux文件系统层次结构__图示&详解

Linux文件系统层次结构

在这里插入图片描述
其中,目录就相当于 Windows 中的文件夹,目录中存放的既可以是文件,也可以是其他的子目录,而文件中存储的是真正的信息。

文件系统的最顶层是由根目录开始的,系统使用“/”来表示根目录,在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含(子)目录或文件。如此反复就可以构成一个庞大的文件系统。

其实,使用这种树状、具有层次的文件结构主要目的是方便文件系统的管理和维护,想象一下,如果所有的文件都放在一个目录下,其文件系统的管理和维护将变成一场噩梦。

现实中也有许多类似的例子,例如在整个行政管理体制中,村民就相当于文件,他们住在一个村庄中,村庄就是存储村民的目录。许多村又组成了个乡,这个乡就相当于存储村的目录,依此类推,最终就构建出了一个庞大的行政区域管理结构图。

注意,目录名或文件名都是区分大小写的,如 dog、DOG 和 Dog 为 3 个不同的目录或文件。完整的目录或文件路径是由一连串的目录名所组成的,其中每一个目录由“/”来分隔。如 cat 的完整路径是 /home/cat。

在文件系统中,有两个特殊的目录,一个是用户所在的工作目录,即当前目录,可用一个点“.”表示;另一个是当前目录的上一层目录,也叫父目录,用两个点“…”表示。

在这里插入图片描述

Linux系统采用文件系统层次标准,也被称之为FHS标准,它规定了根目录下各个目录应该存放在哪些类型的文件(或子目录)。下面是Linux中的一级目录及其作用:

Linux一级目录及作用

项目Value
/bin/存放系统命令,普通用户和root用户都可以执行。放在/bin下的命令在单用户模式下也可以执行
/boot/系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等
/dev/设备文件保存位置
/etc/配置文件保存位置。系统内所有采用默认安装方式(rpm安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用的服务配置文件等
/home/普通用户的主目录,也称为家目录。在创建用户时,每个用户要有一个默认登陆和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录是在/home/下建立一个和用户名相同的目录
/lib/系统调用的函数库保存位置
/media/挂载目录。系统建议用来挂载媒体设备,如软盘和光盘
/mnt/挂载目录。早期Linux只有这一个挂载目录,并没有细分。系统建议这个目录用来挂载额外的设备,如U盘、系统硬盘和其他操作系统的分区
/misc/挂载目录。系统建议用来挂载 NFS 服务的共享目录。虽然系统准备了三个默认挂载目录 /media/、/mnt/、/misc/,但是到底在哪个目录中挂载什么设备可以由管理员自己决定。例如,笔者在接触 Linux 的时候,默认挂载目录只有 /mnt/,所以养成了在 /mnt/ 下建立不同目录挂载不同设备的习惯,如 /mnt/cdrom/ 挂载光盘、/mnt/usb/ 挂载 U 盘
/opt/第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装在这个目录中。其次/usr/local/目录也可以用来安装软件
/root/root的主目录。普通用户主目录在/home/下,root主目录直接挂载在"/"下
/sbin/保存与系统环境设置相关的命令,只有root可以使用这些命令进行系统环境设置,但也有命令可以允许普通用户查看
/srv/服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据
/tmp/临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入

除了FHS规定的根目录中包含的子目录以外,还有其他几个一级目录

其他一级目录及功能

一级目录功能作用
/lost+found/当系统意外崩溃或意外关机时,产生的一些文件碎片会存放在这里。在系统启动的过程中,fsck 工具会检查这里,并修复已经损坏的文件系统。这个目录只在每个分区中出现,例如,/lost+found 就是根分区的备份恢复目录,/boot/lost+found 就是 /boot 分区的备份恢复目录
/sys/虚拟文件系统。和 /proc/ 目录相似,该目录中的数据都保存在内存中,主要保存与内核相关的信息
/proc/虚拟文件系统。该目录中的数据并不保存在硬盘上,而是保存到内存中。主要保存系统的内核、进程、外部设备状态和网络状态等。如 /proc/cpuinfo 是保存 CPU 信息的,/proc/devices 是保存设备驱动的列表的,/proc/filesystems 是保存文件系统列表的,/proc/net 是保存网络协议信息的…

Linux /usr 目录
usr,全称是Unix Software Resource,此目录用于存储系统软件资源。

子目录功能作用
/usr/bin/存放系统命令,普通用户和超级用户都可以执行。这些命令和系统启动无关,在单用户模式下不能执行
/usr/sbin/存放根目录系统不必要的系统管理命令
/usr/lib/应用程序调用的函数库保存位置
/usr/XllR6/图形界面系统保存位置
/usr/local/手工安装的软件保存位置。我们一般建议源码包软件安装在这个位置
/usr/share/应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录
/usr/src/源码包保存位置。我们手工下载的源码包和内核源码包都可以保存到这里。不过笔者更习惯把手工下载的源码包保存到 /usr/local/src/ 目录中,把内核源码保存到 /usr/src/linux/ 目录中
/usr/includeC/C++ 等编程语言头文件的放置目录

Linux /var 目录
/var 目录用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件等。

/var子目录及其功能

子目录功能作用
/var/lib/程序运行中需要调用或改变的数据保存位置。如MySQL的数据库保存在/var/lib/mysql目录中
/var/log/登陆文件放置的目录,其中所包含比较重要的文件如 /var/log/messages, /var/log/wtmp 等。
/var/run/一些服务和程序运行后,它们的 PID(进程 ID)保存位置
/var/spool/里面主要都是一些临时存放,随时会被用户所调用的数据,例如 /var/spool/mail/ 存放新收到的邮件,/var/spool/cron/ 存放系统定时任务。
/var/www/RPM 包安装的 Apache 的网页主目录
/var/nis和/var/ypNIS 服务机制所使用的目录,nis 主要记录所有网络中每一个 client 的连接信息;yp 是 linux 的 nis 服务的日志文件存放的目录
/var/tmp一些应用程序在安装或执行时,需要在重启后使用的某些文件,此目录能将该类文件暂时存放起来,完成后再行删除
  • 8
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 领航者zynq之linux驱动开发指南_v1.3.pdf 是一份介绍如何在zynq芯片上进行linux驱动开发的文档,包括驱动编写、编译、安装和测试等方面的内容。 该文档首先介绍了zynq芯片的基本概念和结构,以及如何搭建linux开发环境。接着,详细讲解了linux设备驱动框架的基本原理和驱动开发流程。 在具体的驱动编写方面,文档提供了大量的示例代码和详细的注释,让开发者能够更好地理解驱动程序的实现原理。同时,也介绍了驱动编译、安装和调试等方面的基本操作。 总的来说,该文档是一份非常实用和全面的linux驱动开发指南,适合于想要在zynq芯片上进行linux驱动开发的工程师和开发者使用。它不仅提供了理论上的知识,还提供了大量的实践操作和示例代码,让读者能够更好地掌握驱动开发的技巧和方法,提高开发效率。 ### 回答2: 《领航者Zynq之Linux驱动开发指南_v1.3.pdf》是一本关于Zynq处理器的Linux驱动开发指南。该指南详细介绍了如何开发驱动程序以在Zynq平台上与硬件设备进行通信。 该指南包含以下内容: 1. Zynq处理器概述:介绍了Zynq处理器的架构、特性和基本原理。 2. 设备树(Device Tree):介绍了设备树的概念、原理和使用方法,让读者了解如何用设备树描述硬件设备和编写驱动程序。 3. 驱动程序框架:介绍了驱动程序的基本框架和编写方法,以及如何使用Linux内核提供的API进行编程。 4. 驱动程序的调试和优化:介绍了Linux内核的调试方法和工具,以及如何优化驱动程序的性能和可靠性。 该指南是一本非常实用的学习资源,适合需要在Zynq平台上进行Linux驱动开发的工程师和学生使用。它详细讲解了Zynq处理器的基本知识和驱动程序开发的方法,为读者提供了全面的指导和参考。 ### 回答3: 《领航者zynq之linux驱动开发指南_v1.3.pdf》是一本关于针对领航者Zynq芯片进行Linux驱动开发的指南。该指南详细介绍了如何使用Zynq芯片的板级支持包(BSP)创建Linux操作系统,并在此基础上进行驱动开发。指南包含了丰富的实例代码和图示,能够帮助读者深入理解驱动开发过程。 该指南主要方法是以实际应用场景为基础,通过分析应用场景所需实现的功能,从而引出需要编写的驱动程序,并给出了具体的实现方法。指南所介绍的应用场景包括LED灯控制、按键输入、串口通信、定时器等,这些场景涵盖了嵌入式系统开发的一般需求,可以帮助读者快速掌握Linux驱动开发的方法和技巧。 同时,指南也提到了一些开发工具的使用方法,如Xilinx的Vivado开发套件和Linux内核调试工具。这些开发工具的运用有助于提高开发效率,并且可以帮助开发者快速解决问题。 总体来说,该指南是一本实用性很强的Linux驱动开发指南。无论是对于Zynq芯片的开发者,还是对于嵌入式Linux操作系统的开发者都是很有参考价值的。通过学习该指南,读者可以掌握一些基本的驱动开发方法和理念,并有助于开发出更加稳定和优秀的嵌入式系统。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值