Linux文件系统介绍上
目录
Linux各目录解释
在文件管理查看目录
在命令行查看目录
对各目录的简略解释:
/bin: 存放经常最使用的命令 (一些二进制文件)
/boot : 存放一些启动时的内核文件
/dev : 存放的是外部设备文件
/etc : 存放配置文件和子目录
/home :普通用户的家目录
/lib : 存放系统最基本的动态连接共享库
/media :外部设备挂载目录
/mnt :用户临时挂载别的文件系统目录
/opt : 额外安装软件摆放的目录
/proc :这个目录是一个虚拟目录,是系统内存的映射,可以通过这个目录直接访问系统文件
/root :超级管理员的家目录
/sbin :超级管理员的使用的程序
/selinux : 这个目录是centos与radhat独有的目录 这个目录存放的是安全机制相关文件
/srv :该目录存放一些服务启动后需要提取的数据
/sys :该文件系统的内核设备直接的反应
/tmp :存放临时文件
/usr :该目录是一个比较重要的目录,用户的很多应用程序和文件都在这个目录下
/usr/bin :系统用户使用的应用程序
/usr/sbin :超级用户使用的比较高级的管理程序和系统守护程序
/usr/src :内核源代码默认存放的位置
/var :日志文件目录
系统的这些文件一般不要乱动删除,可能会导致系统崩溃无法启动等问题(尤其在超管身份下)
inode,block,superblock的概念
inode:是linux文件系统的基础
硬盘的最小存储单位是扇区(sector)操作系统在读取硬盘中的文件时并不是每次单一扇区进行读写而是一次读取多个扇区,及一次性读取一块数据,这个由多个扇区组成的块叫做(block)是文件的最小储存单位,常见的块大小为4kb约为8个扇区的大小(每个扇区存储512字节),一个文件可以占用多个block但是一个block只能存储一个文件。
可以使用stat命令查看文件的inode编号
Inode 包含的信息至少有以下几种
- 文件的类型
- 文件访问权限
- 文件的所有者与组
- 文件的大小
- 链接数
- 文件的时间信息
- 文件的特殊属性
- 文件内容的真正指向
由于每个文件都需要一个inode编码因此有可能发生inode编码使用完的情况但是硬盘还没存满这时候就不可以新建文件会报磁盘空间已满的错误 no space left on device
查看每个硬盘分区的inode总数和已经使用的数量可以使用 df -I 命令
打开文件系统处理的步骤:
表面上用户通过文件名,打开文件。实际上系统内部进行了三步
- 系统找到文件名对应的inode编码
- 通过inode编码,获取inode信息
- 根据inode信息找到文件所在的block,读取数据
使用ls -I filename 就可以查看文件名对应的inode编码
Inode的特殊作用
- 有时候文件名包含特殊符号,无法正常删除,这时直接删除inode节点就能起到删除文件的作用
- 移动和重命名文件时不改变文件的inode编码
- 打开以文件以后,系统就以inode编码来识别这个文件不在考虑文件名
使软件更新变得简单,可以再不关闭软件的情况下进行更新,不需要重启,因为系统通过inode编码来识别运行中的文件,更新的时候一同样的文件名,生成一个新的inode,不会影响到运行中的文件。等到下一次运行这个软件时,文件名就自动指向新版的文件,旧版的inode编码就会被回收。
硬链接与软链接
硬链接:是指文件名不同但是inode编码相同的文件,对一个文件修改会影响其他文件但是对一个文件删除不会影响其他文件。
使用ln命令可以创建硬链接
Ln 源文件 目标文件
可以查看硬链接的inode编码是一致的
软链接:相当于windows系统下的快捷方式;用处和存在方式和windows相似
创建方式 ln -s 源文件或目录 目标文件或目录
文件删除原理
Linux是通过控制link的数量来删除文件的。只有当一个文件不存在任何的link’时,文件才会被删除,一般来说每个文件都有2个计数器(i_count和i_nlink)
I_count:当前文件被调用的次数(内存计数器)
I_nlink:当前文件硬链接的数量(磁盘引用计数器)
rm命令原理:是通过rm删除文件,实际上就是减少文件的磁盘引用记数i_nlink的数量(即硬链接数量)