linux怎么查看本机内存大小
242
2022-11-05
深入理解Linux文件与日志分析
深入理解Linux文件与日志分析
内容:
inode与block硬链接与软连接恢复误删除的文件分析日志文件
inode和block概述
文件数据包括信息与实际数据
文件存储在硬盘上,硬盘最小存储单位是"扇区",每个扇区存储512字节。
block(块)
连续的八个三区组成一个block是4K大小,是文件存取的最小单位。操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取的。
文件数据包括实际数据与元信息(类似文件属性)。文件数据寻相互在"块"中,存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode。因此一个文件必须占用一个inode,并且至少占用一个block。
inode不包含文件名。文件名是存放在目录当中的。Linux系统中一切皆文件,因此目录也是一种文件。每个inode都有一个号码,操作系统用inode号码来识别不同的文件。Linux系统内部不适用文件名,而使用inode号码来识别文件。对于系统来说,当用户在Linux系统中试图访问一个文件,系统会先根据文件名去查找它对应的inde号码,通过inode号码,获取inode信息。根据inode信息,查找该用户是否具有访问该文件的权限,如果有就指向相应的数据block,并且读取数据。如果没有就拒绝
inode(索引节点)
中文译名为"索引节点",也叫i节点
用于存储文件元信息
inoe的内容
inode包含文件的元信息
文件的字节数
文件拥有者的User ID
文件的GROUP ID
文件的读、写、执行权限
文件时间戳
每个inde都有一个号码,操作系统用inode号码来识别不同的文件Linux系统内部不使用文件名,而使用inode号码来识别文件
对于用户,文件名
inode的号码
用户通过文件名打开文件时,系统内部的过程
系统找到这个文件名对应的inode号码
通过inode号码,获得 inode信息
根据inode信息,找到文件数据
查看inode号的方法命令:
ls -i:查看文件对应的inode号码,ls -i文件名
stat:查看inode信息中的inode号码,stat文件名
inode的大小
inode也会消耗硬盘空间,所以格式化的时候,才做系统自动将硬盘分成两个区域。一个是数据区,存放文件数据:另一个是inoe区,存放在inode所包含的信息。每个inode的大小,一般是128字节或256字节。同常情况下不需要关注单个inode的大小,而是需要重点关注inode总数。inode的总数在格式化时就给定了,执行"df -i"命令即可查看每个硬盘分区对应的inode总数和已经使用的i弄得数量。
由于inode号码与文件名分离,导致Linux系统具备以下集中特有的现象:
一、inode的特殊作用
当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件
二、
移动或者重命名文件时,只改变文件名,不影响inode号码
三、
打开一个文件后,系统通过inode号码来识别文件,不再考虑文件名
四、
使用vi编辑器修改文件数据保存后,会生成一个新的inode号码。但是,如果使用ehco进行“>”的追加内容。则不会变更inode号。
链接文件
为en文件或目录建立链接文件
连接文件分类
删除原始文件后 | 失效 | 仍然可用(文件占用空间与源文件相同) |
使用范围 | 适用于文件或目录 | 仅适用于文件 |
保存位置 | 与原始文件可以位于不同的文件系统中 | 必须与原始文件在同一个文件系统(如) |
链接文件分类
硬链接
ln 源文件 目标位置; 用的很少
软链接
ln -s 源文件 目标位置; 实际工作环境经常使用
命令执行的优先级
第一优先级:指定路径的命令。绝对路径/usr/bin/ls 或者相对路径cd /usr/bin ./1s
第二优先级:别名指定的命令alias myls= ' /usr/bin/ls -alh'
第三优先级:内部命令
第四优先级: hash(哈希)命令
linux系统下会有一个hash表,当你刚开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样。第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令时,shell解释器首先会查看hash表,没有该命令才会去PATH路径下寻找。
hash表能提高命令的调用速率。
第五优先级:通过 PATH 定义的路径顺序查找
如果以上顺序都找不到,就会报“未找到命令...”的错误
深入理解Linux文件与日志分析
内容:
#### inode与block#### 硬链接与软连接#### 恢复误删除的文件#### 分析日志文件
inode和block概述
文件数据包括信息与实际数据 文件存储在硬盘上,硬盘最小存储单位是"扇区",每个扇区存储512字节。 block(块) 连续的八个三区组成一个block是4K大小,是文件存取的最小单位。操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取的。 文件数据包括实际数据与元信息(类似文件属性)。文件数据寻相互在"块"中,存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode。因此一个文件必须占用一个inode,并且至少占用一个block。 inode不包含文件名。文件名是存放在目录当中的。Linux系统中一切皆文件,因此目录也是一种文件。每个inode都有一个号码,操作系统用inode号码来识别不同的文件。Linux系统内部不适用文件名,而使用inode号码来识别文件。对于系统来说,当用户在Linux系统中试图访问一个文件,系统会先根据文件名去查找它对应的inde号码,通过inode号码,获取inode信息。根据inode信息,查找该用户是否具有访问该文件的权限,如果有就指向相应的数据block,并且读取数据。如果没有就拒绝 inode(索引节点) 中文译名为"索引节点",也叫i节点 用于存储文件元信息 inoe的内容
inode包含文件的元信息
文件的字节数 文件拥有者的User ID 文件的GROUP ID 文件的读、写、执行权限 文件时间戳
每个inde都有一个号码,操作系统用inode号码来识别不同的文件Linux系统内部不使用文件名,而使用inode号码来识别文件
对于用户,文件名
inode的号码
用户通过文件名打开文件时,系统内部的过程 系统找到这个文件名对应的inode号码 通过inode号码,获得 inode信息 根据inode信息,找到文件数据 查看inode号的方法命令: ls -i:查看文件对应的inode号码,ls -i文件名 stat:查看inode信息中的inode号码,stat文件名 inode的大小 inode也会消耗硬盘空间,所以格式化的时候,才做系统自动将硬盘分成两个区域。一个是数据区,存放文件数据:另一个是inoe区,存放在inode所包含的信息。每个inode的大小,一般是128字节或256字节。同常情况下不需要关注单个inode的大小,而是需要重点关注inode总数。inode的总数在格式化时就给定了,执行"df -i"命令即可查看每个硬盘分区对应的inode总数和已经使用的i弄得数量。
由于inode号码与文件名分离,导致Linux系统具备以下集中特有的现象:
一、inode的特殊作用 当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件 二、 移动或者重命名文件时,只改变文件名,不影响inode号码 三、 打开一个文件后,系统通过inode号码来识别文件,不再考虑文件名 四、 使用vi编辑器修改文件数据保存后,会生成一个新的inode号码。但是,如果使用ehco进行“>”的追加内容。则不会变更inode号。
链接文件
为en文件或目录建立链接文件 连接文件分类
软链接 | 硬链接 | |
删除原始文件后 | 失效 | 仍然可用(文件占用空间与源文件相同) |
使用范围 | 适用于文件或目录 | 仅适用于文件 |
保存位置 | 与原始文件可以位于不同的文件系统中 | 必须与原始文件在同一个文件系统(如) |
链接文件分类 硬链接 ln 源文件 目标位置; 用的很少 软链接 ln -s 源文件 目标位置; 实际工作环境经常使用 命令执行的优先级 第一优先级:指定路径的命令。绝对路径/usr/bin/ls 或者相对路径cd /usr/bin ./1s 第二优先级:别名指定的命令alias myls= ' /usr/bin/ls -alh' 第三优先级:内部命令 第四优先级: hash(哈希)命令 linux系统下会有一个hash表,当你刚开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样。第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令时,shell解释器首先会查看hash表,没有该命令才会去PATH路径下寻找。 hash表能提高命令的调用速率。 第五优先级:通过 PATH 定义的路径顺序查找 如果以上顺序都找不到,就会报“未找到命令...”的错误
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~