Linux文件系统
Linux 或 Unix 操作系统中,所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构。
文件系统的最顶层是由根目录开始的,系统使用 / 来表示根目录。在根目录之下的既可以是目录,也可
以是文件,而每一个目录中又可以包含子目录文件。如此反复就可以构成一个庞大的文件系统。
FHS定义了Linux系统中的主要目录及存放的内容,多数Linux发行版遵从FHS标准,只有少数Linux发
行版没有使用FHS标准。
在FHS中,所有的(包括存储于不同物理/虚拟设备中的)文件和目录都存在于根目录 / 下。
第一层结构
- /bin 所有用户在单用户模式中必须具备的二进制命令文件,如 cat, ls, cp
- /boot Boot loader文件
- /dev 必要的 device 文件
- /etc 特定主机 全系统 的配置文件
- /home 用户的个人目录,包含保存的文件和个人设置等
- /lib /bin/ 和/sbin/ 中必须的依赖库
- /lib64依赖库
- /lost + found
- /media 一些可以热拔插的介质(如CD-ROMs)的挂载点 (在FHS-2.3中出现).
- /mnt 临时挂载的文件系统
- /opt 可选的应用程序包
- /proc 将进程和内核信息以文件形式呈现的虚拟文件系统。在Linux中,与procfs mount(进程 文件系统)对应
- /root root用户的个人目录
- /sbin 必备的系统可执行文件,如fsck, init, route.
- /selinux
- /srv 本系统提供的特定站点的数据。如web服务器提供的数据和脚本,FTP服务器提供的数据, VCS的仓库
- /sys 包含连接到本台计算机的设备信息
- /tmp 临时文件(和/var/tmp相同). 通常在重启后清空,并且受到严格的大小限制
- /usr 只读用户数据的次要层次,包含大部分(多)用户功能和应用
- /var Variable files:各种在系统运行中,内容会不停改变的文件。如日志文件,spool files,和临时的电子邮件文件
常见目录及文件
/etc/ 【系统主要的配置文件存放目录】
-
/etc/bashrc 用于系统范围内的别名和函数
-
/etc/crontab cron 是一个可以用来根据时间、日期、月份、星期的组合来调度对重复任务的执行
的守护进程,而此文件就是其配置文件。 -
/etc/fstab 在引导期间挂载的文件系统的标准配置文件,指定启动时需要自动安装的文件系统列
表。也包括用swapon -a启用的swap区的信息。
-
/etc/group 用户组基本信息,包括用户组名称,GID,用户组支持的用户帐号等信息
-
/etc/gshadow 组密码文件
-
passwd 用户基本信息
-
shadow 用户密码信息
-
/etc/hosts 保存了主机名和它们的 IP 地址
-
/etc/issue 包括用户在登录提示符前的输出信息。通常包括系统的一段短说明或欢迎信息。具体
内容由系统管理员确定。
如图,可利用 vi 编辑器打开进行编辑 vim相关内容见:https://blog.youkuaiyun.com/Sooohot/article/details/104391237 -
shells 当前系统所支持的shell
-
/etc/skel/ 包含新账户的默认环境文件
-
login.defs 设置用户账号限制信息
-
yum.repos.d/ yum仓库的配置文件
-
/etc/sysconfig/
/etc/sysconfig/init 文件中的参数指定了系统在引导过程中的外观和体验
/etc/sysconfig/network 简单的网络配置内容
/etc/sysconfig/network-scripts/ 存储关于网络配置的脚本文件
/etc/sysconfig/network-scripts/ifcg-eth0 网卡地址信息
下图为用vi编辑器编辑网卡地址信息
15. /etc/ssh/ 存储SSH服务配置文件
16. /etc/profile 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并
从/etc/profile.d目录的配置文件中搜集shell的设置。
/etc/profile.d/ 用来包含/etc/profile 文件要执行的脚本
/proc/ 文件系统
- /proc/bus/ 一些总线的设备,USB的设备也记录在此
- /proc/cpuinfo 处理器信息,如类型、制造商、型号和性能
- /proc/meminfo 存储器使用信息,包括物理内存和交换分区(swap)
- /proc/filesystems 核心配置的文件系统信息
- /proc/modules 存放当前加载了哪些核心模块信息
- /proc/partitions 使用fdisk -l 会出现目前的所有分区,此文件内就记录与此相关的信息
- /proc/uptime 系统启动的时间长度
/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/有很旧的文件。