Linux 文件的详解[分类/扩展名/inode/block]
关于Linux文件的介绍
Linux里文件扩展名和文件类型没有关系,Linux系统中一切皆文件
关于Linux文件分类
纯文本文件(可以cat的)
二进制文件(Linux的可执行文件等,如/bin/cp)
数据格式文件:有程序运行过程中读取某些特定格式的文件,通过last读取(cat报乱码错误)
wholog ==>who /var/log/wtmp
套接口文件:socket进程之间通信用 进程数据库的通信文件
管道文件:(不重要)
附:文件类型【man find 搜索type可看 】

Linux文件的扩展名
源码.tar.gz
.sh: shell脚本文件 shell语言开发
.pl: perl语言文件 用perl语言开发
.py:使用python语言开发
.html:网页文件
.conf: 服务的配置文件
.lock: 锁文件
.rpm: rpm安装包
关于文件Inode的介绍
Inode实际上是一个64字节的磁盘地址表。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block),然后将散列在磁盘的文件组成一个逻辑文件。
这种由多个扇区组成的"块",是文件存取的最小单位。
"块"的大小,最常见的是4KB,即连续八个扇区sector组成一个块block。
操作系统读取的时候,根据磁盘地址表的顺序,一次读取块中的内容,
stat:命令,查看某个文件的inode信息:
1、唯一表示,内核根据此区别文件是否同一文件。Linux读取文件首先读取这个索引点。
2、每个Linux存储设备(U盘,硬盘==> 整本书)或者存储设备的分区被格式化后使用
3、inode的大小在文件系统被格式化后就无法更改,格式化前可以指定inode的大小
查看分区信息-->inode大小:
dumpe2fs /dev/sda1 | grep -i "inode size"
关于文件在Linux系统的存储
Linux文件由2部分组成【inode + block】
第一部分是Inode(首页目录索引)
存放数据属性[ls -l的显示结果]以及实体文件的指向;
且文件的属性不包括文件名
第二部分是Block(书的每一页)
存储数据 (上级目录存储下一级目录的文件名)
读取文件流程:
1.cat file -> 2.indoe权限校验 -->3.权限通过,访问实体的文件内容(可能有多个block)
总结:
inode小结:
1.磁盘分区后生成一定数量的inode和block
2.inode是索引节点,存放文件的属性信息以及真实的索引
3.ext4文件系统 blocK存放真实数据
4.inode是一块存储空间,C6是256字节
5.inode是一串数字,且在文件中有唯一标示,内核根据此查询是否是同一文件
block总结:
1.磁盘读取数据都是按照block为单位读取的
2.一个文件可能占用多个block,每读取一次都会消耗一次IO
3.如果要提升磁盘IO的性能,就尽可能的一次性读取尽量多的数据
4.一个block只能存放一个文件的内容,无论内容多小。
如果block(非系统磁盘 4k) ,。那么存放1k的文件就会浪费3k
5.block并非越大越好。block太大对于小的文件会浪费磁盘空间。
例如,1000k的文件,block=4k,占用250个block,消耗IO为250次
block=1k,占用1000个block,消耗IO为1000次
6.block的设置是在格式化分区的时候
mkfs.ext4 -b 2048 -I 256 /dev/sdb
ext4文件一般设置4K
Linux 文件的详解[分类/扩展名/inode/block]的更多相关文章
- windows/NBTSTAT,linux/nmblookup命令详解,查询NetBIOS名
NBTSTAT命令详解 请问: Linux下有没有和nbtstat一样的命令,用 nmblookup -A ip 可以 nbstat命令主要用于查看当前基于netbios的tcp/ip连接状态,通过该 ...
- linux学习之路第八天(linux文件权限详解)
建议和我上一篇博客一起通读,效果更加 1.权限的基本介绍 通过一张图片解决疑惑(重点) rwx权限详解 rwx作用到文件 1)[r]代表可读(read) :可以读取,查看 2)[w]代表可写(writ ...
- /var/log目录下的20个Linux日志文件功能详解 分类: 服务器搭建 linux内核 Raspberry Pi 2015-03-27 19:15 80人阅读 评论(0) 收藏
如果愿意在Linux环境方面花费些时间,首先就应该知道日志文件的所在位置以及它们包含的内容.在系统运行正常的情况下学习了解这些不同的日志文件有助于你在遇到紧急情况时从容找出问题并加以解决. 以下介绍的 ...
- Linux文件解压缩详解
tar命令 我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar.可是Linux就不同了,它有.gz..tar.gz.tgz.bz2..Z..tar等众多的压缩文件名, ...
- LINUX 文件权限详解
ls -l // 查看文件的权限 等价于 ll 文件的权限信息查看 -rw-rw-r-- 1 ceshi ceshi 891 Aug 8 17:28 server drwxrwxr-x 10 cesh ...
- Linux文件时间详解ctime、mtime、atime【转】
本文转载自:http://blog.csdn.net/doiido/article/details/43792561 Linux系统文件有三个主要的时间属性,分别是 ctime(change time ...
- [转]Linux文件权限详解
转自:http://blog.chinaunix.net/uid-25052030-id-174343.html 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问 ...
- linux文件权限详解
一.文件和目录权限概述在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一 ...
- CentOS \Linux文件权限详解
文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一个 ...
随机推荐
- springcloud-05-ribbon中不使用eureka
ribbon在有eureka的情况下, 可以不使用eureka, 挺简单, 直接上代码 application.xml server: port: spring: # 设置eureka中注册的名称, ...
- springboot-19-整合dubbox
springboot 整合dubbox 1, 没了,,, 2, 安装zookeeper 可见: http://www.cnblogs.com/wenbronk/p/6636926.html 2.1 下 ...
- mongodb 数据库备份脚本
写了小shell bash, 用于给mongodb数据进行备份 #!/bin/bash #backup MongoDB #文件目录 #backup MongoDB #!/bin/bash #backu ...
- IDF实验室-简单的js解密
根据加密方法推算解密方法,补全如下 <script> /** * Pseudo md5 hash function * @param {string} string * @param {s ...
- VS2013 项目项目安装和部署
版权声明:本文为博主原创文章,未经博主允许不得转载. 1.release 模式下生成项目 2.解决方案 右键 添加 新建项目 其他项目类型 安装和部署 3.操作前将待打包项目发布路径指向上述 ...
- Abp中SwaggerUI的多个接口文档配置说明
对外提供的接口在实际生成过程中,可能是需要一个接口版本的,比如说v1,manage.效果如下: 在swagger中怎么实现呢? 1. 添加SwaggerVersionHelper.cs pub ...
- XP系统运行wpf程序出现透明现象的解决
xp 虚拟机运行WPF程序的时候,有部分控件透明,在这儿有一个可能的解决方案: 关闭系统的硬件加速: 1. 按“WIN” + R 键,在“运行”输入框中输入“dxdiag”: 2. 在“DirectX ...
- ASP.NET MVC传递Model到视图的多种方式总结(二)__关于ViewBag、ViewData和TempData的实现机制与区别
在ASP.NET MVC中,视图数据可以通过ViewBag.ViewData.TempData来访问,其中ViewBag 是动态类型(Dynamic),ViewData 是一个字典型的(Diction ...
- 动态We API层(动态生成js)
ABP动态webapi前端怎么调用? 研究abp项目时,页面js文件中一直不明白abp.services... 是从哪里来的 在调试SimpleTaskSystem的AngularJs demo时,一 ...
- MUI框架 选择器的使用
js.css引用 <script type="text/javascript" src="librarys/mui/js/mui.min.js">& ...