Linux文件类型

代表符号 含义
- 常规文件,即file
d directory,目录文件
b block device,块设备文件,支持以"block"为单位进行随机访问
c character device,字符设备文件,支持以"character"为单位进行线性访问
l symbolic link,符号链接文件
p pipe,命名管道
s socket,套接字文件

文件命名规则

1.严格区分大小写

2.目录也是文件

3.除过/以外的任意字符表示

4.长度不超过255

文件存储与读取

文件存储

1.文件存储在硬盘

2.文件存取最小单位是(block),块(block)由扇区组成,最常见的块大小为4KB,即8连续sector组成一个block

3.硬盘的最小存储单位叫做扇区(sector),每个扇区存储512字节

文件读取

操作系统读取硬盘数据:一次性读取一块数据

流程 以要读取/etc/passwd文件内容为例

Linux文件系统

Linux文件系统可以简单分为inode table和data area,inode table中存有inode,文件系统通常会将文件的权限属性放置到inode中,至于实际内容则放置到data block区块中。另外,还有一个超级区块(superblock)会记录整个文件系统的整体信息

inode block superblock
记录文件的元数据 记录文件的数据 记录文件系统的整体信息

文件的元数据 :权限(rwx)与属性(拥有者、群组、时间参数、大小等)

文件的数据:实际记录文件的内容 若文件太大时,会占用多个block

文件系统的整体信息:inode/block的总量使用量剩余量, 以及档案系统的格式与相关信息等

inode补充

1.可以通过stat命令查看文件的元数据

[root@localhost ~]# stat anaconda-ks.cfg
File: ‘anaconda-ks.cfg’
Size: 1241 Blocks: 8 IO Block: 4096 regular file
Device: 802h/2050d Inode: 16797762 Links: 1
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:admin_home_t:s0
Access: 2019-09-07 16:17:23.995429241 +0800
Modify: 2019-09-07 16:17:24.005456452 +0800
Change: 2019-09-07 16:17:24.005456452 +0800
Birth: -

File 文件名称

Size 文件大小

Blocks 占用的磁盘块数

IO Block IO块大小

regular file 文件类型

Device 所在设备

InodeInode节点号

Links被链接次数

Access①访问权限

Uiduid号属主

Gidgid号属组

Access② 文件最近一次的访问时间

Modify 文件的修改时间

Change 文件的改变时间

2.inode同时也记录此文件的资料所在的block号码

3.inode消耗磁盘空间

  在磁盘格式化时,操作系统会自动将磁盘分为两个区域,一个数据区,一个inode区。整个磁盘的可用容量由inode磁盘空间共同决定,当inode消耗完之后,磁盘空间还有剩余也无法存储数据。


补充

1.小文件问题:可能会使inode耗尽,使得文件文法创建。(磁盘利用率低)--->对于小文件比较多的场景,将block划分小一点。

2.大文件问题:一个文件占用多个block,使得文件读写速率慢。---->将block划分大一点。

3.ext文件系统——xfs文件系统

Linux基础篇学习——Linux文件系统之文件存储与读取:inode,block,superblock的更多相关文章

  1. Linux随笔-鸟哥Linux基础篇学习总结(全)

    Linux随笔-鸟哥Linux基础篇学习总结(全) 修改Linux系统语系:LANG-en_US,如果我们想让系统默认的语系变成英文的话我们可以修改系统配置文件:/etc/sysconfig/i18n ...

  2. linux基础命令学习(六)文件的特殊属性

    Linux chattr命令用于改变文件属性. 这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式: a:让文件或目录仅供附加用途.    b:不更新文件或目录的最后存取 ...

  3. Linux基础篇学习——常见系统命令:ls,pwd,cd,date,hwclock,passwd,su,clear,who,w,uname,uptime,last,dmesg,free,ps,top

    ls 显示指定目录中的内容 ls [OPTION]... [FILE]... OPTION -a --all,显示所有文件包括隐藏文件 -l 列出长属性,显示出文件的属性与权限等数据信息 -i  列出 ...

  4. linux基础命令学习(三)文件搜索 find

    1.使用name选项 查找自己的根目录$Home中的文件,可以用: find ~ -name "*.log" -print  查找当前目录下的文件,可以用: find . -nam ...

  5. Linux基础篇学习——文件目录常用管理命令mkdir,cat,more,less,ln,file,cp,find,split,mv

    mkdir 创建目录 -p 递归创建目录 -v 显示创建信息 [root@zycentos7 ~]# mkdir -p {mylinux/{bin,conf,lib,logs,webapps/{doc ...

  6. linux基础命令学习(二)文件和目录操作

    1.变换当前目录(change directory)     cd /home 进入 '/ home' 目录'  (change directory)   cd .. 返回上一级目录    cd .. ...

  7. Linux基础篇三:文件系统

    /bin      实际上是  /usr/bin /sbin    实际上是  /usr/sbin /usr/bin 里面的命令其实是依赖  /lib64  或者    /lib32 ldd  /us ...

  8. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  9. 安装Linux系统,学习Linux操作基础

    20189230杨静怡 2018-2019-2 <移动平台开发实践>第1周学习总结 安装Linux系统内容总结 一.学习"基于VirtualBox虚拟机安装Ubuntu图文教程& ...

随机推荐

  1. Android多模块混淆的问题

    Android在多模块或者组件化的时候,关于混淆的管理,一般常见的做法就是两条. 把所有的混淆规则规则都放在app模块下面,由app统一管理.这样就会有一个问题,就是到会导致混淆规则的冗余. 由mod ...

  2. Snap们崛起告诉我们:这个世界太需要悄悄话

    ​ 北京时间3月3日凌晨,"阅后即焚"应用Snapchat母公司Snap在纽约证券交易所上市.开盘价24美元,比其初定的17美元IPO价格高出近41.2%,按照24美元的股价计算, ...

  3. diary20180428

    17:05:59 今天早晨去了图书馆.学习了一把vscode.试图在河边看电脑,总有小虫不让我专心. 23:27:34 看纯黑直播打战神,有点感触. 动漫或游戏,角色觉醒,实力大增,小时候(甚至现在) ...

  4. docker学习读书笔记-一期-整理

    0.Docker - 第零章:前言 1.Docker - 第一章:Docker简介 2.Docker - 第二章:第一个Docker应用 3.Docker - 第三章:Docker常用命令 4.Doc ...

  5. C#连接Informix数据库

    最近在工作中遇到了需要连接Informix数据库的问题,在通过研究后发现了可以通过多种方式实现,我选择的是通过IBM Informix .NET Provider.该方式需要引用IBM.Data.In ...

  6. AVCaptureInput和AVCaptureOutput子类介绍

    AVCaptureInput AVCaptureDeviceInput:用于从AVCaptureDevice对象捕获数据. AVCaptureScreenInput:从macOS屏幕上录制的一种捕获输 ...

  7. 微信h5页面audio标签在ios下不能自动播放

    背景介绍:在一个h5页面中,当用户提交表单到后台,后台返回的结果成功的话,开始自动播放背景音乐 出现的问题:在安卓手机上正常,iOS中没有反应 后来网上一番搜索后了解到时因为iOS不允许自动播放音乐, ...

  8. JZOJ 3526. 【NOIP2013模拟11.7A组】不等式(solve)

    3526. [NOIP2013模拟11.7A组]不等式(solve) (File IO): input:solve.in output:solve.out Time Limits: 1000 ms M ...

  9. 自己查与写的批量比较bash

    前言:互测的时候一个一个输入感觉太麻烦,于是尝试写自己的对拍,又想到os刚学了bash命令行处理,于是想把两者结合一下减轻自己的工作量 分两步: 将所有人的工程导出成jar文件 放到linux下用ba ...

  10. python 异步MySQL存库

    对于异步框架而言,这些延迟是无法接受的.因此, Twisted 提供了 twisted.enterprise.adbapi, 遵循DB-API 2.0协议的一个异步封装. adbapi 在单独的线程里 ...