当前位置:

首页 > 系统应用 > Linux文件目录结构一览表

Linux文件目录结构一览表

本文目录

    学习 Linux,绝不只是把各种命令背熟这么简单。把整个 Linux 文件系统的目录结构,以及每个目录分别负责什么,也同样关键。 在实际使用 Linux 时,直接在命令行输入 ls -l /,就能看到 Linux 根目录(/)下面挂着许多子目录,也就是一级目录,比如 bin、boot、dev 等。继

    学习 Linux,绝不只是把各种命令背熟这么简单。把整个 Linux 文件系统的目录结构,以及每个目录分别负责什么,也同样关键。

    在实际使用 Linux 时,直接在命令行输入 ls -l /,就能看到 Linux 根目录(/)下面挂着许多子目录,也就是一级目录,比如 bin、boot、dev 等。继续往下看,这些一级目录里还会再包含更多子目录,也就是二级目录,例如 /bin/bash、/bin/ed 等。整体来看,Linux 文件系统的目录结构就是一棵树,/ 根目录相当于树根,下面层层展开。

    由于 Linux 本身免费开源,发行版本很多,基于 Linux 开发产品的团队也不少。如果每个人都按自己的习惯去安排系统文件目录,后续管理麻烦就会接踵而来。想象一下,刚进一家公司,发现那套 Linux 目录结构和自己学过的完全不是一回事,确实会让人很头疼。

    也正因为如此,为了避免 Linux 系统目录结构被大家随意发挥,Linux 基金会发布了 FHS 标准。大多数 Linux 发行版都遵循这一标准。

    FHS(Filesystem Hierarchy Standard),文件系统层次化标准,它规定了 Linux 系统中所有一级目录以及部分二级目录(/usr 和 /var)的用途。发布这一标准的主要目的,就是让用户清楚知道每个目录应该存放什么类型的文件。

    Linux文件目录结构一览表

    Linux 根目录(/)

    FHS 认为,Linux 系统的根目录(/)最为重要(没有之一),其原因有以下 2 点:
    1. 所有目录都是由根目录衍生出来的;
    2. 根目录与系统的开机、修复、还原密切相关;

    因此,根目录必须包含开机软件、核心文件、开机所需程序、函数库、修复系统程序等文件,如表 1 所示。

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

    FHS 针对根目录中包含的子目录仅限于表 1,但除此之外,Linux 系统根目录下通常还包含表 2 中的几个一级目录。

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

    Linux /usr目录

    usr(注意不是 user),全称为 Unix Software Resource,此目录用于存储系统软件资源。FHS 建议所有开发者,应把软件产品的数据合理的放置在 /usr 目录下的各子目录中,而不是为他们的产品创建单独的目录。

    Linux 系统中,所有系统默认的软件都存储在 /usr 目录下,/usr 目录类似 Windows 系统中 C:Windows + C:Program files 两个目录的综合体。

    FHS 建议,/usr 目录应具备表 3 所示的子目录。

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

    Linux /var 目录

    /var 目录用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件等。通常,此目录下建议包含如表 4 所示的这些子目录。

    表 4 /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/yp NIS 服务机制所使用的目录,nis 主要记录所有网络中每一个 client 的连接信息;yp 是 linux 的 nis 服务的日志文件存放的目录
    /var/tmp 一些应用程序在安装或执行时,需要在重启后使用的某些文件,此目录能将该类文件暂时存放起来,完成后再行删除

    根据以上各表列举的各目录及作用,如果我们要做一些实验和练习,需要创建一些临时文件,应该保存在哪里呢?

    答案是用户的主目录或 /tmp/ 临时目录。但是要小心有些目录中不能直接修改和保存数据,比如 /proc/fn/sys/ 目录,因为它们是保存在内存中的,如果在这里写入数据,那么你的内存会越来越小,直至死机;/boot/ 目录也不能保存额外数据,因为 /boot/ 目录会单独分区作为启动分区,如果没有空闲空间,则会导致系统不能正常启动。

    总之,Linux 要在合理的目录下进行操作和修改。

    本文内容来源于网友投稿,如有侵权请联系删除。
    作者最新文章
    系统应用
    相关文章 更多
    win10关闭WindowsHello后如何取消开机密码
    win10关闭WindowsHello后如何取消开机密码

    Win10关闭Windows Hello后开机仍要密码?本文详解如何删除PIN码、设置netplwiz自动登录以及清空本地账户密码,解决开机免密登录问题。

    win10取消开机密码要不要关闭屏幕保护密码
    win10取消开机密码要不要关闭屏幕保护密码

    想取消Win10开机密码?先分清是启动登录还是屏保恢复。本文详解如何通过netplwiz设置自动登录,以及如何关闭屏幕保护恢复时的登录验证,同时保留睡眠唤醒的安全设置,确保操作准确且不影响电脑安全。

    win10微软账户如何取消开机密码直接进桌面
    win10微软账户如何取消开机密码直接进桌面

    想在Win10开机时跳过密码直接进入桌面?本文详解Microsoft账户下的PIN设置、本地账户切换及netplwiz自动登录配置,并区分开机验证与锁屏恢复设置,助你安全高效地优化登录体验。

    win10取消开机密码后,系统自动更新会重置设置吗?
    win10取消开机密码后,系统自动更新会重置设置吗?

    Win10系统更新后开机又要求输入密码?这通常不是密码被重置,而是自动登录设置或Windows Hello策略被更改。本文详解如何区分密码问题与登录配置问题,检查账户状态及组织策略,并安全恢复开机自动进入桌面的设置。

    微软官网下载Win10 64位官方ISO镜像的完整步骤
    微软官网下载Win10 64位官方ISO镜像的完整步骤

    详解如何从微软官网获取纯净的Windows 10 64位ISO镜像文件,包括正确的下载入口、版本与语言选择技巧,以及下载后的完整性校验步骤,确保系统安装源安全可靠。

    Linux如何开启端口号?开放端口命令详解
    Linux如何开启端口号?开放端口命令详解

    详细讲解Linux如何开启端口号以及常用的开放端口命令。

    docker容器自动重启怎么解决 排查原因与修复方法
    docker容器自动重启怎么解决 排查原因与修复方法

    遇到Docker容器频繁自动重启?本文提供从查看容器日志、解读退出代码到配置Restart Policy的完整排查与修复方案,确保服务稳定性。

    Linux设置静态路由命令与永久生效教程
    Linux设置静态路由命令与永久生效教程

    学习如何在Linux中使用命令行添加临时静态路由,并通过修改网络配置文件实现重启后依然有效的永久静态路由设置,涵盖CentOS和Ubuntu的不同配置方法。

    摄像头连接电脑后怎么打开查看实时画面教程
    摄像头连接电脑后怎么打开查看实时画面教程

    摄像头连接电脑后不知如何查看画面?本教程演示如何使用Windows自带的“相机”应用快速调取实时视频流,无需下载额外软件,步骤简单直观,适用于大多数USB及内置摄像头。

    如何在 windows 11 关闭自动关机
    如何在 windows 11 关闭自动关机

    针对 Windows 11 电脑在无人操作时自动关机或重启的问题,本文详解如何通过任务计划程序禁用更新重启任务,并调整电源睡眠策略,从根源解决非预期的自动关机现象。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    macOS软件
    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    Mac软件 更多
    photoshop
    photoshop
    Windows、macOS 、 iPad

    Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

    Blender
    Blender
    Windows、macOS 和 Linux

    Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

    灵活计算器
    灵活计算器
    macOS/iOS/Android

    灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

    WINDOWS 更多
    3dmax(3ds max)
    3dmax(3ds max)
    Windows

    Autodesk 3ds Max 是一款专业的三维建模、动画与渲染软件,广泛应用于建筑可视化、游戏开发、影视动画、广告设计和产品展示等领域。

    photoshop
    photoshop
    Windows、macOS 、 iPad

    Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

    Blender
    Blender
    Windows、macOS 和 Linux

    Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。