文件系统层级结构FHS
常见目录及文件说明
一、文件系统层级结构FHS
-
/bin :所有用户在单用户模式中必须具备的二进制命令文件,如 cat, ls, cp.
-
/boot: Boot loader文件,如 kernels, initrd.
-
/dev :必要的 device 文件,如 /dev/null.
-
/etc: 特定主机 全系统 的配置文件
-
/home :用户的个人目录,包含保存的文件和个人设置等
-
/lib :/bin/ 和/sbin/ 中必须的依赖库
-
/media :一些可以热拔插的介质(如CD-ROMs)的挂载点 (在FHS-2.3中出现)
-
/mnt: 临时挂载的文件系统
-
/opt :可选的应用程序包
-
/proc :将进程和内核信息以文件形式呈现的虚拟文件系统。在Linux中,与procfs mount(进程文件系统)对应
-
/root: root用户的个人目录
-
/run: 运行时变量数据:从本次启动到现在的系统信息。如当前登陆的用户和正在运行的守护进程
-
/sbin: 必备的系统可执行文件,如fsck, init, route.
-
/srv :本系统提供的特定站点的数据。如web服务器提供的数据和脚本,FTP服务器提供的数据,VCS的仓库
-
/sys: 包含连接到本台计算机的设备信息
-
/tmp :临时文件(和/var/tmp相同). 通常在重启后清空,并且受到严格的大小限制
-
/usr :只读用户数据的次要层次,包含大部分(多)用户功能和应用
-
/var Variable files:各种在系统运行中,内容会不停改变的文件。如日志文件,spool files,和临时的电子邮件文件
-
设备(主要指存储设备)挂载目录
media 移动设备默认的挂载点
mnt 手工挂载设备的挂载点
misc automount进程挂载
net automount进程挂载 -
命令存储位置:
/bin 普通用户使用的命令 /bin/ls, /bin/date RHEL7淘汰
/sbin 管理员使用的命令 RHEL7淘汰
/usr/bin 普通用户使用的应用程序
/usr/sbin 管理员使用的应用程序 -
库文件存储位置:
/lib 库文件Glibc RHEL7淘汰
/lib64 库文件Glibc RHEL7淘汰
/usr/lib 库文件Glibc
/usr/lib64 库文件Glibc
二、常见目录及文件说明
1、/etc/ 系统主要的配置文件存放目录
-
/etc/bashrc: 用于系统范围内的别名和函数
-
/etc/crontab: cron是一个可以用来根据时间、日期、月份、星期的组合来调度对重复任务的执行的守护进程,而此文件就是其配置文件。
-
/etc/fstab :在引导期间挂载的文件系统的标准配置文件,指定启动时需要自动安装的文件系统列表。也包括用
-
swapon: -a启用的swap区的信息。
-
/etc/group :用户组基本信息,包括用户组名称,GID,用户组支持的用户帐号等信息
-
/etc/gshadow :组密码文件
-
/etc/hosts 保存了主机名和它们的 IP 地址,功能详见:
-
/etc/inittab init的配置文件,init根据/etc/inittab配置文件来执行相应的脚本进行系统初始化,如设置键盘、字体,装载模块,设置网络等。
-
/etc/issue 包括用户在登录提示符前的输出信息。通常包括系统的一段短说明或欢迎信息。具体内容由系统管理员确定。
-
/etc/login.defs 设置用户帐号限制的文件,在这里我们可配置密码的最大过期天数,密码的最大长度约束等内容。该文件里的配置对root用户无效。如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs
-
/etc/passwd 用户的基本信息,包括用户的用户名,UID,GID,用户信息说明,用户的主文件夹,用户的Shell等信息
-
/etc/profile 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
-
/etc/profile.d/ 用来包含/etc/profile 文件要执行的脚本
-
/etc/shadow /etc/passwd文件的补充,早期用户的密码保存在/etc/passwd里面,后来为了安全,就将密码保存到此文件里面,/etc/passwd里用x代替密码。包括帐号名称,密码,最近改动密码的日期,密码不可被改动的天数,密码需要重新更改的天数,密码需要更改期限前的警告天数,密码过期后的帐号宽限时间,帐号失效日期等信息。在安装了影子(shadow)口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd文件中的加密口令移动到/etc/shadow中,而后者只对超级用户(root)可读。这使破译口令更困难,以此增加系统的安全性。
-
/etc/shells 列出可以使用的shell,chsh命令允许用户在本文件指定范围内改变登录的shell。提供一台机器ftp服务的服务进程ftpd检查用户shell是否列在/etc/shells文件中,如果不是,将不允许该用户登录。
-
/etc/skel/ 包含新账户的默认环境文件
-
/etc/ssh/ 存储SSH服务配置文件
-
/etc/sysconfig/
/etc/sysconfig/init 文件中的参数指定了系统在引导过程中的外观和体验
/etc/sysconfig/network 简单的网络配置内容
/etc/sysconfig/network-scripts/ 存储关于网络配置的脚本文件
/etc/sysconfig/network-scripts/ifcg-eth0 网卡地址信息
/etc/yum.repos.d/ 里面的配置文件用来连接系统和实际库
2、/proc/ 文件系统
/proc/文件系统:是一个伪的文件系统,就是说它是一个实际上不存在的目录,因而这是一个非常特殊的目录。它并不存在于某个磁盘上,而是由核心在内存中产生。这个目录用于提供关于系统的信息
-
/proc/bus/ 一些总线的设备,USB的设备也记录在此。
-
/proc/cpuinfo 处理器信息,如类型、制造商、型号和性能。
-
/proc/devices 当前运行的核心配置的设备驱动的列表。
-
/proc/dma 显示当前使用的DMA通道。
-
/proc/filesystems 核心配置的文件系统信息。
-
/proc/interrupts 显示被占用的中断信息和占用者的信息,以及被占用的数量。目前系统上面的IRO分配状态。
-
/proc/ioports 当前使用的I/O端口地址。
-
/proc/kcore 系统物理内存映像。与物理内存大小完全一样,然而实际上没有占用这么多内存;它仅仅是在程序访问它时才被创建。(注意:除非你把它拷贝到什么地方,否则/proc 下没有任何东西占用任何磁盘空间。)
-
/proc/kmsg 核心输出的消息,被送到syslog。
-
/proc/ksyms 核心符号表。
-
/proc/loadavg 系统“平均负载”; 3个没有意义的指示器指出系统当前的工作量。
-
/proc/meminfo 存储器使用信息,包括物理内存和交换分区(swap)。
-
/proc/modules 存放当前加载了哪些核心模块信息。
-
/proc/net 网络协议状态信息。
-
/proc/partitions 使用fdisk -l 会出现目前的所有分区,此文件内就记录与此相关的信息。
-
/proc/pci 在PCI总线上面每个设备的详细情况,可使用lspci来显示。
-
/proc/self 存放到查看/proc/的程序的进程目录的符号连接。当2个进程查看/proc/时,这将会是不同的连接。这主要便于程序得到它自己的进程目录。
-
/proc/stat 系统的不同状态,例如,系统启动后页面发生错误的次数。
-
/proc/swaps 系统被加载何地,及使用的分区记录在此。
-
/proc/sys/ 存储内核运行的参数
-
/proc/uptime 系统启动的时间长度。
-
/proc/version 核心版本。/etc/目录 /etc/目录包含很多文件。许多网络配置文件也在/etc/中。
-
/proc/x/ 关于进程x的信息目录,这一x是这一进程的标识号。每个进程在/proc/下有一个名为自己进程号的目录。
3、/var/文件系统
/var/包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化或扩充的。原来/var/目录中有些内容是在/usr/中的,但为了保持/usr/目录的相对稳定,就把那些需要经常改变的目录放到/var/中了。
-
/var/cache/ 应用程序本身运行过程中产生的一些暂存文
-
/var/lib/ 程序本身执行过程中,需要使用到的数据文件放置的目录,在此文件夹下,各自的软件应该要有各自的目录。
-
/var/local/ 存放/usr/local/ 中安装的程序的可变数据(即系统管理员安装的程序)。注意,如果必要,即使本地安装的程序也会使用其他/var/目录,例如/var/lock/。
-
/var/lock/ 锁定文件。许多程序遵循在/var/lock/ 中产生一个锁定文件的约定,以用来支持他们正在使用某个特定的设备或文件。其他程序注意到这个锁定文件时,就不会再使用这个设备或文件。
-
/var/log/ 各种程序的日志(log)文件,尤其是login(/var/log/wtmp log纪录所有到系统的登录和注销) 和syslog(/var/log/messages 纪录存储所有核心和系统程序信息)。/var/log/里的文件经常不确定地增长,应该定期清除。
-
/var/run/ 保存在下一次系统引导前有效的关于系统的信息文件。例如, /var/run/utmp 包含当前登录的用户的信息。某些程序或服务启动后,会将他们的PID放置在这个目录下。
-
/var/spool/ 放置“假脱机(spool)”程序的目录,如mail,news、打印队列和其他队列工作的目录。每个不同的spool
-
在/var/spool/下有自己的子目录,例如,用户的邮箱就存放在/var/spool/mail/ 中。
-
/var/tmp/ 比/tmp/允许更大的或需要存在较长时间的临时文件。注意系统管理员可能不允许/var/tmp/有很旧的文件。