Linux文件目录结构一览表 (linux文件权限)

教程大全 2025-07-13 13:10:27 浏览

学习 Linux,不仅限于学习各种命令,了解整个 Linux 文件系统的目录结构以及各个目录的功能同样至关重要。

使用 Linux 时,通过命令行输入可以看到,在 Linux 根目录(/)下包含很多的子目录(称为),例如 bin、boot、dev 等。同时,各一级目录下还含有很多子目录(称为),比如 /bin/bash、/bin/ed 等。Linux 文件系统目录总体呈现树形结构,/ 根目录就相当于树根。

由于 Linux 系统免费开源,使得 Linux 发行版本有很多,利用 Linux 开发产品的团队也有很多,如果任由每个人都按照自己的想法来配置 Linux 系统文件目录,后期可能会产生诸多的管理问题。试想,如果你进入一家公司,所用 Linux 系统的文件目录结构与所学的完全不同,实在令人头疼。

为了避免诸多使用者对 Linux 系统目录结构天马行空,Linux 基金会发布了。多数 Linux 发行版系统都遵循这一标准。

,,该标准规定了 Linux 系统中所有一级目录以及部分二级目录(/usr 和 /var)的用途。发布此标准的主要目的就是为了让用户清楚地了解每个目录应该存放什么类型的文件。

Linux 根目录(/)

FHS 认为,Linux 系统的根目录(/)最为重要(没有之一),其原因有以下 2 点:

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

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

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

表 2 其他一级目录及功能
一级目录 功能(作用)
/lost+found/ 当系统意外崩溃或意外关机时,产生的一些文件碎片会存放在这里。在系统启动的过程中,fsck 工具会检查这里,并修复已经损坏的文件系统。这个目录只在每个分区中出现,例如,/lost+found 就是根分区的备份恢复目录,/boot/lost+found 就是 /boot 分区的备份恢复目录
虚拟文件系统。该目录中的数据并不保存在硬盘上,而是保存到内存中。主要保存系统的内核、进程、外部设备状态和网络状态等。如 /proc/cpuinfo 是保存 CPU 信息的,/proc/devices 是保存设备驱动的列表的,/proc/filesystems 是保存文件系统列表的,/proc/net 是保存网络协议信息的……
虚拟文件系统。和 /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/sbin/ 存放根文件系统不必要的系统管理命令,如多数服务程序,只有 root 可以使用。
应用程序调用的函数库保存位置
/usr/XllR6/ 图形界面系统保存位置
/usr/local/ 手工安装的软件保存位置。我们一般建议源码包软件安装在这个位置
/usr/share/ 应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录
源码包保存位置。我们手工下载的源码包和内核源码包都可以保存到这里。不过笔者更习惯把手工下载的源码包保存到 /usr/local/src/ 目录中,把内核源码保存到 /usr/src/linux/ 目录中
/usr/include C/C++ 等编程语言头文件的放置目录

Linux /var 目录

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

表 4 /var子目录及其功能
/var子目录 功能(作用)
程序运行中需要调用或改变的数据保存位置。如 MySQL 的数据库保存在 /var/lib/mysql/ 目录中
登陆文件放置的目录,其中所包含比较重要的文件如 /var/log/messages, /var/log/wtmp 等。
一些服务和程序运行后,它们的 PID(进程 ID)保存位置
/var/spool/ 里面主要都是一些临时存放,随时会被用户所调用的数据,例如 /var/spool/mail/ 存放新收到的邮件,/var/spool/cron/ 存放系统定时任务。
RPM 包安装的 Apache 的网页主目录
/var/nis和/var/yp NIS 服务机制所使用的目录,nis 主要记录所有网络中每一个 client 的连接信息;yp 是 linux 的 nis 服务的日志文件存放的目录
一些应用程序在安装或执行时,需要在重启后使用的某些文件,此目录能将该类文件暂时存放起来,完成后再行删除

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

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

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


关于Linux文件系统的目录树结构

Linux文件目录结构一览表

Linux操作系统中的主要目录及目录内容由文件系统层次结构标准(英语:Filesystem Hierarchy Standard,FHS)定义。 在FHS中,所有的文件和目录都出现在根目录/下,即使他们存储在不同的物理设备中。 但是请注意,这些目录中的一些可能或可能不会在Linux系统上出现,这取决于系统是否含有某些子系统,例如 X Window系统 的安装与否。 下面是FHS中所定义的一些目录,和目录的描述:

linux的目录结构是怎样的

在linux的根目录下一般都有如下的目录,其中,/boot:放置linux系统启动时用到的一些文件。 /boot/vmlinuz为linux的内核文件,以及/boot/gurb。 建议单独分区,分区大小100M即可/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。 /etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。 注:/etc/X11存放与x windows有关的设置。 /home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。 建议单独分区,并设置较大的磁盘空间,方便用户存放数据/lib:/usr/lib:/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。 /lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。 如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found/mnt:/media:光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载。 /opt:给主机额外安装软件所摆放的目录。 如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。 以前的 Linux 系统中,习惯放置在 /usr/local 目录下/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等/root:系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。 /sbin:/usr/sbin:/usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。 与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能查看而不能设置和使用。 /tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下/srv:服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内/usr:应用程序存放目录,/usr/bin存放应用程序,/usr/share存放共享数据,/usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。 /usr/local:存放软件升级包。 /usr/share/doc:系统说明文件存放目录。 /usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/的内容建议单独分区,设置较大的磁盘空间/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件/var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下

Linux系统中的文件目录结构介绍

目录结构及主要内容 “/”根目录部分有以下子目录:/usr 目录包含所有的命令、程序库、文档和其它文件。 这些文件在正常操作中不会被改变的。 这个目录也包含你的Linux发行版本的主要的应用程序,譬如,Netscape。 /var 目录包含在正常操作中被改变的文件:假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等。 /home 目录包含用户的文件:参数设置文件、个性化文件、文档、数据、EMAIL、缓存数据等。 这个目录在系统省级时应该保留。 /proc 目录整个包含虚幻的文件。 它们实际上并不存在磁盘上,也不占用任何空间。 (用ls –l 可以显示它们的大小)当查看这些文件时,实际上是在访问存在内存中的信息,这些信息用于访问系统/bin 系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用。 /sbin 系统执行文件(二进制),这些文件不打算被普通用户使用。 (普通用户仍然可以使用它们,但要指定目录。 )/etc 操作系统的配置文件目录。 /root 系统管理员(也叫超级用户或根用户)的Home目录。 /dev 设备文件目录。 LINUX下设备被当成文件,这样一来硬件被抽象化,便于读写、网络共享以及需要临时装载到文件系统中。 正常情况下,设备会有一个独立的子目 录。 这些设备的内容会出现在独立的子目录下。 LINUX没有所谓的驱动符。 /lib 根文件系统目录下程序和核心模块的共享库。 /boot 用于自举加载程序(LiLO或GRUB)的文件。 当计算机启动时(如果有多个操作系统,有可能允许你选择启动哪一个操作系统),这些文件首先被装载。 这个目录也会包含LINUX核(压缩文件vmlinuz),但LINUX核也可以存在别处,只要配置LILO并且LILO知道LINUX核在哪儿。 /opt 可选的应用程序,譬如,REDHAT 5.2下的KDE (REDHAT 6.0下,KDE放在其它的XWINDOWS应用程序中,主执行程序在/usr/bin目录下)/tmp 临时文件。 该目录会被自动清理干净。 /lost+found 在文件系统修复时恢复的文件 “/usr”目录下比较重要的部分有:/usr/X11R6 X-WINDOWS系统(version 11, release 6)/usr/X11 同/usr/X11R6 (/usr/X11R6的符号连接) /usr/X11R6/bin 大量的小X-WINDOWS应用程序(也可能是一些在其它子目录下大执行文件的符号连接)。 /usr/doc LINUX的文档资料(在更新的系统中,这个目录移到/usr/share/doc)。 /usr/share 独立与你计算机结构的数据,譬如,字典中的词。 /usr/bin和/usr/sbin 类似与“/”根目录下对应的目录(/bin和/sbin),但不用于基本的启动(譬如,在紧急维护中)。 大多数命令在这个目录下。 /usr/local 本地管理员安装的应用程序(也可能每个应用程序有单独的子目录)。 在“main”安装后,这个目录可能是空的。 这个目录下的内容在重安装或升级操作系统后应该存在。 /usr/local/bin 可能是用户安装的小的应用程序,和一些在/usr/local目录下大应用程序的符号连接。 /proc目录的内容:/proc/cpuinfo 关于处理器的信息,如类型、厂家、型号和性能等。 /proc/devices 当前运行内核所配置的所有设备清单。 /proc/dma 当前正在使用的DMA通道。 /proc/filesystems 当前运行内核所配置的文件系统。 /proc/interrupts 正在使用的中断,和曾经有多少个中断。 /proc/ioports 当前正在使用的I/O端口。 举例,使用下面的命令能读出系统的CPU信息。 cat /proc/cpuinfo/bin bin是binary的缩写。 这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令。 例如cp、ls、cat,等等。 /boot 这里存放的是启动Linux时使用的一些核心文件。 /dev dev是device(设备)的缩写。 这个目录下是所有Linux的外部设备,其功能类似DOS下的和Win下的。 在Linux中设备和文件是用同种方法访问的。 例如:/dev/hda代表第一个物理IDE硬盘。 /etc 这个目录用来存放系统管理所需要的配置文件和子目录。 /home 用户的主目录,比如说有个用户叫WANg,那他的主目录就是/home/wang也可以用~wang表示。 /lib 这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的文件。 几乎所有的应用程序都须要用到这些共享库。 /lost+found 这个目录平时是空的,当系统不正常关机后,这里就成了一些无家可归的文件的避难所。 对了,有点类似于DOS下的文件。 /mnt 这个目录是空的,系统提供这个目录是让用户临时挂载别的文件系统。 /proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 也就是说,这个目录的内容不在硬盘上而是在内存里。 /root 系统管理员(也叫超级用户)的主目录。 作为系统的拥有者,总要有些特权啊!比如单独拥有一个目录。 /sbin s就是Super User的意思,也就是说这里存放的是系统管理员使用的管理程序。 /tmp 这个目录不用说,一定是用来存放一些临时文件的地方了。 /usr 这是最庞大的目录,我们要用到的应用程序和文件几乎都存放在这个目录下。 其中包含以下子目录; /usr/X11R6 存放X-Window的目录; /usr/bin 存放着许多应用程序; /usr/sbin 给超级用户使用的一些管理程序就放在这里; /usr/doc 这是Linux文档的大本营; /usr/include Linux下开发和编译应用程序需要的头文件,在这里查找; /usr/lib 存放一些常用的动态链接共享库和静态档案库; /usr/local 这是提供给一般用户的/usr目录,在这里安装软件最适合; /usr/man man在Linux中是帮助的同义词,这里就是帮助文档的存放目录; /usr/src Linux开放的源代码就存在这个目录,爱好者们别放过哦! /var 这个目录中存放着那些不断在扩充着的东西,为了保持/usr的相对稳定,那些经常被修改的目录可以放在这个目录下,实际上许多系统管理员都是这样干的。 顺带说一下系统的日志文件就在/var/log目录中。 总结来说:· 用户应该将文件存在/home/user_login_name目录下(及其子目录下)。 · 本地管理员大多数情况下将额外的软件安装在/usr/local目录下并符号连接在/usr/local/bin下的主执行程序。 · 系统的所有设置在/etc目录下。 · 不要修改根目录(“/”)或/usr目录下的任何内容,除非真的清楚要做什么。 这些目录最好和LINUX发布时保持一致。 · 大多数工具和应用程序安装在目录:/bin, /usr/sbin, /sbin, /usr/x11/bin,/usr/local/bin。 · 所有的文件在单一的目录树下。 没有所谓的“驱动符”。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐