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

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

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

 

首先先附上一张图:

 

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

 

一、文件类型及权限

 1 [root@moban ~]# ll
 2 total 7748
 3 -rw-r--r--   1 root root       2 Mar 30 13:28 2.log
 4 -rw-r--r--   2 root root       4 Apr 17 23:36 3.log
 5 -rw-r--r--   2 root root       4 Apr 17 23:36 4.log
 6 drwxrwxrwx.  2 root root    4096 Mar 22 14:11 963
 7 -rw-r--r--   1 root root       8 Mar  6 01:26 a.log
 8 -rw-------.  1 root root    1108 Mar 17 14:42 anaconda-ks.cfg
 9 lrwxrwxrwx   1 root root      34 Mar  7 05:53 apache -> /root/ti/application/apache2.2.17/
10 drwxr-xr-x   3 root root    4096 Mar  7 05:43 application

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

 

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

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

二、硬链接

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

 1 [root@moban ~]# ll -i
 2 total 7748
 3    194 -rw-r--r--   1 root root       2 Mar 30 13:28 2.log
 4    394 -rw-r--r--   2 root root       4 Apr 17 23:36 3.log
 5    394 -rw-r--r--   2 root root       4 Apr 17 23:36 4.log
 6     82 drwxrwxrwx.  2 root root    4096 Mar 22 14:11 963
 7    392 -rw-r--r--   1 root root       8 Mar  6 01:26 a.log
 8   4528 -rw-------.  1 root root    1108 Mar 17 14:42 anaconda-ks.cfg
 9   4608 lrwxrwxrwx   1 root root      34 Mar  7 05:53 apache -> /root/ti/application/apache2.2.17/
10   4601 drwxr-xr-x   3 root root    4096 Mar  7 05:43 application

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

关于硬链接的小节:

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

 

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

查看软连接的参数:readlink

[root@moban ~]# readlink apache
/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,文件才会真正的被删除

 

posted @ 2016-04-18 15:29  别动那颗白菜  阅读(374)  评论(0编辑  收藏  举报