linux文件目录结构

FHS(filesystem hierarchy standard)文件系统层次化标准,该标准规定了Linux系统中所有一级目录一级部分二级目录的用途。发布此标准的主要目的就是为了让用户清楚地了解每个目录应该存放什么类型的文件。

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

1.所有目录都是由根目录衍生出来的

2.根目录与系统的开机、修复、还原密切相关

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

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

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

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

Linux /usr目录

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

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

FHS建议,/usr目录应具备下图所示的子目录:

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

Linux /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一些应用程序在安装或执行时,需要在重启后使用的某些文件,此目录能将该文件暂时存放起来,完成后在进行删除。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亲爱的老少女

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值