linux删除原理

1、 linux文件的概述
 linux系统中文件和目录的属性主要包括:索引节点号(inode)、文件类型及权限、硬链接的数量、文件或目录所属的用户(属主)、文件或目录所属的组(属组)、文件的大小、文件的修改时间、实际的文件名或目录名。
 ls -lhi 执行结果的分析

2、 inode 索引节点2.1 基本特点
 磁盘(存储设备)被分区格式化为ext4系统后,会生成两部分内容:inode和block(两者都有很多个)。
 inode是用来存放文件的属性的以及作为文件的索引(指向文件的实体),所以inode本身是有大小的,在Centos5系列中inode默认大小是128字节,Centos6系列中inode默认大小是256字节。
 inode除了存放文件的属性信息外,还会存放执行数据块的指针
 block是用来存放实际数据的,常见的一个block的大小为4K,其引导分区为1K,其它的普通分区为4K。
 inode中不包含文件名,因为文件名不属于文件的属性。
 索引节点号表现形式是一串数字,像每个人的×××号一样,是唯一的。
 系统在读取文件的时候,首先通过文件名找到inode号,然后才能读取到文件的内容。
 inode节点号相同的文件,互为硬链接,可以理解为是同一个超市的不同入口。
 ext3/ext4 文件系统下,一个文件占用且只能占用一个inode。
 ext3/ext4文件系统下,一个文件被创建后,至少要占用一个inode和一个block。
 若一个文件很大(如高清片),则它需要占用多个block,若一个文件很小(如只有0.01K)那么它将占用一个block,且剩余的空间就浪费了,即不能在存储其他东西了。2.2 查看inode和block的大小
[root@oldboy test]# dumpe2fs /dev/sda3 |egrep -i "inode size|block size"
dumpe2fs 1.41.12 (17-May-2010)
Block size: 4096
Inode size: 2562.3 block
 磁盘读取数据按block为单位进行读取的
 一个文件可能会占用多个block,但是每读取一个block就会消耗一个磁盘IO
 若要提升磁盘IO性能,那么就需要一次读取的数据尽可能的多
 一个block只能存放一个文件,无论内容有多大,假设一个block的大小为4K,那么存放一个1K的文件,剩下的空间就不能在存储数据了,只能浪费掉,
 block并不是越大越好,太大时对于存放小文件会浪费磁盘空间,一般根据业务的文件大小进行选择,一般Centos6默认就是4K
 可以在格式化的时候改变inode和block的大小 
 格式化的命令:mkfs.ext4 -b 2048 -I 256 /dev/sdb 其中 -b是指定block的大小,-I是指定inode的大小2.4 相关的面试题
 【题目】
磁盘空间满了,写不进去东西,有3种情况。
第一种:block满了,可以用df -h 查看。看Use%,删除一些文件即可
第二种:inode满了,可以用df -i查看,看IUse%,删除一些小的(不用的)文件即可
第三种:硬链接数为0,进程调用数不为02.5 linux软硬连接
2.5.1 硬链接的创建过程
 ln 源文件 目标文件
2.5.2 硬链接的原理图
2.5.3 硬连接的特点
 多个文件共享同一个索引节点,不占用实际空间 
 硬链接是一个文件的多个入口(可以理解为一个超市具有多个入口一样)
 只要连接数不为0,文件就存在,所以硬链接可以防止文件误删除
 删除源文件或硬链接的任意一个,则文件实体并不会被删除,只有同时删除源文件和其所有硬链接,文件实体才会被删除
 硬链接文件是普通文件,可以用rm命令删除
 对于静态文件(即没有被进程调用的文件),当i_link数为0时,文件就被删除了(i_link的查看方法ls –l 的第三列)2.6 软连接
2.6.1 软连接的创建过程
 ln -s 源文件 目标文件
2.6.2 软连接的原理图
2.6.3 软连接的特点
 软连接类似与windows下的快捷方式(可以通过readlink查看其指向)
 删除源文件时,软连接仍然存在,但是无法访问指向源文件的内容了
 软连接失效时一般是白字红底闪烁提示
 软连接和源文件是不同类型的文件,文件也不同,inode节点号也不同
 软连接的类型是l,可以用rm命令删除2.7 文件连接的总结
 删除软连接文件对源文件和硬链接文件无任何影响
 删除硬链接文件对源文件和软连接文件无任何影响
 删除源文件对硬链接文件无影响,但是会导致软连接文件失效,有白字红底闪烁提示
 硬链接和源文件具有相同的inode号,可以认为是同一个文件,也可以理解为一个文件具有多个入口
 软连接和源文件具有不同的inode号,是不同的文件,软连接是源文件的快捷方式,具有源文件的位置指向
 软硬连接的图形理解2.8 目录连接文件的总结
 目录不可以创建硬链接,但是可以创建软连接
 目录的硬链接不能跨越文件系统(从硬链接的原理进行理解)
 每个目录下面都有一个硬链接 . 号,和对应上级目录的硬链接 ..
 在父目录下创建一个子目录,则父目录的硬链接数加1(因为在子目录里面都有一个 .. 指向父目录),但是在下面创建文件,父目录的硬链接数不会增加2.9 软硬连接的区别
 硬链接文件和源文件共享一个inode号,软连接文件和源文件具有不同的inode号
 创建硬链接和软连接的过程不同(创建硬链接 ln 源文件 目标文件 创建软连接 ln -s 源文件 目标文件)
 删除源文件,硬链接可以访问,软连接不能访问
 目录可以创建软连接,不能创建硬链接
 软连接不能修改源文件的名字,硬链接可以修改
 软连接可以跨系统,硬链接不可以
 删除软硬连接不影响源文件,删除硬链接,连接数减12.10 linux文件的删除原理
 linux文件的删除由两个东西控制:i_link(硬链接数)和i_count(进程的调用数),只有当两者的数值都为0时文件才被删除
 用rm来删除 使得i_link为0 重启使用这个文件的进程 使得i_count为0
 linux删除原理的图解注意:只有让i_link和i_count的值都为0 文件才会被删除
删除文件的权限是受父目录的控制和文件本省的权限无关

摘自博客园

linux 创建软连接_linux删除原理相关推荐

  1. linux 查看软连接_linux删除原理

    linux删除原理 1. linux文件的概述  linux系统中文件和目录的属性主要包括:索引节点号(inode).文件类型及权限.硬链接的数量.文件或目录所属的用户(属主).文件或目录所属的组( ...

  2. linux创建软连接、删除软连接、修改软连接

    创建: ln -s [目标目录] [软链接地址] ln -s /usr/local/python3/bin/python3 /usr/bin/python3 ln -s /usr/local/pyth ...

  3. Linunx创建软连接、删除软连接、修改软连接

    Linunx创建软连接.删除软连接.修改软连接 创建: ln -s [目标目录] [软链接地址] ln -s /usr/local/python3/bin/python3 /usr/bin/pytho ...

  4. linux python软连接_Linux软链接的创建,删除,修改

    什么是Linux的软连接,Linux软链接就好比windows系统的快捷键.当你点击了这个软连接,它将跳转对应的目标路径. 创建软连接ln -s [目标目录] [软链接地址] [目标目录]指软连接指向 ...

  5. linux创建软连接记录

    创建软连接 1.背景介绍 2.方案 2.1.创建 2.2.删除 3.总结 1.背景介绍 我们知道在linux中经常需要复制文件,但是由于内存限制,我们可以选择创建软连接,那么如何创建呢?可以使用下面的 ...

  6. 创建软连接与删除软连接

    创建软连接: ln -s /Users/xx  . 格式:ln -s 源文件 目标文件 删除软连接: ls 目标文件 找到对应软连接 rm即可

  7. 软连接和硬连接(Linux创建软连接一定要用绝对路径)

    一.Linux连接文件 Linux有两种连接文件:符号连接(软连接)和硬链接,符号链接类似Windows下的快捷方式.硬链接通过文件系统的inode连接来产生新文件名,而不是产生新文件. inode: ...

  8. linux mysql 软连接_linux 软连接的使用

    软连接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接. 具体用法是:ln -s 源文件 目标文件. 当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需 ...

  9. Linux创建用户和删除用户

    刚刚在实验室CPU服务器上创建账号的时候发现出现以下提示: root@user:~# adduser 20testuser adduser: Please enter a username match ...

  10. curl linux 数组参数_Linux系统调用原理

    作者:songsong001 来源:微信公众号:Linux内核那些事 出处:https://mp.weixin.qq.com/s?__biz=MzA3NzYzODg1OA==&mid=2648 ...

最新文章

  1. 高等学校计算机规划教程,高等学校计算机应用规划教材:计算机组成原理简明教程...
  2. matlab处理abaqus_Abaqus/用Abaqus进行参数分析(python+maltab助攻)
  3. 01.SQLite 教程(http://www.w3cschool.cc/sqlite/sqlite-tutorial.html)
  4. 模板缓冲_模板缓冲以及如何使用它可视化体积相交
  5. 【小游戏】俄罗斯方块(C++版)
  6. PHP下载CSS文件中的图片
  7. JavaTPoint 编程语言中文教程【翻译完成】
  8. 配图做设计、找图找灵感交给素材路SUCAI63
  9. python用户标识符条件_使用sum(if…)或条件语句操作两个数据集,这些语句没有hivehadooppython的公共标识符...
  10. Linux操作Oracle(7)—连接Oracle12C 或 OracleRac 出现 ORA-28040: No matching authentication protocol,没有匹配的验证协议
  11. html手机页面怎么长按不出复制,HTML -----对于手机页面长按会粘贴复制的禁用
  12. 技术员 Ghost Win10 x86 装机版/纯净版 201710
  13. 值得推荐的C/C++框架和库
  14. xshell通过隧道连接_如何在xshell中创建一个SSH隧道
  15. CPU频率和单位换算
  16. java文本框失去焦点事件,jQuery 文本框得失焦点的简单实例
  17. 给出问题一个临时解决方案(110224)
  18. 灵活操作MS SQL 2005 中的数据库 - 分离、附加、离线、在线、日志截断
  19. 几何公差标注示例及解释——直线度
  20. 研发团队专业能力提升

热门文章

  1. 【优化算法】搜索引擎优化算法(BES)【含Matlab源码 1426期】
  2. 【费用预测】基于matlab粒子群算法优化ELM神经网络预测费用【含Matlab源码 1378期】
  3. 【车辆检测】基于matlab yolo v2车辆检测识别【含Matlab源码 581期】
  4. 【语音识别】基于matlab MFCC GMM语音识别【含Matlab源码 535期】
  5. 例4.5 最小公倍数 - 九度教程第48题(最小公倍数)
  6. java语言的数据类型_Java语言的数据类型
  7. s查看oracle空间分配,Oracle查看表空间使用率(包括临时表空间)
  8. java swing有趣编程_java(swing编程)如何这个简单效果?
  9. html word 打开,HTML以Word或Excel打开
  10. 支持各硬件平台的机器学习模型 AWS发表新开源项目