今天看到了关于linux根文件系统的东西,查阅资料理解了下,不能保证完全正确,总之先记录下来。
我的理解是,文件系统就是一个管理存储设备(如硬盘一类)的程序,所有对设备数据的读,写,修改,全都通过文件系统来实现,那么linux的
根文件系统首先是一种文件系统,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所mount的第一个文件系统,内核代码映像
文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。
当我们把linux系统安装光盘或者是USB等设备装入计算机,这些设备中会有linux根文件系统,因为这个根文件系统的存在,引导程序得以去
将内核代码读入内存。
Linux根文件系统中的比较常见的目录结构:
² /bin 存放二进制可执行命令的目录
² /dev 存放设备(device)文件的目录
² /etc 存放系统管理和配置文件的目录
² /home 用户主目录,比如用户user的主目录就是/home/user,可以用~user表示
² /lib 存放动态链接共享库的目录
² /sbin存放系统管理员使用的管理程序的目录
² /tmp 公用的临时文件存储点
² /root 系统管理员的主目录
² /mnt 系统提供这个目录是让用户临时挂载其他的文件系统。
² /proc 虚拟文件系统,可直接访问这个目录来获取系统信息。
² /var 某些大文件的溢出区
² /usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。
/bin目录一般存放对于用户和系统来说都是必须的二进制文件(binary),而/sbin目录要存放的是只针对系统管理的二进制文件,该目录的
文件将不会被普通用户使用。相反,那些不是必要的用户二进制文件存放在/usr/bin下面,那些不是非常必要的系统管理工具放在/usr/sbin
下。此外,对于一些本地的库也非常类似,对于那些要求启动系统和运行的必须命令要存放在/lib目录下,而对于其他不是必须的库存放
在/usr/lib目录就可以。
在/mnt目录下可以挂载其他文件系统,如USB,这个打个比方有点像一个国家的治理,根文件系统是最高的统治机构,他将我们的存储设备
(如硬盘)分成了很多个不同的部分(不同的目录),在每个部分里,我们又可以有一个独立的另一个文件系统来管理这个区域。