unix文件的相关介绍——文件权限和链接

本文深入解析Unix文件系统的内部结构,包括inode的概念及其作用,文件权限的设置与更改方法,以及硬链接与符号链接的区别和创建方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

unix系统使用inode来表示内部的文件。里面存储了有关于文件大小,类型,链接数、权限等等信息。
1、可以对一个文件使用stat命令来查看信息,一般得到的结果如下

[root@localhost sharedfolder]# stat temptwo
 File: “temptwo”
 Size: 11         Blocks: 8          IO Block: 4096   一般文件
Device: fd00h/64768d Inode: 3179306     Links: 2
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2014-11-30 09:58:48.000000000 +0800
Modify: 2014-11-30 09:58:48.000000000 +0800
Change: 2014-11-30 09:58:48.000000000 +0800


需要解释的几个名词:
IO block 指IO簇,简单的理解就是系统中最小的存储单元(硬盘上),所有的文件大小都是这个的整数倍(这里是4K,不同的系统也会不同)
Inode  索引节点(index node) 唯一的标识(unix文件组织应该是树形的)必须通过这个才能找到数据存储的位置 
Links 硬链接数 表示有多少个文件名指向了这个节点(后面细将)

2.文件权限
0644/-rw-r--r-- 0644是八进制,对应每个位。一种有十二位,前面3位表示文件类型(3bit,7种类型,每一个类型均有一个特定符号),后面的9bit可以认为是3bit为一组,分别对应所有者、组、全局的权限读、写和执行权限。
文件类型,有以下其中
有以下:目录(d)、套接字(s)、字符设备文件(c)、块设备文件(b)、管道(p)、链接文件(一般指软连接)(l)、普通文件(-),其中套接字和设备文件以及管道是不是很熟悉?想想在程序中是通过什么来表示的?——文件描述符

权限的说明,r(表示可读) w(表示可写) x(表示可执行),注意:文件夹的可执行表示可以访问该文件夹的内容

至于更改文件的权限,可以使用chmod

3、修改新建文件的默认权限
使用umask程序,默认的为0022,对应于前面所讲的各个bit位,但是此处表示的意思是屏蔽,即指定位置为1表示没有改权限,为0则表示具备权限。还需要注意的是,普通文件默认是没有执行权限的,及时此处umask没有屏蔽掉该该bit位,而文件夹的权限,则需要看有没有屏蔽响应的bit位。

4、链接
分为硬链接和符号链接(也成为软链接,不过最好记忆为符号链接,命令中会通过关键字(s,是symbol?是soft?)来指定操作的类型,不过还有个api是symlink)


硬链接可以简单的认为是指向该inode的“指针”,这种“指针”在unix系统中被称为目录项,基本的内容为[文件名+inode],它对应一个硬链接。从它的结构可以看出,一个文件名只能对应一个目录项,但是可以创建多个硬链接(也就是多个目录项),令其文件名不同而inode相同。那也就有个很多指向同一个indoe的硬链接。需要注意的是,inode中含有记录实际数据块的存储位置的信息,所以通过上述任意一个文件名对inode的指向的数据块进行修改,都会对其他也会生效,因为他们是共享这一个数据内容的备份,所以创建新的硬链接也不会消耗实际的存储空间。
如果删除文件,那inode会不会被删除?那就需要看links的数目了。当连接数为0时就会被删除,否则不会。
具体创建硬链接的命令为 ln


符号链接就是重新创建一个inode,不过这个inode的类型是链接文件,inode对应的存储空间里面存储的是一个硬链接。因此,创建符号链接不会影响对应对应inode的链接数。同时,如果删除这个硬链接的话,这个符号链接也会随之失效。可以讲符号链接视为快捷方式。


创建符号链接的命令为 ln -s。
硬链接和符号链接均可由ln命令创建。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值