L011系统文件属性知识进阶详解小节

这节课的内容相对来说较少,一上午加中午就听完了,现在总结一下,最后会有一个相关的面试题。

首先先附上一张图:

今天学习主要跟①和②有关,①为Inode 号 ②为文件类型以及权限(第一位为文件的类型第二到第十位为权限表示)

一、文件类型及权限

  1. [root@moban ~]# ll
  2. total
  3. -rw-r--r-- root root Mar : .log
  4. -rw-r--r-- root root Apr : .log
  5. -rw-r--r-- root root Apr : .log
  6. drwxrwxrwx. root root Mar :
  7. -rw-r--r-- root root Mar : a.log
  8. -rw-------. root root Mar : anaconda-ks.cfg
  9. lrwxrwxrwx root root Mar : apache -> /root/ti/application/apache2.2.17/
  10. drwxr-xr-x root root Mar : application

就以第10行的application权限为例看下图

通过图片意义明了,每三个为一个权限位。

r read 可读
w write 可写
x Execute 执行权限
- 没有任何权限

二、硬链接

不同的文件名且具有同样的Inode为硬链接。

  1. [root@moban ~]# ll -i
  2. total
  3. -rw-r--r-- root root Mar : .log
  4. -rw-r--r-- root root Apr : .log
  5. -rw-r--r-- root root Apr : .log
  6. drwxrwxrwx. root root Mar :
  7. -rw-r--r-- root root Mar : a.log
  8. -rw-------. root root Mar : anaconda-ks.cfg
  9. lrwxrwxrwx root root Mar : apache -> /root/ti/application/apache2.2.17/
  10. drwxr-xr-x root root Mar : application

第4行和第5行为硬链接,因Inode都为394,也可以理解他们的入口(Inode)相同

关于硬链接的小节:

  1. 不同的文件名具有相同的inode,为硬链接。
  2. 删除硬链接文件或者删除源文件之一,文件实体并未删除。
  3. 只有删除了源文件和所有对应的硬链接文件,文件实体才会被删除。
  4. 当所有的硬链接文件及源文件被删除后,再存放新的数据会占用此文件的空间,或者磁盘fsck检查的时候,数据也会被回收。
  5. 硬链接文件是文件的又一个入口。
  6. 可以通过给文件设置硬链接文件,来防止重要文件被误删。
  7. 通过ln命令来创建硬链接,无需参数。
  8. 硬链接可以直接使用rm命令来删除。

三、软连接(又叫符号连接)

查看软连接的参数:readlink

  1. [root@moban ~]# readlink apache
  2. /root/ti/application/apache2.2.17/

关于软连接的小节:

  1. 软连接类似windows里面的快捷方式,软连接里面存放的是源文件的路径,并且指向源文件。
  2. 删除源文件,软连接文件依然存在,但是无法访问指向源文件的内容。
  3. 通过ln -s 命令来创建软连接
  4. 软连接和源文件是不同类型的文件,也是不同的文件,inode号不同。
  5. 软连接的删除用rm -f

四、目录创建连接

  1. 对于目录,不可以创建硬链接,但是可以创建软连接。
  2. 对于目录软连接是生产场景运维中常用的技巧。(例如apache的那个考题)。
  3. 目录的硬链接不能跨越文件系统(从原理可以理解)。
  4. 每个目录下面都有一个硬链接“.”号和上级目录的连接“..”
  5. 在目录里创建一个目录,父目录的连接数会增加1(子目录中都有..来指向父目录),但是在父目录里创建文件,父目录的连接数不会增加。

企业面试题

简单描述一下linux文件的删除原理

答:

以下两个条件同时具备(也就是i_link和i_count都为0时才可删除)

1、控制文件删除:文件的硬连接数:创建一个硬链接i_link +1,减少一个硬链接i_link -1 i_link=0文件就被删除了

2、是否有进程占用这个文件,有一个进程占用这个文件i_conut+1,当i_count=0时,没有进程调用(i_count=0)。 文件就可以被删除了

总:当i_link=0并且i_count=0,文件才会真正的被删除

L011系统文件属性知识进阶详解小节的更多相关文章

  1. L012-linux系统文件属性知识深入详解小结

    L012-linux系统文件属性知识深入详解小结 最近的学习重点不在这上面,所以更新的比较慢,再加上母亲住院,感情问题,一系列吧,愿快点度过这黑色的4月份,希望我能在5月份阳光起来,加油! 回归正题 ...

  2. Jenkins企业应用进阶详解(一)

    Jenkins企业应用进阶详解(一) 链接:https://pan.baidu.com/s/1NZZbocZuNwtQS0eGkkglXQ 提取码:z7gj 复制这段内容后打开百度网盘手机App,操作 ...

  3. [r]Ubuntu Linux系统下apt-get命令详解

    Ubuntu Linux系统下apt-get命令详解(via|via) 常用的APT命令参数: apt-cache search package 搜索包 apt-cache show package ...

  4. L009文件属性知识详解小节

    本堂课分为5部分内容 1.linux下重要目录详解 2.PATH变量路径内容 3.linux系统中文件类型介绍 4.linux系统中文件属性详细介绍 5.linux系统文件属性inode与block知 ...

  5. 基础知识redis详解--【Foam番茄】

    Redis 学习方式: 上手就用 基本的理论先学习,然后将知识融汇贯通 nosql讲解 为什么要用Nosql 现在都是大数据时代 大数据一般的数据库无法进行分析处理了 至少要会Springboot+S ...

  6. Android核心分析之十五Android输入系统之输入路径详解

       Android用户事件输入路径 1 输入路径的一般原理 按键,鼠标消息从收集到最终将发送到焦点窗口,要经历怎样的路径,是Android GWES设计方案中需要详细考虑的问题.按键,鼠标等用户消息 ...

  7. Centos系统各种日志存详解

    Centos系统各种日志存储路径和详细介绍 Linux常见的日志文件详述如下 1./var/log/boot.log(自检过程) 2./var/log/cron (crontab守护进程crond所派 ...

  8. Android系统输入事件分发详解

    什么是输入事件? 我们知道,运行android系统的设备本质上是一台计算机,使用者在和计算机进行交互的时候可以抽象成简单的对计算机的输入和输出(IO).那么对于运行在计算机上的操作系统来说,操作系统在 ...

  9. Selenium基础知识(详解IDE命令、css及xpath定位一)

    1. ide常用命令,参考 http://sariyalee.iteye.com/blog/1743350  2. ide介绍,参考 http://blog.csdn.net/oscar999/art ...

随机推荐

  1. bzoj2816 [ZJOI2012]网络

    Description http://www.lydsy.com/JudgeOnline/upload/zjoi2012.pdf 正解:$link-cut \ tree$. $LCT$板子题,直接维护 ...

  2. Python机器学习神器:sklearn&numpy

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDE0MDMzOA==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  3. MyBatis(8)延迟加载&缓存

    什么是延迟加载? resultMap可以实现高级映射,association,collection具有延迟加载的功能.   当我们需要查询某个信息的时候,再去查询,达到按需查询,就是延迟加载   可以 ...

  4. 解决 git pull 报错 fatal: refusing to merge unrelated histories

    我在Github新建一个仓库,写了License,然后把本地一个写了很久仓库上传. 先pull,因为两个仓库不同,发现refusing to merge unrelated histories,无法p ...

  5. UVALive4682 XOR Sum

    UVALive4682 XOR Sum 题意 给定一个数组, 求连续子序列中异或值最大的值. 题解 假设答案区间为 [L, R], 则答案为 XOR[L, R], 可以将区间分解为 XOR[L,R] ...

  6. ZooKeeper系列(3)--基于ZooKeeper实现主从协作

    基于ZooKeeper实现主从协作 主-从模式的模型中,主要包括三个角色: 主节点:主要负责监视新的节点和任务,分配任务给可用的从节点; 从节点:通过注册自己,确保主节点看到它们可以执行任务,收到主节 ...

  7. 系统优化怎么做-SQL优化

    大家好,这里是「聊聊系统优化 」,并在下列地址同步更新 博客园:http://www.cnblogs.com/changsong/ 知乎专栏:https://zhuanlan.zhihu.com/yo ...

  8. 记一次简单的UITableView卡顿优化

    先说需求,要做一个类似这种的列表 标签控件直接用的第三方 YZTagList 不知道的可以去搜一下,当这不重要. 重要的是这个控件加载数据的时候非常影响列表滑动效果,造成卡顿,尤其是列表行数如果更多的 ...

  9. 丑数(Ugly Numbers, UVa 136)

    丑数(Ugly Numbers, UVa 136) 题目描述 我们把只包含因子2.3和5的数称作丑数(Ugly Number).求按从小到大的顺序的第1500个丑数.例如6.8都是丑数,但14不是,因 ...

  10. 利用mysqlbinlog_flashback闪回丢失数据

            today,i'll have a test with the open source tool mysqlbinlog_flashback which is released by ...