linux 往文件写4k大小,[svc]为何linux ext4文件系统目录默认大小是4k?

linux ext4普通盘为什么目录大小是4k?

Why does every directory have a size 4096 bytes (4 K)?

To understand this, you'd better have some basic knowledge of the following (file system):

inode (contains file attributes, metadata of file, pointer structure)

file (can be considered a table with 2 columns, filename and its inode, inode points to the raw data blocks on the block device)

directory (just a special file, container for other filenames. It contains an array of filenames and inode numbers for each filename. Also it describes the relationship between parent and children.)

symbolic link VS hard link

dentry (directory entries)

...

On typical ext4 file system (I reckon most likely this is what you are using), the default inode size is 256 bytes, block size is 4096 bytes.

A directory is just a special file which contains an array of filenames and inode numbers. When the directory was created, the file system allocated 1 inode to the directory with a "filename" (dir name in fact). The inode points to a single data block (minimum overhead), which is 4096 bytes. That's why you see 4096 / 4.0K when using ls.

要理解这个,你首先要懂:(注: 这里我用c7.4,默认xfs:/etc/fstab,我又挂了一个格式化成ext4做的实验)

inode:

file

directory

symblic: 软链接

ff4681930933dbb31619bb9893d7632a.png

我猜目录名字占了第一个inode-index.

2900af71e84f270d838bdf1ee7013386.png

inode-index和inodetable单独开辟了一个block

7198e33811f69004d411f2491b61b8cd.png

目录是特殊的文件,目录内容包含: 文件名+inode号, 当目录被创建后,文件系统会给这个目录分配1个inode+特殊文件(即以目录为名). inode指向一个block. 所有你才会看到目录大小为4k.

这就能理解目录里的文件,文件名字保存在了所在目录的block里.

查看和修改ext4的inode和block

ext4 默认inode大小是256bytes, block大小是4096bytes

[root@moban ~]# dumpe2fs /dev/sdb |grep "Inode size"

Inode size: 256

[root@moban ~]# dumpe2fs /dev/sdb |grep "Block size"

Block size: 4096

- 格式化时候指定inode和block大小

[root@moban ~]# mkfs.ext4 -I 2048 -b 2048 /dev/sdb

查看目录的inode内容

71666505af7f550b345f30ea9f4001d5.png

471c212f6aa1ae35f3606e7e749a8b52.png

什么是FHS,Linux的文件系统目录标准是怎样的

Filesystem Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件. ...

Linux入门——文件系统目录结构

不同操作系统对于文件系统的组织是不一样的,当前主流的两大类操作系统windows和Linux它们在文件系统组织方式上有很大差别.windows的文件系统是以驱动器盘符为基础,这样文件是挂载在分区上的, ...

Linux 根文件系统目录结构

/:根目录 /bin:linux的常用命令 /sbin:linux的常用命令 /lib:库文件(so.elf) /etc:系统配置文件和脚本文件 /sys:驱动相关的信息 /dev:设备节点目录 /p ...

Linux文件系统和管理-1文件系统目录

文件系统目录结构 Linux常见目录及用途 bin binary 放的是二进制程序 /usr/bin 和这是同一回事 bin -> usr/bin /bin是 /usr/bin的快捷方式 boo ...

Linux文件系统目录

Linux操作系统目录呈树形结构,文件系统只有一个根目录,其余文件都是从根目录下延伸出来的 上图是一个Linux文件系统目录的展现,现在我们来看一下文件系统目录下相关目录及其功能 根目录( / ) L ...

linux普通文件权限和系统目录权限的实践及结论

测试结论:linux普通文件的读.写.执行权限说明 1.可读r:表示具有读取\阅读文件内容的权限 2.可写w:表示具有新增.修改文件内容的权限 1)如果没有r配合,那么vi编辑文件会提示无法编辑(但可 ...

linux 下文件误删恢复

linux 下文件误删恢复 0x01 事件背景 某天晚上写代码的时候,本来想删除当前目录下一个叫xxx的文件夹 rm -rdf ./xxx/*, 结果光顾着和人说话,一不留神手贱把命令敲成了rm -r ...

linux中文件的三种time(atime,mtime,ctime)

linux下文件有3个时间的,分别是atime,mtime,ctime.有些博友对这3个时间还是比较迷茫和困惑的,我整理了下,写下来希望对博友们有所帮助. 1 这三个time的含义 简名 全名 中文名 ...

linux各文件夹含义和作用

原文链接:https://blog.csdn.net/okyoung188/article/details/76315774 1.linux下各文件夹的意义:     /bin:是binary的缩写, ...

随机推荐

09---Net基础加强

复习 Person类: using System; using System.Collections.Generic; using System.Linq; using System.Text; us ...

FZU 2105 Digits Count(位数计算)

Description 题目描述 Given N integers A={A[0],A[1],...,A[N-1]}. Here we have some operations: Operation ...

TextBox(只允许输入字母或者数字)

实现如下: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System ...

SQLite数据库查看工具(免费)

1. SQLite Administrator http://sqliteadmin.orbmu2k.de/ iteSpy 2.  SQLiteSpy   http://www.yunqa.de/de ...

UIButton设置标题左对齐

Button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;//左对齐(UIControlContentHo ...

jquery-Ajax请求用例码

$.ajax({                    type:"post",                    url: 'domain’,                 ...

ruby 知识点随笔

print .puts 和 p 方法的区别."" 与 ''  的区别. 处理控制台编码问题 >ruby -E utf-8 脚本文件名称 # 执行脚本 >irb -E u ...

【BZOJ4671】异或图(斯特林反演)

[BZOJ4671]异或图(斯特林反演) 题面 BZOJ Description 定义两个结点数相同的图 G1 与图 G2 的异或为一个新的图 G, 其中如果 (u, v) 在 G1 与 G2 中的出 ...

软件设计基础-C/S系统

在软件设计开发过程中,逐渐形成了一些针对特定应用领域的软件系统组织方式的惯用模式 如经典的C/S(client/server,客户/服务器)模式和B/S(browser/server,浏览器/服务器) ...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303845.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3月份GitHub上最热门的开源项目

本篇文章为大家盘点了3月份GitHub最热门的开源项目,一起来看看你都知道哪些,或者有哪些你已经在使用的了。1Interview-Notebookhttps://github.com/CyC2018/Interview-Notebook Star 11975此项目是作者在准备 2018 年春招实习过程中的学习总结&#xff0…

自定义验证规则ValidationAttribute的使用

概述大家在做项目的时候,在实体类上添加一些特性,可以实现后端实体的数据校验。有时候,可能需要自定义验证属性。实现原理:利用反射获取实体的每一个属性,并通过属性获取属性上标注的特性,调用特性的Validate方法&…

【百度分享】基于内核模块的测试代码编写(二)

4. 用户空间和内核空间的交互 在解决了在内核空间置入可运行代码后,需要解决的是用户空间和内核空间的交互。具体来说,需要达到以下三个功能:用户空间的程序向内核空间下的程序控制,用户空间到内核空间的数据传递,内…

linux sed 空间模式,整理:SED的模式空间与缓冲区及n,N,d,D,p,P,h,H,g,G,x解析...

sed命令n,N,d,D,p,P,h,H,g,G,x解析1、sed执行模板sed ‘模式{命令1;命令2}’ 即逐行读入模式空间,执行命令,最后输出打印出来2、p打印…

你碰到过的最难调试的 Bug 是什么样的?

我们做开发的应该都会有深刻的体会,有时候会遇到一些莫名奇妙的BUG不知所措,解决BUG到近乎崩溃,更有甚者有人居然会在梦中解决掉BUG。下面我们看几个有意思的解决Bug的故事:知乎网友李幼萌:08年的时候,我所…

java面试题1

一、基础问答 1.下面哪些类可以被继承? java.lang.Thread (T)    java.lang.Number (T)    java.lang.Double (F)    java.lang.Math (F)    java.lang.Void (F)    java.lang.Class (F)    java.lang.ClassLoader (T) 2.抽象类和接口的区别 (1)接口可以被多…

云原生 | 阿里巴巴的Dapr实践与探索

【Dapr】| 原文/敖小剑,翻译/Edison本文原文来自Dapr Blog,作者阿里云高级技术专家敖小剑。本文是我根据自己的理解翻译了其中的一部分并加了一些参考文献中的内容,所以并非完整翻译,点击本文底部“阅读原文”即可阅读原版英文全文…

linux安装grpc占用空间大,grpc linux安装-Go语言中文社区

1. go protobuf 安装Protoc Buffer 安装包下载地址:https://github.com/protocolbuffers/protobuf/releases/download/v3.9.0/protoc-3.9.0-linux-x86_64.zip(使用wget命令下载),最新版本可在此页面查看。下载完成后,解压。将解压出来的inclu…

《Objective-C基础教程》第二章 对C的扩展

.m代表message。编译工作由GCC(GNU Compiler Collection,GNU编译器集合)处理,可以理解C语言的全部3个变体。NS代码前缀表示来自Cocoa,苹果收购的NeXT Software公司开发的NextSTEP工具包。布尔类型BOOL具有YES和NO值,但使用8位存储…

阿里25k招.NET,要求WPF!

说到WPF、上位机,很多.NET开发者可能只是听过并不了解,然而随着工业4.0的火爆大势,当下.NET开发者又多了一个高薪选型,在各大招聘网站上都能找到5年经验25k左右的岗位,近日阿里对.NET的招聘,明确就要求的WP…

我们计划招收300名学员,免费攻读人工智能专业

给大家看一份最新的数据:(薪资表)2018年最新数据:python、大数据、人工智能从业者工资为什么人工智能行业的工资那么高?无论是科研院所,商业巨头还是初创企业,各行各业都在大力开发或者引进人工…

Linux查看设备 eth,lspci grep Eth,查看Linux下的各种硬件设备是否识别或存在之用

背景:Linux下的硬件有很多,如何看网卡是啥样的,声卡是啥样的有几个USB口及品牌。[rootemulMachine htdocs]# lspci |grep USB00:03.0 USB controller: Broadcom BCM5785 [HT1000] USB (rev 01)00:03.1 USB controller: Broadcom BCM5785 [HT1…

一日一技:ASP.NET Core 判断请求是否为Ajax请求

概述在写后台程序时,有时候需要知道客户端发送的是普通的请求,还是ajax 请求,最近在做项目的时候,有些地方需要判断当前的请求是不是ajax。特地找了下发现,jQuery 发出 ajax 请求时,会在请求头部添加一个名…

HttpHandler浅析

声明:本文为翻译文章,如有侵权,请告知,我将会在1个工作日内删除,谢谢. ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆ 总是想着展翅飞翔,但是却不料一直受伤,但是那寻梦的心啊,永远向往着远方. ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★…

神经网络简史:BP算法后的又一突破—信念网络

随着训练多层神经网络的谜题被揭开,这个话题再一次变得空前热门,罗森布拉特的崇高雄心似乎也将得以实现。直到1989年另一个关键发现被公布,现在仍广为教科书及各大讲座引用。多层前馈神经网络是普适模拟器( universal approximato…

Linux网络模块全局变量,()不是Linux系统的特色.

相关题目与解析UNIX是一个交互式的______操作系统,采用以全局变量为中心的模块结构。下列关于UNIX系统结构的描述中,正确的是______。A.UNIX系统是一个交互式的多用户、多任务分时操作按照变量的作用域可将变量划分为()A.公有、私有、系统B.全…

NET问答:Select 和 SelectMany 的区别

咨询区 Tarik:我已经 google 搜索了 Select 和 SelectMany 之间的区别,但我并没有找到合适的答案,我现在急切的需要知道在 Linq to SQL 时两者的区别而不是给我用Array展示...能否有人帮忙提供 Linq To SQL 的例子吗?回答区 Mike …

最好的FLV视频下载器 维棠 (支持优酷视频下载、土豆视频下载等)

维棠FLV视频下载能帮助你轻松下载国内外大多数FLV视频分享网站的视频内容;并且维棠FLV视频下载具有断点续传功能。 现在国内外出现了很多视频分享网站,每个用户都可以把自己的视频节目和其他人分享。这些网站有大量的在线视频资源,但是由于网络带宽的限…

linux ns3配置环境,Ubuntu下的NS3安装与入门

NS3的开发旨在为网络研究和教育提供开放,可扩展的网络仿真平台。简而言之,NS3提供了分组数据网络如何工作和执行的模型,并为用户提供了进行模拟实验的模拟引擎。使用ns-3的一些原因包括进行更难或不可能用真实系统执行的研究,在高…

龙芯3A5000完成流片 同主频性能追平AMD Zen1

前不久,龙芯3A5000完成流片,该CPU基于龙芯自主定义指令集LoongArch。据小道消息,SPEC06测试定点26分(base 2.5Ghz)。这个成绩已经达到预期指标,而且经过进一步优化,SPEC06成绩还有进一步优化的…