inode

Linux基础命令:rm

社会主义新天地 提交于 2019-11-27 21:15:34
linux下 rm 命令使用详解---linux删除文件或目录命令 用户可以用 rm 命令删除不需要的文件。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是断开了链接,原文件保持不变。 rm命令的一般形式为:rm [选项]... 目录... 删除指定的<文件>(即解除链接)。 -d --directory 删除可能仍有数据的目录 (只限超级用户) -f --force 略过不存在的文件,不显示任何信息,强制删除 -i --interactive 进行任何删除操作前必须先确认 -r/R --recursive 同时删除该目录下的所有目录层 -v --verbose 详细显示进行的步骤 --help 显示此帮助信息并离开 --version 显示版本信息并离开 rm删除文件原理 文件删除原理: Linux通过文件link的数量控制文件的删除,只有当一个文件不存在任何link的时候且没有程序调用的时候,文件才会被真正删除。 就rm命令而言,就是减少磁盘引用计数i_link(文件到inode的链接数量);inode节点指向存储数据的block,删除文件并不是清除inode和block,而是将文件的硬链接为0,引用计数为0 才能删除文件 注: 如果有新的数据存储或者系统通过类似fsck命令做磁盘检查的时候

Why do inode numbers start from 1 and not 0?

﹥>﹥吖頭↗ 提交于 2019-11-27 13:52:29
问题 The C language convention counts array indices from 0. Why do inode numbers start from 1 and not 0? If inode 0 is reserved is for some special use, then what is the significance of inode 0? 回答1: Usually, the inode 0 is reserved because a return value of 0 usually signals an error. Multiple method in the Linux kernel -- especially in the VFS layer shared by all file systems -- return an ino_t, e.g. find_inode_number. There are more reserved inode numbers. For example in ext2: #define EXT2_BAD

mke2fs和mkfs命令使用

半世苍凉 提交于 2019-11-27 13:46:14
1、mke2fs命令 在Linux系统下,mke2fs命令可用于创建磁盘分区上的”ext2/ext3”文件系统。 (1)语法 mke2fs(选项)(参数) (2)常用选项 -b<区块大小>:指定区块大小,单位为字节。 -c:检查是否有损坏的区块。 -f<不连续区段大小>:指定不连续区段的大小,单位为字节。 -F:不管指定的设备为何,强制执行mke2fs。 -i<字节>:指定”字节/inode”的比例。 -N<inode数>:指定要建立的inode数目。 -l<文件>:从指定的文件中,读取文件中损坏区块的信息。 -L<标签>:设置文件系统的标签名称。 -m<百分比值>:指定给管理员保留区块的比例,预设为5%。 -M:记录最后一次挂入的目录。 -q:执行时不显示任何信息。 -r:指定要建立的ext2文件系统版本。 -R=<区块数>:设置磁盘阵列参数。 -S:仅写入superblock与group descriptors,而不更改inode able inode bitmap以及bitmap。 -v:执行时显示详细信息。 -V:显示版本信息。 (3)参数 设备文件:指定要创建的文件系统的分区设备文件名。 块数:指定要创建的文件系统的磁盘块数量。 (4)实例 创建指定的ext2文件系统: $ sudo mke2fs –q /dev/hda1 2、mkfs命令 在Linux系统下

How to store one billion files on ext4? [closed]

有些话、适合烂在心里 提交于 2019-11-27 13:35:06
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 4 years ago . I only created about 8 million files, then there was no free inode in /dev/sdb1. [spider@localhost images]$ df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sdb1 8483456 8483456 0 100% /home Someone says can specify the inode count when format the partition. e.g. mkfs.ext4 -N 1000000000. I tried but got

linux软连接和硬链接(总结)

巧了我就是萌 提交于 2019-11-27 12:22:27
参考博客: https://www.cnblogs.com/fengdejiyixx/p/10821820.html https://www.runoob.com/linux/linux-comm-ln.html https://www.cnblogs.com/crazylqy/p/5821105.html 需知: 当划分磁盘分区并格式化的时候,整个分区会被划分为两个部分,即inode区和data block(实际数据放置在数据区域中)这个inode即是(目录、档案)文件在一个文件系统中的唯一标识,需要访问这个文件的时候必须先找到并读取这个 文件的 inode。 Inode 里面存储了文件的很多重要参数,其中唯一标识称作 Inumber, 其他信息还有创建时间、修改时间 、文件大小、属主、归属的用户组、读写权限、数据所在block号等信息。 硬链接(hard link):     A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。注

linux文件系统详解

时间秒杀一切 提交于 2019-11-27 12:18:53
主要结构: 磁盘组成与分区 文件系统特性 linux的EXT2文件系统 与目录树的关系 EXT2/ext3文件的存取与日志式文件系统功能 linux文件系统的运行 挂载点的意义 其他linux支持的文件系统与vfs xfs文件系统简介 1.整颗磁盘的组成 圆形的盘片(竹雅颂记录数据的部分) 机械手臂,与机械手臂上的磁头(可读写盘片上的数据) 主轴马达,可以转动盘片,让机械手臂的磁头在盘片上读写数据 2.盘片上物理组成 扇区为最小的物理存储单位,且依据磁盘设计的不同,目前主要有512Bytes与4K两种格式。 将扇区组成一个圆,那就是柱面。 磁盘分区表主要有两种格式,一种是限制较多的MBR分区表,一种是较新且限制较少的GPT分区表。 MBR分区表中,第一个扇区最重要,里面有:(1)主要开机区(master boot record,MBR)及分区表(partition table),其中MBR占有446Bytes,而partition table 则占有64Bytes。 GPT分区表除了分区数量扩充较多之外,支持的磁盘容量也可以超过2TB。 3.实体磁盘及虚拟磁盘 4.三个数据的意义 superblock:记录此filesystem的整体信息,包inode/block的总量,使用量,剩余量,以及文件系统的格式与相关信息等。 inode:记录文件的属性,一个文件占用一个inode

ext3文件系统反删除利器-ext3grep

情到浓时终转凉″ 提交于 2019-11-27 11:24:24
ext3grep的恢复原理 利用ext3grep恢复文件时并不依赖特定文本格式。首先ext3grep通过文件系统的root inode(根目录的inode一般为2)来获取当前文件系统下所有文件的信息,包括存在的和已经删除的文件,这些信息包括文件名和inode。然后利用inode信息结合日志去查询该inode所在的block位置,包括直接块、间接块等信息。最后利用dd命令将这些信息备份出来,从而恢复数据文件。 ext3grep的安装 ext3grep官方网站:http://code.google.com/p/ext3grep/ 网盘下载:http://pan.baidu.com/s/1i47ZPsT 所需的系统相关包如下: [root@localhost ~]#rpm -qa | grep e2fsprogs e2fsprogs-libs-1.39-8.el5 e2fsprogs-1.39-8.el5 e2fsprogs-devel-1.39-8.el5 以上三个都必须安装,不然后面的安装会出现问题。 下面进入编译安装阶段,过程如下: [root@localhost /opt]# tar zxvf ext3grep-0.10.2.tar.gz [root@localhost ext3grep-0.10.2]# ./configure [root@localhost ext3grep

linux文件系统-ext2文件系统

寵の児 提交于 2019-11-27 08:31:54
文件系统的作用就是 怎么管理磁盘上存储的文件,包括增删改查等 ,本文主要介绍ext2文件系统 1.ext2文件系统的整体布局 文件系统管理的单元是数据块,每个块的大小是一样的;上图中的 启动块 Boot Block 中存储的是磁盘分区信息和启动信息,不属于ext2文件系统,启动块之后才是文件系统的开始;ext2文件系统将整个磁盘分区划分成若干个同样大小的块组。 超级块(Super Block) 描述整个磁盘分区的信息,例如数据块的大小,文件系统版本号等;超级块在每个块组都有一份拷贝。 块组描述符表(GDT, Group Descriptor Table) 由很多块组描述符组成,分区有多少块组就有多少块组描述符;块组描述符中存储的是关于一个块组的描述信息,例如,这个块组的从哪里开始是inode表,哪里开始是数据块。 块位图(Block Bitmap) 本身占用一个块,其中每个Bit表示某一个块是否被使用,1表示被使用,0表示处于空闲 inode位图(inode Bitmap) 和块位图一样,本身占用一个块;其中每一个Bit表示一个inode是否可用。 inode表(inode Table) 由很多inode构成,inode中的主要信息有 文件的大小、权限、位置和连接数等 。 2.软链接和硬链接 硬链接 硬链接是两个文件名共享同一个inode,类似与智能指针 shared_ptr

理解Linux文件系统挂载参数noatime nodiratime

和自甴很熟 提交于 2019-11-27 05:05:59
很多线上服务器为了提供文件系统IO性能,会在挂载文件系统的时候指定“noatime,nodiratime”参数,意味着当访问一个文件和目录的时候,access time都不会更新。但是如果未指定上面的参数,atime则会更新。那么具体差异在哪里? 未指定 noatime,nodiratime $ touch test ; stat test ; ... Access: 2015 - 04 - 04 00 : 37 : 23.507135507 + 0800 Modify: 2015 - 04 - 04 00 : 37 : 23.507135507 + 0800 Change: 2015 - 04 - 04 00 : 37 : 23.507135507 + 0800 $ echo hello >> test ; stat test; ... Access: 2015 - 04 - 04 00 : 37 : 23.507135507 + 0800 Modify: 2015 - 04 - 04 00 : 37 : 38.018430637 + 0800 Change: 2015 - 04 - 04 00 : 37 : 38.018430637 + 0800 $ cat test ; stat test ... Access: 2015 - 04 - 04 00 : 38 : 02

ext文件系统机制原理剖析

空扰寡人 提交于 2019-11-27 04:44:41
本文原创地址:博客园骏马金龙 https://www.cnblogs.com/f-ck-need-u/p/7016077.html 将磁盘进行分区,分区是将磁盘按柱面进行物理上的划分。划分好分区后还要进行格式化,然后再挂载才能使用(不考虑其他方法)。格式化分区的过程其实就是创建文件系统。 文件系统的类型有很多种,如CentOS 5和CentOS 6上默认使用的ext2/ext3/ext4,CentOS 7上默认使用的xfs,windows上的NTFS,光盘类的文件系统ISO9660,MAC上的混合文件系统HFS,网络文件系统NFS,Oracle研发的btrfs,还有老式的FAT/FAT32等。 本文将非常全面且详细地介绍ext家族的文件系统,中间还非常详细地介绍了inode、软链接、硬链接、数据存储方式以及操作文件的理论,基本上看完本文,对文件系统的宏观理解将再无疑惑。ext家族的文件系统有ext2/ext3/ext4,ext3是有日志的ext2改进版,ext4对相比ext3做了非常多的改进。虽然xfs/btrfs等文件系统有所不同,但它们只是在实现方式上不太同,再加上属于自己的特性而已。 4.1 文件系统的组成部分 4.1.1 block的出现 硬盘的读写IO一次是一个扇区512字节,如果要读写大量文件,以扇区为单位肯定很慢很消耗性能,所以Linux中通过文件系统控制使用"块