总目录概览
目录 |
英文全名 |
用途 |
---|
/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目录
注意:
文件权限除了
外,还有:
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/run
Filesystem 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目录