Linux_FHS目录作用分析
总目录概览
目录 英文全名 用途
/bin
Binaries
用于存放最常用的二进制命令
/boot
Boot
包含引导Linux的重要文件,如grub和内核文件等
/dev
Devices
所有设备都在该目录下,包括硬盘和显示器等
/etc
etc
系统的所有配置文件都放在它下面
/home
Home
存放个用户的家目录($HOME)及其文件和配置
/lib
Libraries
系统的库文件,有点像Windows的Program Files
/lost+found
lost+found
用于存放系统异常时丢失的文件(如突然宕机),以利于恢复
/media
Media
用于加载各种媒体,如光盘、软盘等
/mnt
Mount
用于加载各种文件系统
/opt
Optionally
用于存放安装的“可选”程序
/proc
Processes
包含进程等信息,是内存的映射,不是真实目录
/root
Root
该目录是root用户的家目录($HOME)
/run
Run
该目录是是系统每次重启时生成的tmpfs,其真正的链接是/var/run
/sbin
System-only binaries
用于存放系统专用的二进制命令
/srv
Service
服务启动之后需要访问的数据目录
/sys
System
用于存放系统信息
/tmp
Temporary files
用于存放临时文件
/usr
User
用于存放普通用户的应用程序、库文件和文档等
/var
Variable files
用于存放那些在时间、大小、内容上会经常变化的文件
/bin目录
注意:
文件权限除了
- r:4
- w:2
- x:1
外,还有:
- SUID:4
- SGID:2
- SBIT:1
SUID
(1)SUID权限仅对二进制程序有效;
(2)执行者对于该程序需要具有x的可执行权限;
(3)本权限仅在执行该程序的过程中有效;
(4)执行者将具有该程序所有者的权限。
SGID
对二进制程序:
(1)SGID对二进制程序有用;
(2)程序执行者对该程序需具备x权限;
(3)执行者在执行过程中会获得该程序用户组的支持。
对目录:
(1)用户若对此目录具有r和x权限,该用户能够进入该目录;
(2)用户在此目录下的有效用户组将变成该目录的用户组;
(3)若用户在此目录下拥有w权限,则用户所创建的新文件的用户组与该目录的用户组相同。
SBIT
SBIT目前只对目录有效。
SBIT对目录的作用是:
(1)当用户对此目录具有w和x权限时,即具有写入权限时;
(2)当用户在该目录下创建新文件或目录时,仅有自己和root才有权力删除。
文件夹 文件 用途
/bin
...
man command
/boot目录
文件夹 文件 用途
/boot
vmlinuz-3.10.0-957.el7.x86_64
内核文件
/boot
initramfs-3.10.0-957.el7.x86_64.img
initramfs是改进版的tmpfs,不仅可以交换分区,还可以设定一个tmpfs装载点的最大尺寸以免耗尽内存
/boot
System.map-3.10.0-957.el7.x86_64
特定内核的内核符号表,是当前运行的内核的System.map的链接
/etc/grub
引导装置配置文件
如须了解更多,请点击:/boot目录介绍
/dev目录
文件夹 文件 用途
/dev
console
系统控制台,也就是直接和系统链接的监视器
/dev
fd
软驱设备驱动程序
/dev
null
“黑洞”,所有写入该设备的信息都将会消失
/dev
sda
scsi硬盘驱动程序接口
/dev
tty
提供虚拟控制台支持
/dev
ttys
计算机串行接口
/dev
pty
提供远程登陆伪终端支持
/etc目录
文件夹 文件 用途
/etc
aliases,aliases.db
alias给命名指定别名
/etc/alternatives
只能在root权限下执行,常用于同一个系统中安装同一软件的多个版本
/etc/audit,/etc/audisp
audit可以将(用户空间)审计记录写入日志文件,包括记录系统调用和文件访问。管理员可以检查这些日志,确定是否存在安全漏洞
/etc/cloud
当系统启动时,cloud-init可从nova metadata服务或者config drive中获取metadata,完成一些定制化工作,如设置default locale、设置hostname、添加ssh key、设置用户密码、配置网络和安装软件包等
/etc
crypttab
用于描述在系统启动过程中创建的加密块设备(加密卷)
/etc
csh.cshrc,csh.login,profile
登录或启动时bourne或Cshell执行的文件,这允许系统管理员为所有用户建立全局缺省环境
/etc/depmod.d
depmod:分析可加载模块的依赖性,生成modules.dep文件和映射文件;lsmod:列出内核已载入模块的状态;modprobe:内核添加删除模块;modinfo:显示内核模块的信息;insmod:向内核中插入一个模块;rmmod:删除内核中的一个模块
/etc
dracut.conf
dracut用于制作initrd启动镜像文件,dracut-network会为镜像内添加nfs等网络支持
/etc
e2fsck.conf
e2fsck为磁盘修复命令,如突然断电后可能产生磁盘坏道,使用该命令进行磁盘修复
/etc
GeoIP.conf
GeoIP是一套含IP数据库的软件工具,Geo会根据来访者的IP,定位该IP所在经纬度、国家/地区、省市和街道等位置信息。因为GeoIP赌气的是本地的二进制IP数据库,所以效率很高,比从APNIC读取再转高很多
/home目录
文件夹 文件 用途
/lib目录
文件夹 文件 用途
/lost+found目录
文件夹 文件 用途
/media目录
文件夹 文件 用途
/mnt目录
文件夹 文件 用途
/opt目录
文件夹 文件 用途
/proc目录
文件夹 文件 用途
/root目录
文件夹 文件 用途
/run目录
根据linux的文件系统分层结构标准(FHS)中的定义:
- /var/run 目录中存放的是自系统启动以来描述系统信息的文件。
- 比较常见的用途是daemon进程将自己的pid保存到这个目录。
- 标准要求这个文件夹中的文件必须是在系统启动的时候清空,以便建立新的文件。
为了达到这个要求,linux中/var/run使用的是tmpfs文件系统,这是一种存储在内存中的临时文件系统,当机器关闭的时候,文件系统自然就被清空了。使用df -Th命令能看到类似的输出结果:
# df -Th /var/runFilesystem Type Size Used Avail Use% Mounted on
tmpfs tmpfs 2.0G 9.0M 2.0G 1% /run
从该输出结果可看出,/var/root是一个tmpfs文件系统,并且它被挂载到/run目录下
当然,/var/run除了保存进程的pid之外也有其他的作用,比如utmp文件,就是用来记录机器的启动时间以及当前登陆用户的。
为什么要使用/run代替
这是因为/var/run文件系统并不是在系统一启动就是就绪的,而在此之前已经启动的进程就先将自己的运行信息存放在/dev中,/dev同样是一种tmpfs,而且是在系统一启动就可用的。但是/dev设计的本意是为了存放设备文件的,而不是为了保存进程运行时信息的,所以为了不引起混淆,/dev中存放进程信息的文件都以”.”开始命名,也就是都是隐藏文件夹。但是即便是这样,随着文件夹的数量越来越多,/dev里面也就越来越混乱,终于有人坐不住了,所以引入了替代方案,也就是 /var/run。
使用/var/run有什么好处
主要就是解决了上边说的管理不一致,最终使各个发行版统一管理。最终将/var/run和/var/lock都归并到/run中。而且在也不用使用隐藏文件夹这种伎俩了,对管理员来说轻松了不少。同样/dev中也不会有不相关的内容了。
文件夹 文件 用途
/run
*.pid
保存进程的pid
/run
*.sock
生成进程的socket
/run
*.lock
生成进程的互斥锁
/run
utmp
记录机器的启动时间以及当前登陆用户
/run/dbus
数据总线,是一个低延时、低开销、高可用性的ipc机制。目前dbus已被大多数Linux发行版所采用,开发者可使用D-Bus实现各种复杂的进程间通信任务
/run/systemd
系统初始化过程中包含的Units
/run/udev
(用户模式)设备文件管理工具
/sbin目录
文件夹 文件 用途
/srv目录
文件夹 文件 用途
/sys目录
文件夹 文件 用途
/tmp目录
文件夹 文件 用途
/usr目录
文件夹 文件 用途
/var目录
文件夹 文件 用途
以上是 Linux_FHS目录作用分析 的全部内容, 来源链接: utcz.com/z/511412.html