仔细想想 学linux到现在 差不多半年时间了 中间学一段时间 扔一段时间 到现在依然对linux依然很模糊 最近对根文件系统 内核源码等等都很迷茫 现在就把我的理解写下来 只是我的理解 肯定有很多不正确的地方 希望看到的人能给我指出来 谢谢
首先来说什么是文件系统:简单说就是数据结构,把数据通过一定的数据结构组织管理。
再说根文件系统:他是加载其他文件系统的根,拿安装好的linux来说,所谓根文件系统就是我们输入 cd/ 显示出来的一系列文件夹 接下来说说他每个的作用,网上资料很多,百度之:
/bin 存放二进制可执行命令的目录
/dev 存放设备文件的目录(关于设备文件的详细内容 再慢慢研究)
/etc 存放系统管理和配置文件的目录
/home 用户主目录,比如用户user的主目录就是/home/user,可以用~user表示
/lib 存放动态链接共享库的目录
/sbin存放系统管理员使用的管理程序的目录
/tmp 公用的临时文件存储点
/root 系统管理员的主目录
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统。
/proc 虚拟文件系统,可直接访问这个目录来获取系统信息。
/var 某些大文件的溢出区
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。
对于经常使用Linux系统的读者来说,这些目录大部分应该很熟悉了。不过有几个目录对初学者来说容易混淆,如/bin,/sbin,/usr/bin和/usr/sbin。这里简单介绍一下它们的区别:/bin目录一般存放对于用户和系统来说都是必须的二进制文件,而/sbin目录要存放的是只针对系统管理的二进制文件,该目录的文件将不会被普通用户使用。相反,那些不是必要的用户二进制文件存放在/usr/bin下面,那些不是非常必要的系统管理工具放在/usr/sbin下。此外,对于一些本地的库也非常类似,对于那些要求启动系统和运行的必须命令要存放在/lib目录下,而对于其他不是必须的库存放在/usr/lib目录就usr:cpio(压缩打包命令)的实现
virt:内核虚拟机
各文件夹的作用我也很模糊 不过到目前为止 貌似不是很重要
再说一下内核和文件系统的关系(依然百度):
内核是执行单元,文件系统是存储单元
内核以某种方式(某一文件系统)从NAND中读取所需要的数据进行处理
处理完后再以某种方式(某一文件系统)存储到NAND中
这句话很简单 可我是理解了好几天 ,我原来一直纠结与我在电脑屏幕上看到的各种文件夹 比如内核是存在于/usr/src/下, 我就一直想着是不是文件系统包含内核呢 还有就是linux移植的时候 要分别烧入内核和根文件系统 我就想 内核和根文件系统明明是两个东西 可我看到的只是/下的一个个文件夹 难道我把内核和文件系统烧进去之后 他们融合为一体了 又是怎么融合的?
现在想想 很傻 不管是内核 还是文件系统 他的本质都是程序 都是存在硬盘里面的1和0 烧进去之后他们存在各自的一块地盘 然后内核通过文件系统访问数据 只是通过图形界面显示出了各种文件夹 唉 当时好傻 而且/usr/src/里面的内核与系统运行完全没有关系 他就是系统提供给你的一个源码 方便你学习的 你不想要 完全可以删除
用户377235 2015-1-29 18:08