关于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]的更多相关文章

  1. windows/NBTSTAT,linux/nmblookup命令详解,查询NetBIOS名

    NBTSTAT命令详解 请问: Linux下有没有和nbtstat一样的命令,用 nmblookup -A ip 可以 nbstat命令主要用于查看当前基于netbios的tcp/ip连接状态,通过该 ...

  2. linux学习之路第八天(linux文件权限详解)

    建议和我上一篇博客一起通读,效果更加 1.权限的基本介绍 通过一张图片解决疑惑(重点) rwx权限详解 rwx作用到文件 1)[r]代表可读(read) :可以读取,查看 2)[w]代表可写(writ ...

  3. /var/log目录下的20个Linux日志文件功能详解 分类: 服务器搭建 linux内核 Raspberry Pi 2015-03-27 19:15 80人阅读 评论(0) 收藏

    如果愿意在Linux环境方面花费些时间,首先就应该知道日志文件的所在位置以及它们包含的内容.在系统运行正常的情况下学习了解这些不同的日志文件有助于你在遇到紧急情况时从容找出问题并加以解决. 以下介绍的 ...

  4. Linux文件解压缩详解

    tar命令 我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar.可是Linux就不同了,它有.gz..tar.gz.tgz.bz2..Z..tar等众多的压缩文件名, ...

  5. LINUX 文件权限详解

    ls -l // 查看文件的权限 等价于 ll 文件的权限信息查看 -rw-rw-r-- 1 ceshi ceshi 891 Aug 8 17:28 server drwxrwxr-x 10 cesh ...

  6. Linux文件时间详解ctime、mtime、atime【转】

    本文转载自:http://blog.csdn.net/doiido/article/details/43792561 Linux系统文件有三个主要的时间属性,分别是 ctime(change time ...

  7. [转]Linux文件权限详解

    转自:http://blog.chinaunix.net/uid-25052030-id-174343.html 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问 ...

  8. linux文件权限详解

    一.文件和目录权限概述在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一 ...

  9. CentOS \Linux文件权限详解

    文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一个 ...

随机推荐

  1. java.io.Serializable的作用

    Serializable,之前一直有使用,默认的实体类就会实现Serializable接口,对具体原因一直不是很了解,同时如果没有实现序列化,同样没什么影响,什么时候应该进行序列化操作呢?今天查了下资 ...

  2. 把AspDotNetCoreMvc程序运行在Docker上-part3:使用独立的存储容器

    接上一篇博文<把AspDotNetCoreMvc程序运行在Docker上-part2:修改容器以及发布镜像>,这次我们看看如何使用docker存储数据. 背景 之前的示例都只有一个网站应用 ...

  3. [转]ASP.NET cache缓存的用法

    本文转自:https://blog.csdn.net/mss359681091/article/details/51076712 本文导读:在.NET运用中经常用到缓存(Cache)对象.有HttpC ...

  4. [转]Global exception handling in Web API 2.1 and NLog

    本文转自:https://stackoverflow.com/questions/25865610/global-exception-handling-in-web-api-2-1-and-nlog ...

  5. ASP.NET MVC 获得 view 中的HTML并将其中的内容自动转换成繁体中文。

    一.思路 1.获得 asp.net mvc 输出的 html 的字符串. 2.将拿到的 html 字符串中的简体中文转换成繁体中文. 3.输出 html. 二.实现 1.扩展 RazorView 视图 ...

  6. Node.js函数

    Node.js 函数 在JavaScript中,一个函数可以作为另一个函数的参数.我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数. Node.js中函数的使用与Javascrip ...

  7. Python__函数和代码复用

    主要内容 函数的定义和使用 实例:七段数码管的绘制 代码复用与函数递归 PyInstall库的使用 实例:科赫雪花小包裹 函数的定义与使用 函数的理解与定义 函数的使用及调用过程 函数的参数传递 函数 ...

  8. Python__random库基本介绍

    random库是使用随机数的Python标准库 从概率论角度来说,随机数是随机产生的数据(比如抛硬币),但时计算机是不可能产生随机值,真正的随机数也是在特定条件下产生的确定值,只不过这些条件我们没有理 ...

  9. Windows2012开机启动项设置

    最简单方式 开始->运行->输入shell:startup 在打开的启动文件夹中,将需要启动程序的快捷方式复制进去,完工 重启试试吧 https://blog.csdn.net/tmton ...

  10. jstack,jmap,jstat分别的意义

    1.Jstack 1.1   jstack能得到运行java程序的java stack和native stack的信息.可以轻松得知当前线程的运行情况.如下图所示 注:这个和thread dump是同 ...