对于linux来说,普天之下莫非王土,所有的文件必须从根开始。磁盘有多个分区,如何跟根建立关系?我们把磁盘上一个分区定义为根分区,那么其它分区被根分区奴役。其它分区挂载(关联)到根分区上。
所有linux命名必须遵守,FHS,:Filesystem Hieracchy standard.文件系统层级机构标准。定义根下必须有哪些目录,哪些可以没有,不同发行版所有的文件路径也必须符合此标准规范。
/ 根目录
/bin供所有用户使用的,基本命令程序文件
/Sbin 供系统管理使用的工具程序
/boot引导加载器必须用到的各静态文件,所谓静态文件启动一次就不用了,下次启动时再用。
/Dev(device files):存储特殊文件或者设备文件。特殊文件大多数指的是虚拟机.
对于linux而言,设备有两种。字符设备,块设备。
字符设备:数据交换以字符为单位,先a.再b,再c例如键盘。显示器。其中字符设备又叫线性设备。所谓线性设备是有时序的。
块设备:把各种a.b.c等数据打包成block 块,例如硬盘,又叫随机设备,因为有可能是后发先至的,硬盘上的电影不是看完第一个再看第二个,而是可以随意的看。内存也是随机访问的。
/ etc系统程序静态配置文件,只能为静态的不能为二进制程序。etc也有层级结构,下面有些目录是必须的,用一个命令控制应用程序的执行行为,如果一个应用程序选项过多的话,就用配置文件来保存。
/home:非关键性目录,可选项,可独立挂载到分区。并不是系统启动就要用到,不是基本层次结构。里面的内容每个主机上可能都不一样。普通的家目录的集中位置:一般每个普通的家目录默认此目录下与用户名同名的子目录。/home/username
/Lib:非关键性目录,可选项.为系统启动或者根文件系统上的应用程序(/bin,/sbin等)提供共享库,以及为内核提供内核模块。32位依然在lib下,还有Modules依然在lib下。有三个文件要特别注意:
libc.so.*:动态链接的c库
Ld*:运行时链接器或加载器
Modules:用于存储内核模块的目录
/lib64:64位系统特有的存放64共享库的路径
/Mida;为便携性设备提供挂载位置cdrom,floppy(软盘)
/ Mnt:其它文件系统的临时挂载点
/opt:附加程序(第三方应用程序)的安装位置:可选路径
/root:管理员的家目录。可选,因为管理员不能登录系统
/srv:当前主机为服务提供的数据
/tmp::当那些会产生临时文集的程序提供的用于存储临时文件的目录:可供所用户执行写入。操作,有特殊权限
/Usr:(usr hierarchy)除了根外,它是最重要的.全局共享的只读数据路径.
Bin .sbin lib lib64 include c程序的头文件
Share :man文档,命令手册页。命令自带文档等架构特有的文件的存放位置
Local:另一个层级目录
X11R6:X-Window程序的安装位置
Src:程序源码文件的存储
/usr/local local hierarchy
让系统管理员安装本地应用程序。本地应用程序指的是与系统不冲突的另外一个路径,装一个新版本,又想保留老版本。或者是第三方程序、。不是系统关键的。也不是系统发行商自带的
/var /var/hierarchy存储经常变换的目录,例如日志
Pro:是基于内存的(临时的一关机就没有了,开机后看到里面有很多文件,关机后就没这么多了,空空如也)虚拟的文件系统。(kernel and process information virtual filesystem内核和进程信息的虚拟文件系统。)用于为内核及进程存储其相关信息。他们多数为内核参数,例如net.ipvr.ip_forward,虚拟为net/ipv4/ip_forward。存储于/pro/sys/.因此其完整路径为/proc/sys/net.ipvr.ip_forward
为了保证一切皆文件而特殊设定的,内核在运行中也应该向外输出各种信息,让用户查看了解内核运行到什么状态了。输出的各种信息通过内核参数来实现的。来查看内核参数,只能用另外一种机制,这与一切皆文件的哲学思想不相符,把内核参数虚拟(抽象)为,跟文件系统一样,也有目录,也有文件,文件里还有数据
/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径,其主要作用在于为管理linux设备提供一种统一模型的接口
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/101867