linux 权限 467,Linux 文件和目录的属性及权限

spacer.gif8d51644a04d1c9b6a5160d81ac419a04.png

一、权限位说明

Linux 文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件属主(Owner)的读、写、执行,用户组(Group)的读、写、执行以及(Other)其它用户的读、写、执行:

文件属主(Owner):读 read、写 write、执行 x

文件用户组(Group):读 r、写 w 、执行 x

其它用户(Other):读 r、 写 w、 执行 x

如果权限位不可读、不可写、不可执行,则用|来表示。

后面还会有特殊的权限位:t T s S X +

spacer.gif3d4fcd515b8a3b1c686e0bb240745e22.png

Linux 系统硬链接和软链接

1.【链接的概念】

在 Linux 系统中,链接可分为两种:一种为硬链接(Hard Link),另一种为软链接或符号链接(Symbolic Link)。ln命令就是创建链接文件的,在默认不带参数的情况下,执行ln命令创建的链接是硬链接。

如果使用ln -s 创建链接则为软链接。

1.1【硬链接】

硬链接是指通过索引节点(Inode)来进行链接。在Linux(ext2,ext3)文件系统中,保存在磁盘分区中的文件不管是什么类型都会给它分配一个编号,这个编号被称为索引节点编号(Inode Index)简称 Inode,即在系统中文件的编号。

在linux文件系统中,多个文件名指向同一个索引节点(Inode)是正常且允许的。这种情况的文件就称为硬链接。硬链接的作用之一是允许一个文件拥有多个有效路径名(多个入口),这样用户就可以建立硬链接到重要的文件,以防止“误删”源数据(很多硬件存储,如netapp)存储中的快照功能就应用了这个原理,增加一个快照就多了一个硬链接)。为什么一个文件建立了硬链接就会防止数据误删呢?

因为文件系统(ext2)的原理是,只要文件的索引节点(Inode Index)还有一个或一个以上的硬链接。只删除其中一个链接(即仅仅删除了该文件的链接指向)并不影响索引节点本身和其它的链接(即数据文件实体并未被删除),只有当文件的最后一个链接被删除后,此时如果有新数据要存储到硬盘上时或者系统通过类似fsck做磁盘检查的时候。被删除文件的数据块及目录的链接才会被释放,空间被新数据占用并覆盖。此时,数据就再也无法找回了。也就是说,在linux系统中,删除静态文件(目录也是文件)的条件是与之相关的所有硬链接文件均被删除。提示:硬链接就相当于文件的另外一个入口。

硬链接原理图:

spacer.gif12db452ca8f0d29943de1c00072d6474.png

硬链接示意图:

spacer.gif3ce5b30e2d05182e4402afb919b50095.png

硬链接删除原理图:

spacer.gif86036a2a4cf26ca897244270cabc33fe.png

1.2【软链接】

软链接也称为符号链接(Symbolic Link)。linx 里的软链接文件就类似于 Windows 系统中的快捷方式。它实际上是一个特殊的文件。在软链接的文件。在软链接中,软链接文件实际上就是一个文本文件,这个文件包含有软链接指向另一源文件的位置信息内容,因此,通过访问这个“快捷方式”就可以迅速定位到软链接所指向的源文件实体。

软链接原理图:

spacer.gif40985fb15f17b5c4415b87f80605b35d.png

查看软链接的 value:

readlink Print value of a symbolic link or canonical file name

[root@localhost application]# readlink apache

/application/apache2.2.17/

[root@localhost application]# ll

总用量 8

lrwxrwxrwx. 1 root root   26 3月  13 07:43 apache -> /application/apache2.2.17/

drwxr-xr-x. 2 root root 4096 3月  13 20:17 apache2.2.17

drwxr-xr-x. 2 root root 4096 3月  13 21:45 apache2.2.18

软链接的创建:

执行命令“ln -s 源文件  软链接文件”,即可完成创建软链接。

小结:

1)软链接类似 windows 里的快捷方式,软链接里面存放的源文件的路径,并且执行源文件。

2)删除源文件,软链接文件依然存在,但是无法访问指向的路径内容了。

3)执行命令“ln -s 源文件  软链接文件”,即可完成创建软链接。

4)软链接和源文件是不同类型的文件,也是不同的文件。inode 号不同。

5)rm -f 软链接文件的删除

2.1 文件示例:

spacer.gif351663ecf42ff3ae15d32db33ea4e852.png

硬链接文件的连接数增加了。

spacer.gifc966288ecf7e425cea21f6852498a9f9.png

2.2 目录示例

spacer.gifcd1eb10b9407987c5a3f6653d6fe0f83.png

小结:ln 命令不能对目录创建硬链接,但可以对目录创建软链接,对于目录的软链接也是生产场景运维中常用的功能。

说明:oldboydir 下的两个点表示上级目录,因此,和 oldboydir 的上级目录 oldboy 具有相同的节点号。

2.3【删除示例】

[root@localhost oldboy]# echo "I am oldboy" >oldboyfile

[root@localhost oldboy]# cat oldboyfile

I am oldboy

[root@localhost oldboy]# cat oldboy_file_hard_link

I am oldboy

[root@localhost oldboy]# cat oldboy_file_soft_link

I am oldboy

结论:往源文件 oldboyfile 里面写入内容后,它的软硬链接文件都有相同的内容。

spacer.gifde11070faec4dc63fb10783fd3748a1c.png

提示:内容还在,其实就是因为 oldboyfile_hard_link 硬链接存在,因此即使删除了源文件 oldboyfile,但是仍有硬链接指向着文件的 INODE 节点,所以,此时文件才不会被释放删除,当删除文件 oldboyfile 时,仅仅删除了 oldboyfile 到该文件 INODE 节点的链接而已,此时还有 oldboyfile_hard_link 硬链接在指向同一个 INODE 节点。

[root@localhost oldboy]# cat oldboyfile_hard_link

cat: oldboyfile_hard_link: 没有那个文件或目录

#由于软链接仅仅为源文件 oldboyfile 的快捷方式,所以,此时在访问软链接文件,发现无法访问了,文件不存在的错误。

小结:通过上面的测试可以看出:当删除原始文件 oldboyfile 后,其硬链接文件 oldboyfile_hard_link 不受影响,对应的数据依然存在,但是其对应的软链接文件 oldboyfile_soft_link 失效了,找不到源文件了,此时,可以删除软件连接文件重新创建,或者创建一个 oldboyfile_hard_link 的硬链接文件 oldboyfile。

3、【链接总结】

3.1【有关文件的链接小结】

一、删除软链接 oldboyfile_soft_link,对 oldboyfile,oldboyfile_hard_link 无影响;

全局结论:删除软链接文件对源文件及硬链接文件无任何影响。

二、删除硬链接 oldboyfile_hard_link,对 oldboyfile,oldboyfile_soft_link 都无影响;

全局结论:删除硬链接文件对源文件及软链接文件无任何影响。

三、删除原文件 oldboyfile,对硬链接 oldboyfile_hard_link 没有影响,但是会导致软链接 oldboyfile_soft_link 失效;

全局结论:删除原文件,对硬链接文件没有影响,但是会导致软链接文件失效,白字红底闪烁。

四、同时删除原文件 oldboyfile,硬链接 oldboyfile_hard_link,整个文件会真正的被删除。

五、很多硬件设备中的快照功能,就是利用了硬链接的原理。

六、源文件和硬链接文件具有相同的索引节点号,可以认为是同一个文件或一个文件的多个入口。

七、源文件和软链接文件索引节点号不同,是不同的文件,软链接相当于源文件的快捷方式,含有源文件的目录的位置指向。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值